Open CASCADE Technology 7.8.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. | |
const Handle< Graphic3d_Camera > & | Camera () const |
Returns current camera. | |
void | SetCamera (const Handle< Graphic3d_Camera > &theCamera) |
Stores current camera. | |
void | SetWindowSize (const Standard_Integer theWidth, const Standard_Integer theHeight) |
Stores current window width and height. | |
void | SetViewport (const Standard_Real theX, const Standard_Real theY, const Standard_Real theWidth, const Standard_Real theHeight) |
Stores current viewport coordinates. | |
void | InvalidateViewport () |
void | WindowSize (Standard_Integer &theWidth, Standard_Integer &theHeight) const |
Standard_Real | SignedPlanePntDist (const SelectMgr_Vec3 &theEq, const SelectMgr_Vec3 &thePnt) const |
Calculates signed distance between plane with equation theEq and point thePnt. | |
gp_Pnt | 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. | |
![]() | |
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 () |
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_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. | |
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 | |
![]() | |
typedef void | base_type |
Returns a type descriptor about this object. | |
![]() | |
static constexpr const char * | get_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. | |
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.
|
inline |
Returns current camera.
void SelectMgr_FrustumBuilder::InvalidateViewport | ( | ) |
gp_Pnt 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::SetCamera | ( | const Handle< Graphic3d_Camera > & | theCamera | ) |
Stores current camera.
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.
void SelectMgr_FrustumBuilder::WindowSize | ( | Standard_Integer & | theWidth, |
Standard_Integer & | theHeight | ||
) | const |