SOLVED Bounding box transform

Hello,

Is there any way to multiply the bounding box of an ObjectData::GetDimension() with an arbitrary transform?

I get that the bounding box is always multiplied by the object's global matrix, but our workflow allows us to display a modifier at an earlier stage, where it should have a different global matrix. I can fix the object's display with BaseDraw, but it the bounding box ignores it.

An an example, I corrected this object object display on BaseDraw to move it to the upper plane, but the bounding box is still attached to the bottom plane.

Screen Shot 2021-05-13 at 19.04.45.png

Thanks,
Roger

Hello @rsodre,

thank you for reaching out to us.

Is there any way to multiply the bounding box of an ObjectData::GetDimension() with an arbitrary transform?

No, you can neither pass a custom orientation to GetDimension nor are there other ways of achieving the same result (that I am aware of).

I get that the bounding box is always multiplied by the object's global matrix, but our workflow allows us to display a modifier at an earlier stage, where it should have a different global matrix. I can fix the object's display with BaseDraw, but it the bounding box ignores it.

I am a bit fuzzy on how your workflow works exactly, but please note that we cannot provide support for usage of the SDK that fundamentally deviates from SDK design patterns; e.g., how a deformer should be implemented. For details on scope of support please refer to the Forum Guidelines.

But out of the box, a MyGeometry::GetVirtualObjects and MyDeformer::ModifyObject combo will handle the bounding box of MyGeometry properly, including the example you do show in your image. If you break with this common pattern on how to implement a deformer, it might be beneficial to implement the geometry as point object, as you there get the bounding box basically for free. But in the end, this all is very speculative due to the lack of information what your workflow is.

To receive more support, I must ask you to clarify what your workflow is. And as a fair bit of warning, if the approach is very special, there is a good chance that we will say 'not suupported' (which does not mean that it would be impossible to do).

Cheers,
Ferdinand

PS: Please also add tags to your posting, I did add C++ for you, but you will have to add there rest yourself.

Thanks @ferdinand, I think that clarifies my issue. I'll what I can do here.