Open CASCADE Technology: OpenGl_Structure Class Reference

Open CASCADE Technology 6.8.0

- Main Page
- Related Pages
- Namespaces
- Data Structures
- Files

- Data Structures
- Data Structure Index
- Class Hierarchy
- Data Fields

Data Structures | Public Member Functions | Protected Member Functions | Protected Attributes
OpenGl_Structure Class Reference

Implementation of low-level graphic structure. More...

`#include <OpenGl_Structure.hxx>`

Inheritance diagram for OpenGl_Structure:
[legend]

## Data Structures
class | GroupIterator
| Auxiliary wrapper to iterate OpenGl_Group sequence. More...

## Public Member Functions
| OpenGl_Structure (const Handle< Graphic3d_StructureManager > &theManager)
| Create empty structure. More...
virtual void | UpdateNamedStatus ()
| Setup structure graphic state. More...
virtual void | Clear ()
| Clear graphic data. More...
virtual void | Connect (Graphic3d_CStructure &theStructure)
| Connect other structure to this one. More...
virtual void | Disconnect (Graphic3d_CStructure &theStructure)
| Disconnect other structure to this one. More...
virtual void | UpdateAspects ()
| Synchronize structure aspects. More...
virtual void | UpdateTransformation ()
| Synchronize structure transformation. More...
virtual void | HighlightWithColor (const Graphic3d_Vec3 &theColor, const Standard_Boolean theToCreate)
| Highlight entire structure with color. More...
virtual void | HighlightWithBndBox (const Handle< Graphic3d_Structure > &theStruct, const Standard_Boolean theToCreate)
| Highlight structure using boundary box. More...
virtual Handle < Graphic3d_CStructure > | ShadowLink (const Handle< Graphic3d_StructureManager > &theManager) const
| Create shadow link to this structure. More...
virtual Handle< Graphic3d_Group > | NewGroup (const Handle< Graphic3d_Structure > &theStruct)
| Create new group within this structure. More...
virtual void | RemoveGroup (const Handle< Graphic3d_Group > &theGroup)
| Remove group from this structure. More...
virtual const Graphic3d_SequenceOfGroup & | DrawGroups () const
OpenGl_GraphicDriver * | GlDriver () const
| Access graphic driver. More...
void | SetTransformPersistence (const CALL_DEF_TRANSFORM_PERSISTENCE &ATransPers)
void | SetAspectLine (const CALL_DEF_CONTEXTLINE &theAspect)
void | SetAspectFace (const CALL_DEF_CONTEXTFILLAREA &theAspect)
void | SetAspectMarker (const CALL_DEF_CONTEXTMARKER &theAspect)
void | SetAspectText (const CALL_DEF_CONTEXTTEXT &theAspect)
void | clearHighlightBox (const Handle< OpenGl_Context > &theGlCtx)
void | setHighlightColor (const Handle< OpenGl_Context > &theGlCtx, const Graphic3d_Vec3 &theColor)
void | clearHighlightColor (const Handle< OpenGl_Context > &theGlCtx)
Standard_Boolean | IsVisible () const
void | Clear (const Handle< OpenGl_Context > &theGlCtx)
void | SetZLayer (const Standard_Integer theLayerIndex)
| Set z layer ID to display the structure in specified layer. More...
Standard_Integer | GetZLayer () const
| Get z layer ID. More...
virtual void | RenderGeometry (const Handle< OpenGl_Workspace > &theWorkspace) const
| Renders groups of structure without applying any attributes (i.e. transform, material etc). More...
virtual void | Render (const Handle< OpenGl_Workspace > &theWorkspace) const
| Renders the structure. More...
virtual void | Release (const Handle< OpenGl_Context > &theGlCtx)
| Releases structure resources. More...
void | ResetCullingStatus () const
| Marks structure as not overlapping view volume (as it is by default). More...
void | MarkAsNotCulled () const
| Marks structure as overlapping the current view volume one. The method is called during traverse of BVH tree. More...
Standard_Boolean | IsCulled () const
| Returns Standard_False if the structure hits the current view volume, otherwise returns Standard_True. The default value for all structures before each traverse of BVH tree is Standard_True. More...
const Standard_Boolean | IsAlwaysRendered () const
| Checks if the structure should be included into BVH tree or not. More...
void | ReleaseGlResources (const Handle< OpenGl_Context > &theGlCtx)
| This method releases GL resources without actual elements destruction. As result structure could be correctly destroyed layer without GL context (after last window was closed for example). More...
const OpenGl_ListOfStructure & | ConnectedStructures () const
| Returns list of connected OpenGL structures. More...
const OpenGl_AspectFace * | AspectFace () const
| Returns OpenGL face aspect. More...
const OpenGl_Matrix * | Transformation () const
| Returns OpenGL transformation matrix. More...
const TEL_TRANSFORM_PERSISTENCE * | PersistentTranslation () const
| Returns OpenGL persistent translation. More...
Standard_Size | ModificationState () const
| Returns structure modification state (for ray-tracing). More...
void | ResetModificationState () const
| Resets structure modification state (for ray-tracing) More...
Standard_Boolean | IsRaytracable () const
| Is the structure ray-tracable (contains ray-tracable elements)? More...
Public Member Functions inherited from Graphic3d_CStructure
const Handle < Graphic3d_GraphicDriver > & | GraphicDriver () const
const Graphic3d_SequenceOfGroup & | Groups () const
const Graphic3d_SequenceOfHClipPlane & | ClipPlanes () const
void | SetClipPlanes (const Graphic3d_SequenceOfHClipPlane &thePlanes)
| Pass clip planes to the associated graphic driver structure. More...
const Graphic3d_BndBox4f & | BoundingBox () const
Graphic3d_BndBox4f & | ChangeBoundingBox ()
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...

## Protected Member Functions
virtual | ~OpenGl_Structure ()
void | RegisterAncestorStructure (const OpenGl_Structure *theStructure) const
| Registers ancestor connected structure (for updating ray-tracing state). More...
void | UnregisterAncestorStructure (const OpenGl_Structure *theStructure) const
| Unregisters ancestor connected structure (for updating ray-tracing state). More...
void | UnregisterFromAncestorStructure () const
| Unregisters structure from ancestor structure (for updating ray-tracing state). More...
void | UpdateStateWithAncestorStructures () const
| Updates modification state for structure and its parents. More...
void | UpdateRaytracableWithAncestorStructures () const
| Updates ray-tracable status for structure and its parents. More...
void | SetRaytracableWithAncestorStructures () const
| Sets ray-tracable status for structure and its parents. More...
Protected Member Functions inherited from Graphic3d_CStructure
| Graphic3d_CStructure (const Handle< Graphic3d_StructureManager > &theManager)
| Create empty structure. More...

## Protected Attributes
OpenGl_Matrix * | myTransformation
TEL_TRANSFORM_PERSISTENCE * | myTransPers
OpenGl_AspectLine * | myAspectLine
OpenGl_AspectFace * | myAspectFace
OpenGl_AspectMarker * | myAspectMarker
OpenGl_AspectText * | myAspectText
Handle< OpenGl_Group > | myHighlightBox
TEL_COLOUR * | myHighlightColor
int | myNamedStatus
int | myZLayer
OpenGl_ListOfStructure | myConnected
OpenGl_ListOfStructure | myAncestorStructures
Standard_Boolean | myIsRaytracable
Standard_Size | myModificationState
Standard_Boolean | myIsCulled
| A status specifying is structure needs to be rendered after BVH tree traverse. More...
Standard_Boolean | myIsMirrored
| Used to tell OpenGl to interpret polygons in clockwise order. More...
Protected Attributes inherited from Graphic3d_CStructure
Handle< Graphic3d_GraphicDriver > | myGraphicDriver
Graphic3d_SequenceOfGroup | myGroups
Graphic3d_BndBox4f | myBndBox
Graphic3d_SequenceOfHClipPlane | myClipPlanes

## Additional Inherited Members
Data Fields inherited from Graphic3d_CStructure
int | Id
int | Priority
int | PreviousPriority
CALL_DEF_CONTEXTLINE | ContextLine
CALL_DEF_CONTEXTFILLAREA | ContextFillArea
CALL_DEF_CONTEXTMARKER | ContextMarker
CALL_DEF_CONTEXTTEXT | ContextText
CALL_DEF_COLOR | HighlightColor
float | Transformation [4][4]
Graphic3d_TypeOfComposition | Composition
int | ContainsFacet
unsigned | IsInfinite: 1
unsigned | stick: 1
unsigned | highlight: 1
unsigned | visible: 1
unsigned | pick: 1
unsigned | HLRValidation: 1
unsigned | IsForHighlight: 1
unsigned | IsMutable: 1
unsigned | Is2dText: 1
CALL_DEF_TRANSFORM_PERSISTENCE | TransformPersistence

## Detailed Description

Implementation of low-level graphic structure.

## Constructor & Destructor Documentation

OpenGl_Structure::OpenGl_Structure | ( | const Handle< Graphic3d_StructureManager > & | theManager | ) |

Create empty structure.

virtual OpenGl_Structure::~OpenGl_Structure | ( |  | ) |
| protectedvirtual

## Member Function Documentation

const OpenGl_AspectFace* OpenGl_Structure::AspectFace | ( |  | ) | const
| inline

Returns OpenGL face aspect.

virtual void OpenGl_Structure::Clear | ( |  | ) |
| virtual

Clear graphic data.

Implements Graphic3d_CStructure.

void OpenGl_Structure::Clear | ( | const Handle< OpenGl_Context > & | theGlCtx | ) |

void OpenGl_Structure::clearHighlightBox | ( | const Handle< OpenGl_Context > & | theGlCtx | ) |

void OpenGl_Structure::clearHighlightColor | ( | const Handle< OpenGl_Context > & | theGlCtx | ) |

virtual void OpenGl_Structure::Connect | ( | Graphic3d_CStructure & | theStructure | ) |
| virtual

Connect other structure to this one.

Implements Graphic3d_CStructure.

const OpenGl_ListOfStructure& OpenGl_Structure::ConnectedStructures | ( |  | ) | const
| inline

Returns list of connected OpenGL structures.

virtual void OpenGl_Structure::Disconnect | ( | Graphic3d_CStructure & | theStructure | ) |
| virtual

Disconnect other structure to this one.

Implements Graphic3d_CStructure.

virtual const Graphic3d_SequenceOfGroup& OpenGl_Structure::DrawGroups | ( |  | ) | const
| inlinevirtual

Returns
  graphic groups

Reimplemented in OpenGl_StructureShadow.

Standard_Integer OpenGl_Structure::GetZLayer | ( |  | ) | const

Get z layer ID.

OpenGl_GraphicDriver* OpenGl_Structure::GlDriver | ( |  | ) | const
| inline

Access graphic driver.

virtual void OpenGl_Structure::HighlightWithBndBox | ( | const Handle< Graphic3d_Structure > & | theStruct,
|  | const Standard_Boolean | theToCreate
| ) |  |
| virtual

Highlight structure using boundary box.

Implements Graphic3d_CStructure.

virtual void OpenGl_Structure::HighlightWithColor | ( | const Graphic3d_Vec3 & | theColor,
|  | const Standard_Boolean | theToCreate
| ) |  |
| virtual

Highlight entire structure with color.

Implements Graphic3d_CStructure.

const Standard_Boolean OpenGl_Structure::IsAlwaysRendered | ( |  | ) | const
| inline

Checks if the structure should be included into BVH tree or not.

Standard_Boolean OpenGl_Structure::IsCulled | ( |  | ) | const
| inline

Returns Standard_False if the structure hits the current view volume, otherwise returns Standard_True. The default value for all structures before each traverse of BVH tree is Standard_True.

Standard_Boolean OpenGl_Structure::IsRaytracable | ( |  | ) | const
| inline

Is the structure ray-tracable (contains ray-tracable elements)?

Standard_Boolean OpenGl_Structure::IsVisible | ( |  | ) | const
| inline

void OpenGl_Structure::MarkAsNotCulled | ( |  | ) | const
| inline

Marks structure as overlapping the current view volume one. The method is called during traverse of BVH tree.

Standard_Size OpenGl_Structure::ModificationState | ( |  | ) | const
| inline

Returns structure modification state (for ray-tracing).

virtual Handle< Graphic3d_Group > OpenGl_Structure::NewGroup | ( | const Handle< Graphic3d_Structure > & | theStruct | ) |
| virtual

Create new group within this structure.

Implements Graphic3d_CStructure.

const TEL_TRANSFORM_PERSISTENCE* OpenGl_Structure::PersistentTranslation | ( |  | ) | const
| inline

Returns OpenGL persistent translation.

void OpenGl_Structure::RegisterAncestorStructure | ( | const OpenGl_Structure * | theStructure | ) | const
| protected

Registers ancestor connected structure (for updating ray-tracing state).

virtual void OpenGl_Structure::Release | ( | const Handle< OpenGl_Context > & | theGlCtx | ) |
| virtual

Releases structure resources.

void OpenGl_Structure::ReleaseGlResources | ( | const Handle< OpenGl_Context > & | theGlCtx | ) |

This method releases GL resources without actual elements destruction. As result structure could be correctly destroyed layer without GL context (after last window was closed for example).

Notice however that reusage of this structure after calling this method is incorrect and will lead to broken visualization due to loosed data.

virtual void OpenGl_Structure::RemoveGroup | ( | const Handle< Graphic3d_Group > & | theGroup | ) |
| virtual

Remove group from this structure.

Implements Graphic3d_CStructure.

virtual void OpenGl_Structure::Render | ( | const Handle< OpenGl_Workspace > & | theWorkspace | ) | const
| virtual

Renders the structure.

virtual void OpenGl_Structure::RenderGeometry | ( | const Handle< OpenGl_Workspace > & | theWorkspace | ) | const
| virtual

Renders groups of structure without applying any attributes (i.e. transform, material etc).

void OpenGl_Structure::ResetCullingStatus | ( |  | ) | const
| inline

Marks structure as not overlapping view volume (as it is by default).

void OpenGl_Structure::ResetModificationState | ( |  | ) | const
| inline

Resets structure modification state (for ray-tracing)

void OpenGl_Structure::SetAspectFace | ( | const CALL_DEF_CONTEXTFILLAREA & | theAspect | ) |

void OpenGl_Structure::SetAspectLine | ( | const CALL_DEF_CONTEXTLINE & | theAspect | ) |

void OpenGl_Structure::SetAspectMarker | ( | const CALL_DEF_CONTEXTMARKER & | theAspect | ) |

void OpenGl_Structure::SetAspectText | ( | const CALL_DEF_CONTEXTTEXT & | theAspect | ) |

void OpenGl_Structure::setHighlightColor | ( | const Handle< OpenGl_Context > & | theGlCtx,
|  | const Graphic3d_Vec3 & | theColor
| ) |  |

void OpenGl_Structure::SetRaytracableWithAncestorStructures | ( |  | ) | const
| protected

Sets ray-tracable status for structure and its parents.

void OpenGl_Structure::SetTransformPersistence | ( | const CALL_DEF_TRANSFORM_PERSISTENCE & | ATransPers | ) |

void OpenGl_Structure::SetZLayer | ( | const Standard_Integer | theLayerIndex | ) |

Set z layer ID to display the structure in specified layer.

virtual Handle< Graphic3d_CStructure > OpenGl_Structure::ShadowLink | ( | const Handle< Graphic3d_StructureManager > & | theManager | ) | const
| virtual

Create shadow link to this structure.

Implements Graphic3d_CStructure.

const OpenGl_Matrix* OpenGl_Structure::Transformation | ( |  | ) | const
| inline

Returns OpenGL transformation matrix.

void OpenGl_Structure::UnregisterAncestorStructure | ( | const OpenGl_Structure * | theStructure | ) | const
| protected

Unregisters ancestor connected structure (for updating ray-tracing state).

void OpenGl_Structure::UnregisterFromAncestorStructure | ( |  | ) | const
| protected

Unregisters structure from ancestor structure (for updating ray-tracing state).

virtual void OpenGl_Structure::UpdateAspects | ( |  | ) |
| virtual

Synchronize structure aspects.

Implements Graphic3d_CStructure.

virtual void OpenGl_Structure::UpdateNamedStatus | ( |  | ) |
| virtual

Setup structure graphic state.

Implements Graphic3d_CStructure.

void OpenGl_Structure::UpdateRaytracableWithAncestorStructures | ( |  | ) | const
| protected

Updates ray-tracable status for structure and its parents.

void OpenGl_Structure::UpdateStateWithAncestorStructures | ( |  | ) | const
| protected

Updates modification state for structure and its parents.

virtual void OpenGl_Structure::UpdateTransformation | ( |  | ) |
| virtual

Synchronize structure transformation.

Implements Graphic3d_CStructure.

## Field Documentation

OpenGl_ListOfStructure OpenGl_Structure::myAncestorStructures
| mutableprotected

OpenGl_AspectFace* OpenGl_Structure::myAspectFace
| protected

OpenGl_AspectLine* OpenGl_Structure::myAspectLine
| protected

OpenGl_AspectMarker* OpenGl_Structure::myAspectMarker
| protected

OpenGl_AspectText* OpenGl_Structure::myAspectText
| protected

OpenGl_ListOfStructure OpenGl_Structure::myConnected
| protected

Handle< OpenGl_Group > OpenGl_Structure::myHighlightBox
| protected

TEL_COLOUR* OpenGl_Structure::myHighlightColor
| protected

Standard_Boolean OpenGl_Structure::myIsCulled
| mutableprotected

A status specifying is structure needs to be rendered after BVH tree traverse.

Standard_Boolean OpenGl_Structure::myIsMirrored
| protected

Used to tell OpenGl to interpret polygons in clockwise order.

Standard_Boolean OpenGl_Structure::myIsRaytracable
| mutableprotected

Standard_Size OpenGl_Structure::myModificationState
| mutableprotected

int OpenGl_Structure::myNamedStatus
| protected

OpenGl_Matrix* OpenGl_Structure::myTransformation
| protected

TEL_TRANSFORM_PERSISTENCE* OpenGl_Structure::myTransPers
| protected

int OpenGl_Structure::myZLayer
| protected

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

- OpenGl_Structure.hxx