Open CASCADE Technology
6.9.0
|
The purpose of this class is to provide unified interface for building selecting frustum depending on current camera projection and orientation matrices, window size and viewport parameters. More...
#include <SelectMgr_FrustumBuilder.hxx>
Public Member Functions | |
SelectMgr_FrustumBuilder () | |
Creates new frustum builder with empty matrices. More... | |
void | SetOrientation (const Graphic3d_Mat4d &theOrientation) |
Stores current orientation matrix. More... | |
void | SetProjection (const Graphic3d_Mat4d &theProjection) |
Stores current projection matrix. More... | |
void | SetWindowSize (const Standard_Integer theWidth, const Standard_Integer theHeight) |
Stores current window width and height. More... | |
void | SetViewport (const Standard_Real theX, const Standard_Real theY, const Standard_Real theWidth, const Standard_Real theHeight) |
Stores current viewport coordinates. More... | |
void | InvalidateViewport () |
Standard_Real | SignedPlanePntDist (const SelectMgr_Vec3 &theEq, const SelectMgr_Vec3 &thePnt) const |
Calculates signed distance between plane with equation theEq and point thePnt. More... | |
SelectMgr_Vec3 | ProjectPntOnViewPlane (const Standard_Real &theX, const Standard_Real &theY, const Standard_Real &theZ) const |
Projects 2d screen point onto view frustum plane: theZ = 0 - near plane, theZ = 1 - far plane. More... | |
Public Member Functions inherited from Standard_Transient | |
Standard_Transient () | |
Empty constructor. More... | |
Standard_Transient (const Standard_Transient &) | |
Copy constructor – does nothing. More... | |
Standard_Transient & | operator= (const Standard_Transient &) |
Assignment operator, needed to avoid copying reference counter. More... | |
virtual | ~Standard_Transient () |
Destructor must be virtual. More... | |
virtual void | Delete () const |
Memory deallocator for transient classes. More... | |
virtual const Handle_Standard_Type & | DynamicType () const |
Returns a type information object about this object. More... | |
Standard_Boolean | IsInstance (const Handle_Standard_Type &theType) const |
Returns a true value if this is an instance of Type. More... | |
Standard_Boolean | IsInstance (const Standard_CString theTypeName) const |
Returns a true value if this is an instance of TypeName. More... | |
Standard_Boolean | IsKind (const 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. More... | |
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. More... | |
virtual Handle_Standard_Transient | This () const |
Returns a Handle which references this object. Must never be called to objects created in stack. More... | |
Standard_Integer | GetRefCount () const |
Get the reference counter of this object. More... | |
The purpose of this class is to provide unified interface for building selecting frustum depending on current camera projection and orientation matrices, window size and viewport parameters.
SelectMgr_FrustumBuilder::SelectMgr_FrustumBuilder | ( | ) |
Creates new frustum builder with empty matrices.
void SelectMgr_FrustumBuilder::InvalidateViewport | ( | ) |
SelectMgr_Vec3 SelectMgr_FrustumBuilder::ProjectPntOnViewPlane | ( | const Standard_Real & | theX, |
const Standard_Real & | theY, | ||
const Standard_Real & | theZ | ||
) | const |
Projects 2d screen point onto view frustum plane: theZ = 0 - near plane, theZ = 1 - far plane.
void SelectMgr_FrustumBuilder::SetOrientation | ( | const Graphic3d_Mat4d & | theOrientation | ) |
Stores current orientation matrix.
void SelectMgr_FrustumBuilder::SetProjection | ( | const Graphic3d_Mat4d & | theProjection | ) |
Stores current projection matrix.
void SelectMgr_FrustumBuilder::SetViewport | ( | const Standard_Real | theX, |
const Standard_Real | theY, | ||
const Standard_Real | theWidth, | ||
const Standard_Real | theHeight | ||
) |
Stores current viewport coordinates.
void SelectMgr_FrustumBuilder::SetWindowSize | ( | const Standard_Integer | theWidth, |
const Standard_Integer | theHeight | ||
) |
Stores current window width and height.
Standard_Real SelectMgr_FrustumBuilder::SignedPlanePntDist | ( | const SelectMgr_Vec3 & | theEq, |
const SelectMgr_Vec3 & | thePnt | ||
) | const |
Calculates signed distance between plane with equation theEq and point thePnt.