|
| | Graphic3d_TransformPers (const Graphic3d_TransModeFlags theMode) |
| | Set transformation persistence.
|
| |
| | Graphic3d_TransformPers (const Graphic3d_TransModeFlags theMode, const gp_Pnt &thePnt) |
| | Set Zoom/Rotate transformation persistence with an anchor 3D point. Anchor point defines the origin of Local Coordinate system within World Coordinate system. Throws an exception if persistence mode is not Graphic3d_TMF_ZoomPers, Graphic3d_TMF_ZoomRotatePers or Graphic3d_TMF_RotatePers.
|
| |
| | Graphic3d_TransformPers (const Graphic3d_TransModeFlags theMode, const Aspect_TypeOfTriedronPosition theCorner, const NCollection_Vec2< int > &theOffset=NCollection_Vec2< int >(0, 0)) |
| | Set 2d/trihedron transformation persistence with a corner and 2D offset. 2D offset defines the origin of Local Coordinate system as projection of 2D point on screen plane into World Coordinate system. Throws an exception if persistence mode is not Graphic3d_TMF_TriedronPers or Graphic3d_TMF_2d. The offset is a positive displacement from the view corner in pixels.
|
| |
| bool | IsZoomOrRotate () const |
| | Return true for Graphic3d_TMF_ZoomPers, Graphic3d_TMF_ZoomRotatePers or Graphic3d_TMF_RotatePers modes.
|
| |
| bool | IsTrihedronOr2d () const |
| | Return true for Graphic3d_TMF_TriedronPers and Graphic3d_TMF_2d modes.
|
| |
| bool | IsOrthoPers () const |
| | Return true for Graphic3d_TMF_OrthoPers mode.
|
| |
| bool | IsAxial () const |
| | Return true for Graphic3d_TMF_AxialScalePers modes.
|
| |
| Graphic3d_TransModeFlags | Mode () const |
| | Transformation persistence mode flags.
|
| |
| Graphic3d_TransModeFlags | Flags () const |
| | Transformation persistence mode flags.
|
| |
| void | SetPersistence (const Graphic3d_TransModeFlags theMode, const gp_Pnt &thePnt) |
| | Set Zoom/Rotate transformation persistence with an anchor 3D point. Throws an exception if persistence mode is not Graphic3d_TMF_ZoomPers, Graphic3d_TMF_ZoomRotatePers or Graphic3d_TMF_RotatePers.
|
| |
| void | SetPersistence (const Graphic3d_TransModeFlags theMode, const Aspect_TypeOfTriedronPosition theCorner, const NCollection_Vec2< int > &theOffset) |
| | Set 2d/trihedron transformation persistence with a corner and 2D offset. Throws an exception if persistence mode is not Graphic3d_TMF_TriedronPers or Graphic3d_TMF_2d.
|
| |
| gp_Pnt | AnchorPoint () const |
| | Return the anchor point for zoom/rotate transformation persistence.
|
| |
| void | SetAnchorPoint (const gp_Pnt &thePnt) |
| | Set the anchor point for zoom/rotate transformation persistence.
|
| |
| Aspect_TypeOfTriedronPosition | Corner2d () const |
| | Return the corner for 2d/trihedron transformation persistence.
|
| |
| void | SetCorner2d (const Aspect_TypeOfTriedronPosition thePos) |
| | Set the corner for 2d/trihedron transformation persistence.
|
| |
| NCollection_Vec2< int > | Offset2d () const |
| | Return the offset from the corner for 2d/trihedron transformation persistence.
|
| |
| void | SetOffset2d (const NCollection_Vec2< int > &theOffset) |
| | Set the offset from the corner for 2d/trihedron transformation persistence.
|
| |
| virtual double | persistentScale (const occ::handle< Graphic3d_Camera > &theCamera, const int theViewportWidth, const int theViewportHeight) const |
| | Find scale value based on the camera position and view dimensions.
|
| |
| virtual NCollection_Mat3< double > | persistentRotationMatrix (const occ::handle< Graphic3d_Camera > &theCamera, const int theViewportWidth, const int theViewportHeight) const |
| | Create orientation matrix based on camera and view dimensions. Default implementation locks rotation by nullifying rotation component. Camera and view dimensions are not used, by default.
|
| |
| template<class T > |
| void | Apply (const occ::handle< Graphic3d_Camera > &theCamera, const NCollection_Mat4< T > &theProjection, const NCollection_Mat4< T > &theWorldView, const int theViewportWidth, const int theViewportHeight, Bnd_Box &theBoundingBox) const |
| | Apply transformation to bounding box of presentation.
|
| |
| template<class T > |
| void | Apply (const occ::handle< Graphic3d_Camera > &theCamera, const NCollection_Mat4< T > &theProjection, const NCollection_Mat4< T > &theWorldView, const int theViewportWidth, const int theViewportHeight, BVH_Box< T, 3 > &theBoundingBox) const |
| | Apply transformation to bounding box of presentation.
|
| |
| template<class T > |
| NCollection_Mat4< T > | Compute (const occ::handle< Graphic3d_Camera > &theCamera, const NCollection_Mat4< T > &theProjection, const NCollection_Mat4< T > &theWorldView, const int theViewportWidth, const int theViewportHeight, const bool theToApplyProjPers=false) const |
| | Compute transformation. Computed matrix can be applied to model world transformation of an object to implement effect of transformation persistence.
|
| |
| template<class T > |
| void | Apply (const occ::handle< Graphic3d_Camera > &theCamera, const NCollection_Mat4< T > &theProjection, NCollection_Mat4< T > &theWorldView, const int theViewportWidth, const int theViewportHeight, const gp_Pnt *theAnchor=nullptr, const bool theToApplyProjPers=true) const |
| | Apply transformation persistence on specified matrices.
|
| |
| virtual NCollection_Mat4< double > | ComputeApply (occ::handle< Graphic3d_Camera > &theCamera, const int theViewportWidth, const int theViewportHeight, const gp_Pnt *theAnchor=nullptr) const |
| | Perform computations for applying transformation persistence on specified matrices.
|
| |
| virtual void | DumpJson (Standard_OStream &theOStream, int theDepth=-1) const |
| | Dumps the content of me into the stream.
|
| |
Public Member Functions inherited from Standard_Transient |
| | Standard_Transient () |
| | Empty constructor.
|
| |
| | Standard_Transient (const Standard_Transient &) |
| | Copy constructor – does nothing.
|
| |
| Standard_Transient & | operator= (const Standard_Transient &) |
| | Assignment operator, needed to avoid copying reference counter.
|
| |
| virtual | ~Standard_Transient ()=default |
| | Destructor must be virtual.
|
| |
| virtual const opencascade::handle< Standard_Type > & | DynamicType () const |
| | Returns a type descriptor about this object.
|
| |
| bool | IsInstance (const opencascade::handle< Standard_Type > &theType) const |
| | Returns a true value if this is an instance of Type.
|
| |
| bool | IsInstance (const char *const theTypeName) const |
| | Returns a true value if this is an instance of TypeName.
|
| |
| bool | IsKind (const opencascade::handle< Standard_Type > &theType) const |
| | Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism.
|
| |
| bool | IsKind (const char *const theTypeName) const |
| | Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism.
|
| |
| Standard_Transient * | This () const |
| | Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero.
|
| |
| int | GetRefCount () const noexcept |
| | Get the reference counter of this object.
|
| |
| void | IncrementRefCounter () noexcept |
| | Increments the reference counter of this object. Uses relaxed memory ordering since incrementing only requires atomicity, not synchronization with other memory operations.
|
| |
| int | DecrementRefCounter () noexcept |
| | Decrements the reference counter of this object; returns the decremented value. Uses release ordering for the decrement to ensure all writes to the object are visible before the count reaches zero. An acquire fence is added only when the count reaches zero, ensuring proper synchronization before deletion. This is more efficient than using acq_rel for every decrement.
|
| |
| virtual void | Delete () const |
| | Memory deallocator for transient classes.
|
| |
Transformation Persistence definition.
Transformation Persistence defines a mutable Local Coordinate system which depends on camera position, so that visual appearance of the object becomes partially immutable while camera moves. Object visually preserves particular property such as size, placement, rotation or their combination.
Graphic3d_TMF_ZoomPers, Graphic3d_TMF_RotatePers and Graphic3d_TMF_ZoomRotatePers define Local Coordinate system having origin in specified anchor point defined in World Coordinate system, while Graphic3d_TMF_TriedronPers and Graphic3d_TMF_2d define origin as 2D offset from screen corner in pixels.
Graphic3d_TMF_2d, Graphic3d_TMF_TriedronPers and Graphic3d_TMF_ZoomPers defines Local Coordinate system where length units are pixels. Beware that Graphic3d_RenderingParams::ResolutionRatio() will be ignored! For other Persistence flags, normal (world) length units will apply.
Graphic3d_TMF_AxialPers and Graphic3d_TMF_AxialZoomPers defines persistence in the axial scale, i.e., keeps the object visual coherence when the camera's axial scale is changed. Meant to be used by objects such as Manipulators and trihedrons. WARNING: Graphic3d_TMF_None is not permitted for defining instance of this class - NULL handle should be used for this purpose!