| Open CASCADE Technology
    6.9.0
    | 
BVHTreeSelector class provides a possibility to store parameters of view volume, such as its vertices and equations, and contains methods detecting if given AABB overlaps view volume. More...
#include <OpenGl_BVHTreeSelector.hxx>
| Public Member Functions | |
| OpenGl_BVHTreeSelector () | |
| Creates an empty selector object with parallel projection type by default.  More... | |
| void | SetViewVolume (const Handle< Graphic3d_Camera > &theCamera) | 
| Retrieves view volume's planes equations and its vertices from projection and modelview matrices.  More... | |
| Standard_Boolean | Intersect (const OpenGl_Vec4 &theMinPt, const OpenGl_Vec4 &theMaxPt) const | 
| Detects if AABB overlaps view volume using separating axis theorem (SAT).  More... | |
| void | CacheClipPtsProjections () | 
| Caches view volume's vertices projections along its normals and AABBs dimensions. Must be called at the beginning of each BVH tree traverse loop.  More... | |
| const Standard_Size | ProjectionState () | 
| Returnes the state of projection matrix previously saved in selector.  More... | |
| Standard_Size & | ChangeProjectionState () | 
| Returnes the link for changing the state of projection matrix.  More... | |
| const Standard_Size | ModelViewState () | 
| Returnes the state of model view matrix previously saved in selector.  More... | |
| Standard_Size & | ChangeModelViewState () | 
| Returnes the link for changing the state of model view matrix.  More... | |
| Protected Types | |
| enum | { Plane_Top, Plane_Bottom, Plane_Left, Plane_Right, Plane_Near, Plane_Far, PlanesNB } | 
| Enumerates planes of view volume.  More... | |
| enum | { ClipVert_LeftTopNear, ClipVert_LeftBottomNear, ClipVert_RightTopNear, ClipVert_RightBottomNear, ClipVert_LeftTopFar, ClipVert_LeftBottomFar, ClipVert_RightTopFar, ClipVert_RightBottomFar, ClipVerticesNB } | 
| Enumerates vertices of view volume.  More... | |
| Protected Member Functions | |
| Standard_ShortReal | SignedPlanePointDistance (const OpenGl_Vec4 &theNormal, const OpenGl_Vec4 &thePnt) | 
| Calculates signed distance from plane to point.  More... | |
| Protected Attributes | |
| OpenGl_Vec4 | myClipPlanes [PlanesNB] | 
| Plane equations.  More... | |
| OpenGl_Vec4 | myClipVerts [ClipVerticesNB] | 
| Vertices.  More... | |
| Standard_ShortReal | myMaxClipProjectionPts [PlanesNB] | 
| Max view volume's vertices projections onto its normals.  More... | |
| Standard_ShortReal | myMinClipProjectionPts [PlanesNB] | 
| Min view volume's vertices projections onto its normals.  More... | |
| Standard_ShortReal | myMaxOrthoProjectionPts [3] | 
| Max view volume's vertices projections onto normalized dimensions of AABB.  More... | |
| Standard_ShortReal | myMinOrthoProjectionPts [3] | 
| Min view volume's vertices projections onto normalized dimensions of AABB.  More... | |
| Standard_Boolean | myIsProjectionParallel | 
| Standard_Size | myProjectionState | 
| Standard_Size | myModelViewState | 
| Caches the state of projection matrix to prevent unnecessary updates.  More... | |
BVHTreeSelector class provides a possibility to store parameters of view volume, such as its vertices and equations, and contains methods detecting if given AABB overlaps view volume.
| 
 | protected | 
| 
 | protected | 
| OpenGl_BVHTreeSelector::OpenGl_BVHTreeSelector | ( | ) | 
Creates an empty selector object with parallel projection type by default.
| void OpenGl_BVHTreeSelector::CacheClipPtsProjections | ( | ) | 
Caches view volume's vertices projections along its normals and AABBs dimensions. Must be called at the beginning of each BVH tree traverse loop.
| 
 | inline | 
Returnes the link for changing the state of model view matrix.
| 
 | inline | 
Returnes the link for changing the state of projection matrix.
| Standard_Boolean OpenGl_BVHTreeSelector::Intersect | ( | const OpenGl_Vec4 & | theMinPt, | 
| const OpenGl_Vec4 & | theMaxPt | ||
| ) | const | 
Detects if AABB overlaps view volume using separating axis theorem (SAT).
| theMinPt | [in] maximum point of AABB. | 
| theMaxPt | [in] minimum point of AABB. | 
| 
 | inline | 
Returnes the state of model view matrix previously saved in selector.
| 
 | inline | 
Returnes the state of projection matrix previously saved in selector.
| void OpenGl_BVHTreeSelector::SetViewVolume | ( | const Handle< Graphic3d_Camera > & | theCamera | ) | 
Retrieves view volume's planes equations and its vertices from projection and modelview matrices.
| 
 | protected | 
Calculates signed distance from plane to point.
| theNormal | [in] the plane's normal. | 
| thePnt | [in] | 
| 
 | protected | 
Plane equations.
| 
 | protected | 
Vertices.
| 
 | protected | 
| 
 | protected | 
Max view volume's vertices projections onto its normals.
| 
 | protected | 
Max view volume's vertices projections onto normalized dimensions of AABB.
| 
 | protected | 
Min view volume's vertices projections onto its normals.
| 
 | protected | 
Min view volume's vertices projections onto normalized dimensions of AABB.
| 
 | protected | 
Caches the state of projection matrix to prevent unnecessary updates.
| 
 | protected | 
 1.8.5
 1.8.5