Open CASCADE Technology 7.8.0
Data Structures | Public Member Functions | Data Fields | Protected Member Functions | Protected Attributes
Graphic3d_CStructure Class Referenceabstract

Low-level graphic structure interface. More...

#include <Graphic3d_CStructure.hxx>

Inheritance diagram for Graphic3d_CStructure:
Inheritance graph
[legend]

Data Structures

class  SubclassGroupIterator
 Auxiliary wrapper to iterate through group sequence. More...
 
class  SubclassStructIterator
 Auxiliary wrapper to iterate through structure list. More...
 

Public Member Functions

const Handle< Graphic3d_GraphicDriver > & GraphicDriver () const
 
const Graphic3d_SequenceOfGroupGroups () const
 
const Handle< TopLoc_Datum3D > & Transformation () const
 Return transformation.
 
virtual void SetTransformation (const Handle< TopLoc_Datum3D > &theTrsf)
 Assign transformation.
 
const Handle< Graphic3d_TransformPers > & TransformPersistence () const
 Return transformation persistence.
 
virtual void SetTransformPersistence (const Handle< Graphic3d_TransformPers > &theTrsfPers)
 Set transformation persistence.
 
bool HasGroupTransformPersistence () const
 Return TRUE if some groups might have transform persistence; FALSE by default.
 
void SetGroupTransformPersistence (bool theValue)
 Set if some groups might have transform persistence.
 
const Handle< Graphic3d_SequenceOfHClipPlane > & ClipPlanes () const
 
void SetClipPlanes (const Handle< Graphic3d_SequenceOfHClipPlane > &thePlanes)
 Pass clip planes to the associated graphic driver structure.
 
const Graphic3d_BndBox3dBoundingBox () const
 
Graphic3d_BndBox3dChangeBoundingBox ()
 
bool IsVisible () const
 Return structure visibility flag.
 
bool IsVisible (const Standard_Integer theViewId) const
 Return structure visibility considering both View Affinity and global visibility state.
 
virtual void SetZLayer (const Graphic3d_ZLayerId theLayerIndex)
 Set z layer ID to display the structure in specified layer.
 
Graphic3d_ZLayerId ZLayer () const
 Get z layer ID.
 
const Handle< Graphic3d_PresentationAttributes > & HighlightStyle () const
 Returns valid handle to highlight style of the structure in case if highlight flag is set to true.
 
Standard_Integer Identification () const
 Return structure id (generated by Graphic3d_GraphicDriver::NewIdentification() during structure construction).
 
Graphic3d_DisplayPriority Priority () const
 Return structure display priority.
 
void SetPriority (Graphic3d_DisplayPriority thePriority)
 Set structure display priority.
 
Graphic3d_DisplayPriority PreviousPriority () const
 Return previous structure display priority.
 
void SetPreviousPriority (Graphic3d_DisplayPriority thePriority)
 Set previous structure display priority.
 
Standard_Boolean IsCulled () const
 Returns FALSE if the structure hits the current view volume, otherwise returns TRUE.
 
void SetCulled (Standard_Boolean theIsCulled) const
 Marks structure as culled/not culled - note that IsAlwaysRendered() is ignored here!
 
void MarkAsNotCulled () const
 Marks structure as overlapping the current view volume one. The method is called during traverse of BVH tree.
 
Standard_Boolean BndBoxClipCheck () const
 Returns whether check of object's bounding box clipping is enabled before drawing of object; TRUE by default.
 
void SetBndBoxClipCheck (Standard_Boolean theBndBoxClipCheck)
 Enable/disable check of object's bounding box clipping before drawing of object.
 
Standard_Boolean IsAlwaysRendered () const
 Checks if the structure should be included into BVH tree or not.
 
virtual void OnVisibilityChanged ()=0
 Update structure visibility state.
 
virtual void Clear ()=0
 Clear graphic data.
 
virtual void Connect (Graphic3d_CStructure &theStructure)=0
 Connect other structure to this one.
 
virtual void Disconnect (Graphic3d_CStructure &theStructure)=0
 Disconnect other structure to this one.
 
virtual void GraphicHighlight (const Handle< Graphic3d_PresentationAttributes > &theStyle)=0
 Highlights structure with the given style.
 
virtual void GraphicUnhighlight ()=0
 Unhighlights the structure and invalidates pointer to structure's highlight style.
 
virtual Handle< Graphic3d_CStructureShadowLink (const Handle< Graphic3d_StructureManager > &theManager) const =0
 Create shadow link to this structure.
 
virtual Handle< Graphic3d_GroupNewGroup (const Handle< Graphic3d_Structure > &theStruct)=0
 Create new group within this structure.
 
virtual void RemoveGroup (const Handle< Graphic3d_Group > &theGroup)=0
 Remove group from this structure.
 
virtual void updateLayerTransformation ()
 Update render transformation matrix.
 
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.
 

Data Fields

Handle< Graphic3d_ViewAffinityViewAffinity
 view affinity mask
 
unsigned IsInfinite: 1
 
unsigned stick: 1
 displaying state - should be set when structure has been added to scene graph (but can be in hidden state)
 
unsigned highlight: 1
 
unsigned visible: 1
 visibility flag - can be used to suppress structure while leaving it in the scene graph
 
unsigned HLRValidation: 1
 
unsigned IsForHighlight: 1
 
unsigned IsMutable: 1
 
unsigned Is2dText: 1
 

Protected Member Functions

 Graphic3d_CStructure (const Handle< Graphic3d_StructureManager > &theManager)
 Create empty structure.
 

Protected Attributes

Handle< Graphic3d_GraphicDrivermyGraphicDriver
 
Graphic3d_SequenceOfGroup myGroups
 
Graphic3d_BndBox3d myBndBox
 
Handle< TopLoc_Datum3DmyTrsf
 
Handle< Graphic3d_TransformPersmyTrsfPers
 
Handle< Graphic3d_SequenceOfHClipPlanemyClipPlanes
 
Handle< Graphic3d_PresentationAttributesmyHighlightStyle
 
Standard_Integer myId
 Current highlight style; is set only if highlight flag is true.
 
Graphic3d_ZLayerId myZLayer
 
Graphic3d_DisplayPriority myPriority
 
Graphic3d_DisplayPriority myPreviousPriority
 
Standard_Boolean myIsCulled
 A status specifying is structure needs to be rendered after BVH tree traverse.
 
Standard_Boolean myBndBoxClipCheck
 Flag responsible for checking of bounding box clipping before drawing of object.
 
Standard_Boolean myHasGroupTrsf
 flag specifying that some groups might have transform persistence
 

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 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

Low-level graphic structure interface.

Constructor & Destructor Documentation

◆ Graphic3d_CStructure()

Graphic3d_CStructure::Graphic3d_CStructure ( const Handle< Graphic3d_StructureManager > &  theManager)
protected

Create empty structure.

Member Function Documentation

◆ BndBoxClipCheck()

Standard_Boolean Graphic3d_CStructure::BndBoxClipCheck ( ) const
inline

Returns whether check of object's bounding box clipping is enabled before drawing of object; TRUE by default.

◆ BoundingBox()

const Graphic3d_BndBox3d & Graphic3d_CStructure::BoundingBox ( ) const
inline
Returns
bounding box of this presentation

◆ ChangeBoundingBox()

Graphic3d_BndBox3d & Graphic3d_CStructure::ChangeBoundingBox ( )
inline
Returns
bounding box of this presentation without transformation matrix applied

◆ Clear()

virtual void Graphic3d_CStructure::Clear ( )
pure virtual

Clear graphic data.

Implemented in OpenGl_Structure.

◆ ClipPlanes()

const Handle< Graphic3d_SequenceOfHClipPlane > & Graphic3d_CStructure::ClipPlanes ( ) const
inline
Returns
associated clip planes

◆ Connect()

virtual void Graphic3d_CStructure::Connect ( Graphic3d_CStructure theStructure)
pure virtual

Connect other structure to this one.

Implemented in OpenGl_StructureShadow, and OpenGl_Structure.

◆ Disconnect()

virtual void Graphic3d_CStructure::Disconnect ( Graphic3d_CStructure theStructure)
pure virtual

Disconnect other structure to this one.

Implemented in OpenGl_StructureShadow, and OpenGl_Structure.

◆ DumpJson()

virtual void Graphic3d_CStructure::DumpJson ( Standard_OStream theOStream,
Standard_Integer  theDepth = -1 
) const
virtual

Dumps the content of me into the stream.

Reimplemented in OpenGl_Structure.

◆ GraphicDriver()

const Handle< Graphic3d_GraphicDriver > & Graphic3d_CStructure::GraphicDriver ( ) const
inline
Returns
graphic driver created this structure

◆ GraphicHighlight()

virtual void Graphic3d_CStructure::GraphicHighlight ( const Handle< Graphic3d_PresentationAttributes > &  theStyle)
pure virtual

Highlights structure with the given style.

Implemented in OpenGl_Structure.

◆ GraphicUnhighlight()

virtual void Graphic3d_CStructure::GraphicUnhighlight ( )
pure virtual

Unhighlights the structure and invalidates pointer to structure's highlight style.

Implemented in OpenGl_Structure.

◆ Groups()

const Graphic3d_SequenceOfGroup & Graphic3d_CStructure::Groups ( ) const
inline
Returns
graphic groups

◆ HasGroupTransformPersistence()

bool Graphic3d_CStructure::HasGroupTransformPersistence ( ) const
inline

Return TRUE if some groups might have transform persistence; FALSE by default.

◆ HighlightStyle()

const Handle< Graphic3d_PresentationAttributes > & Graphic3d_CStructure::HighlightStyle ( ) const
inline

Returns valid handle to highlight style of the structure in case if highlight flag is set to true.

◆ Identification()

Standard_Integer Graphic3d_CStructure::Identification ( ) const
inline

Return structure id (generated by Graphic3d_GraphicDriver::NewIdentification() during structure construction).

◆ IsAlwaysRendered()

Standard_Boolean Graphic3d_CStructure::IsAlwaysRendered ( ) const
inline

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

◆ IsCulled()

Standard_Boolean Graphic3d_CStructure::IsCulled ( ) const
inline

Returns FALSE if the structure hits the current view volume, otherwise returns TRUE.

◆ IsVisible() [1/2]

bool Graphic3d_CStructure::IsVisible ( ) const
inline

Return structure visibility flag.

◆ IsVisible() [2/2]

bool Graphic3d_CStructure::IsVisible ( const Standard_Integer  theViewId) const
inline

Return structure visibility considering both View Affinity and global visibility state.

◆ MarkAsNotCulled()

void Graphic3d_CStructure::MarkAsNotCulled ( ) const
inline

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

◆ NewGroup()

virtual Handle< Graphic3d_Group > Graphic3d_CStructure::NewGroup ( const Handle< Graphic3d_Structure > &  theStruct)
pure virtual

Create new group within this structure.

Implemented in OpenGl_Structure.

◆ OnVisibilityChanged()

virtual void Graphic3d_CStructure::OnVisibilityChanged ( )
pure virtual

Update structure visibility state.

Implemented in OpenGl_Structure.

◆ PreviousPriority()

Graphic3d_DisplayPriority Graphic3d_CStructure::PreviousPriority ( ) const
inline

Return previous structure display priority.

◆ Priority()

Graphic3d_DisplayPriority Graphic3d_CStructure::Priority ( ) const
inline

Return structure display priority.

◆ RemoveGroup()

virtual void Graphic3d_CStructure::RemoveGroup ( const Handle< Graphic3d_Group > &  theGroup)
pure virtual

Remove group from this structure.

Implemented in OpenGl_Structure.

◆ SetBndBoxClipCheck()

void Graphic3d_CStructure::SetBndBoxClipCheck ( Standard_Boolean  theBndBoxClipCheck)
inline

Enable/disable check of object's bounding box clipping before drawing of object.

◆ SetClipPlanes()

void Graphic3d_CStructure::SetClipPlanes ( const Handle< Graphic3d_SequenceOfHClipPlane > &  thePlanes)
inline

Pass clip planes to the associated graphic driver structure.

◆ SetCulled()

void Graphic3d_CStructure::SetCulled ( Standard_Boolean  theIsCulled) const
inline

Marks structure as culled/not culled - note that IsAlwaysRendered() is ignored here!

◆ SetGroupTransformPersistence()

void Graphic3d_CStructure::SetGroupTransformPersistence ( bool  theValue)
inline

Set if some groups might have transform persistence.

◆ SetPreviousPriority()

void Graphic3d_CStructure::SetPreviousPriority ( Graphic3d_DisplayPriority  thePriority)
inline

Set previous structure display priority.

◆ SetPriority()

void Graphic3d_CStructure::SetPriority ( Graphic3d_DisplayPriority  thePriority)
inline

Set structure display priority.

◆ SetTransformation()

virtual void Graphic3d_CStructure::SetTransformation ( const Handle< TopLoc_Datum3D > &  theTrsf)
inlinevirtual

Assign transformation.

Reimplemented in OpenGl_Structure.

◆ SetTransformPersistence()

virtual void Graphic3d_CStructure::SetTransformPersistence ( const Handle< Graphic3d_TransformPers > &  theTrsfPers)
inlinevirtual

Set transformation persistence.

Reimplemented in OpenGl_Structure.

◆ SetZLayer()

virtual void Graphic3d_CStructure::SetZLayer ( const Graphic3d_ZLayerId  theLayerIndex)
inlinevirtual

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

Reimplemented in OpenGl_Structure.

◆ ShadowLink()

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

Create shadow link to this structure.

Implemented in OpenGl_Structure.

◆ Transformation()

const Handle< TopLoc_Datum3D > & Graphic3d_CStructure::Transformation ( ) const
inline

Return transformation.

◆ TransformPersistence()

const Handle< Graphic3d_TransformPers > & Graphic3d_CStructure::TransformPersistence ( ) const
inline

Return transformation persistence.

◆ updateLayerTransformation()

virtual void Graphic3d_CStructure::updateLayerTransformation ( )
inlinevirtual

Update render transformation matrix.

Reimplemented in OpenGl_Structure.

◆ ZLayer()

Graphic3d_ZLayerId Graphic3d_CStructure::ZLayer ( ) const
inline

Get z layer ID.

Field Documentation

◆ highlight

unsigned Graphic3d_CStructure::highlight

◆ HLRValidation

unsigned Graphic3d_CStructure::HLRValidation

◆ Is2dText

unsigned Graphic3d_CStructure::Is2dText

◆ IsForHighlight

unsigned Graphic3d_CStructure::IsForHighlight

◆ IsInfinite

unsigned Graphic3d_CStructure::IsInfinite

◆ IsMutable

unsigned Graphic3d_CStructure::IsMutable

◆ myBndBox

Graphic3d_BndBox3d Graphic3d_CStructure::myBndBox
protected

◆ myBndBoxClipCheck

Standard_Boolean Graphic3d_CStructure::myBndBoxClipCheck
protected

Flag responsible for checking of bounding box clipping before drawing of object.

◆ myClipPlanes

Handle< Graphic3d_SequenceOfHClipPlane > Graphic3d_CStructure::myClipPlanes
protected

◆ myGraphicDriver

Handle< Graphic3d_GraphicDriver > Graphic3d_CStructure::myGraphicDriver
protected

◆ myGroups

Graphic3d_SequenceOfGroup Graphic3d_CStructure::myGroups
protected

◆ myHasGroupTrsf

Standard_Boolean Graphic3d_CStructure::myHasGroupTrsf
protected

flag specifying that some groups might have transform persistence

◆ myHighlightStyle

Handle< Graphic3d_PresentationAttributes > Graphic3d_CStructure::myHighlightStyle
protected

◆ myId

Standard_Integer Graphic3d_CStructure::myId
protected

Current highlight style; is set only if highlight flag is true.

◆ myIsCulled

Standard_Boolean Graphic3d_CStructure::myIsCulled
mutableprotected

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

◆ myPreviousPriority

Graphic3d_DisplayPriority Graphic3d_CStructure::myPreviousPriority
protected

◆ myPriority

Graphic3d_DisplayPriority Graphic3d_CStructure::myPriority
protected

◆ myTrsf

Handle< TopLoc_Datum3D > Graphic3d_CStructure::myTrsf
protected

◆ myTrsfPers

Handle< Graphic3d_TransformPers > Graphic3d_CStructure::myTrsfPers
protected

◆ myZLayer

Graphic3d_ZLayerId Graphic3d_CStructure::myZLayer
protected

◆ stick

unsigned Graphic3d_CStructure::stick

displaying state - should be set when structure has been added to scene graph (but can be in hidden state)

◆ ViewAffinity

Handle< Graphic3d_ViewAffinity > Graphic3d_CStructure::ViewAffinity

view affinity mask

◆ visible

unsigned Graphic3d_CStructure::visible

visibility flag - can be used to suppress structure while leaving it in the scene graph


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