Open CASCADE Technology 7.8.0
Public Member Functions
Graphic3d_TransformPersScaledAbove Class Reference

Transformation Zoom persistence with the above boundary of scale. This persistence works only when the camera scale value is below the scale value of this persistence. Otherwise, no persistence is applied. More...

#include <Graphic3d_TransformPersScaledAbove.hxx>

Inheritance diagram for Graphic3d_TransformPersScaledAbove:
Inheritance graph
[legend]

Public Member Functions

 Graphic3d_TransformPersScaledAbove (const Standard_Real theScale, const gp_Pnt &thePnt)
 Create a Zoom transformation persistence with an anchor 3D point and a scale value.
 
virtual ~Graphic3d_TransformPersScaledAbove ()
 Destructor.
 
virtual Standard_Real persistentScale (const Handle< Graphic3d_Camera > &theCamera, const Standard_Integer theViewportWidth, const Standard_Integer theViewportHeight) const override
 Find scale value based on the camera position and view dimensions If the camera scale value less than the persistence scale, zoom persistence is not applied.
 
- Public Member Functions inherited from Graphic3d_TransformPers
 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 Graphic3d_Vec2i &theOffset=Graphic3d_Vec2i(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.
 
Standard_Boolean IsZoomOrRotate () const
 Return true for Graphic3d_TMF_ZoomPers, Graphic3d_TMF_ZoomRotatePers or Graphic3d_TMF_RotatePers modes.
 
Standard_Boolean IsTrihedronOr2d () const
 Return true for Graphic3d_TMF_TriedronPers and Graphic3d_TMF_2d 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 Graphic3d_Vec2i &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.
 
Graphic3d_Vec2i Offset2d () const
 Return the offset from the corner for 2d/trihedron transformation persistence.
 
void SetOffset2d (const Graphic3d_Vec2i &theOffset)
 Set the offset from the corner for 2d/trihedron transformation persistence.
 
virtual NCollection_Mat3< Standard_RealpersistentRotationMatrix (const Handle< Graphic3d_Camera > &theCamera, const Standard_Integer theViewportWidth, const Standard_Integer 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 Handle< Graphic3d_Camera > &theCamera, const NCollection_Mat4< T > &theProjection, const NCollection_Mat4< T > &theWorldView, const Standard_Integer theViewportWidth, const Standard_Integer theViewportHeight, Bnd_Box &theBoundingBox) const
 Apply transformation to bounding box of presentation.
 
template<class T >
void Apply (const Handle< Graphic3d_Camera > &theCamera, const NCollection_Mat4< T > &theProjection, const NCollection_Mat4< T > &theWorldView, const Standard_Integer theViewportWidth, const Standard_Integer theViewportHeight, BVH_Box< T, 3 > &theBoundingBox) const
 Apply transformation to bounding box of presentation.
 
template<class T >
NCollection_Mat4< T > Compute (const Handle< Graphic3d_Camera > &theCamera, const NCollection_Mat4< T > &theProjection, const NCollection_Mat4< T > &theWorldView, const Standard_Integer theViewportWidth, const Standard_Integer theViewportHeight) 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 Handle< Graphic3d_Camera > &theCamera, const NCollection_Mat4< T > &theProjection, NCollection_Mat4< T > &theWorldView, const Standard_Integer theViewportWidth, const Standard_Integer theViewportHeight, const gp_Pnt *theAnchor=NULL) const
 Apply transformation persistence on specified matrices.
 
virtual void DumpJson (Standard_OStream &theOStream, Standard_Integer 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_Transientoperator= (const Standard_Transient &)
 Assignment operator, needed to avoid copying reference counter.
 
virtual ~Standard_Transient ()
 Destructor must be virtual.
 
virtual const opencascade::handle< Standard_Type > & DynamicType () const
 Returns a type descriptor about this object.
 
Standard_Boolean IsInstance (const opencascade::handle< Standard_Type > &theType) const
 Returns a true value if this is an instance of Type.
 
Standard_Boolean IsInstance (const Standard_CString theTypeName) const
 Returns a true value if this is an instance of TypeName.
 
Standard_Boolean 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.
 
Standard_Boolean IsKind (const Standard_CString 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_TransientThis () 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.
 
Standard_Integer GetRefCount () const noexcept
 Get the reference counter of this object.
 
void IncrementRefCounter () noexcept
 Increments the reference counter of this object.
 
Standard_Integer DecrementRefCounter () noexcept
 Decrements the reference counter of this object; returns the decremented value.
 
virtual void Delete () const
 Memory deallocator for transient classes.
 

Additional Inherited Members

- Public Types inherited from Standard_Transient
typedef void base_type
 Returns a type descriptor about this object.
 
- Static Public Member Functions inherited from Graphic3d_TransformPers
static Standard_Boolean IsZoomOrRotate (Graphic3d_TransModeFlags theMode)
 Return true if specified mode is zoom/rotate transformation persistence.
 
static Standard_Boolean IsTrihedronOr2d (Graphic3d_TransModeFlags theMode)
 Return true if specified mode is 2d/trihedron transformation persistence.
 
- Static Public Member Functions inherited from Standard_Transient
static constexpr const charget_type_name ()
 Returns a type descriptor about this object.
 
static const opencascade::handle< Standard_Type > & get_type_descriptor ()
 Returns type descriptor of Standard_Transient class.
 

Detailed Description

Transformation Zoom persistence with the above boundary of scale. This persistence works only when the camera scale value is below the scale value of this persistence. Otherwise, no persistence is applied.

Constructor & Destructor Documentation

◆ Graphic3d_TransformPersScaledAbove()

Graphic3d_TransformPersScaledAbove::Graphic3d_TransformPersScaledAbove ( const Standard_Real  theScale,
const gp_Pnt thePnt 
)

Create a Zoom transformation persistence with an anchor 3D point and a scale value.

◆ ~Graphic3d_TransformPersScaledAbove()

virtual Graphic3d_TransformPersScaledAbove::~Graphic3d_TransformPersScaledAbove ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ persistentScale()

virtual Standard_Real Graphic3d_TransformPersScaledAbove::persistentScale ( const Handle< Graphic3d_Camera > &  theCamera,
const Standard_Integer  theViewportWidth,
const Standard_Integer  theViewportHeight 
) const
overridevirtual

Find scale value based on the camera position and view dimensions If the camera scale value less than the persistence scale, zoom persistence is not applied.

Parameters
theCamera[in] camera definition
theViewportWidth[in] the width of viewport.
theViewportHeight[in] the height of viewport.

Reimplemented from Graphic3d_TransformPers.


The documentation for this class was generated from the following file: