[CONNECT C++] Basis Range vs. Element Range

What's the difference between an element range and a basis range?

DisplayHandler::GetBasisRange() Returns false (and the standard element range) if no basis range/transform is available.

In my experience, the method returns true and sets the range to zero.  mdlElement_extractRange() continues to behave as one would expect.

There's also DisplayHandler::SetBasisRange().  I don't understand what that function does.

Parents Reply Children
  • The idea was to allow elements (i.e. extended elements created by applications) to store/return an element aligned vs. axis aligned box that fits their geometry. Similar to the range diagonal for cells/shared cells. A basis range would typically be centered around 0, the basis transform denotes the local to world transform.

    In practice I haven't found it "generally" useful as it wasn't required to be implemented, meaning you need a fallback for dealing with elements that don't store/return a valid basis range anyway. So, it mostly ends up being useful to applications when dealing with their own elements.


    Answer Verified By: Jon Summers