For all issues regarding the Forums use, please, refer to the Forum Rules.

Our Solutions

Need professional assistance?
Consider our:

Support Offerings


Need to speed up your development?
Have a look at our:

Samples & Tools


Need some functionality extending standard OCCT capabilities?
Check out our:

Adv. Components

Related pages

wrong location of selection entities of AIS_Trihedron

Alexander Bovsunovsky's picture

If I create the AIS_Trihedron object and then start moving it by AIS_InteractiveContext::SetLocation(), the presentation of the object and selection entities of mode=0 moves as expected. However, the entities of any other selection mode (origin,axis,planes) remain at initial place defined by Geom_Axis2Placement object.It happens because that entities are binded to the independent interactive objects stored inside AIS_Trihedron.
I expect to move the entities of any selection mode without re-creating the parent object. In order to fix that I have re-implemented the following virtual functions in AIS_Trihedron class:
void AIS_Trihedron::SetLocation(const TopLoc_Location& aLoc)
SetTransformation(new Geom_Transformation(aLoc.Transformation()));
for (Standard_Integer i=0; i {
myShapes[i]->SetTransformation(new Geom_Transformation(aLoc.Transformation()));
void AIS_Trihedron::ResetLocation()
for (Standard_Integer i=0; i {
void AIS_Trihedron::UpdateSelection()
for (Standard_Integer i=0; i myShapes[i]->UpdateSelection();
void AIS_Trihedron::UpdateSelection(const Standard_Integer aMode)
for (Standard_Integer i=0; i myShapes[i]->UpdateSelection(aMode);
The last issue remains - when I remove the AIS_Trihedron from the interactive context I need to remove the inner interactive objects too (especially if the user have selected them and, therefore, made them to be displayed).
As I can see, there are no virtual functions in parent classes which are called during AIS_InteractiveContext::Remove() execution.
Maybe the PrsMgr_PresentableObject::Presentations() must be made virtual for such cases?...

Contact us

Attention: DO NOT use this form for all kind of request for the removal of your personal data. Please follow this link for such cases.