![]() |
Open CASCADE Technology Reference Manual 8.0.0
|
This class allows the definition of groups of primitives inside of graphic objects (presentations). A group contains the primitives and attributes for which the range is limited to this group. The primitives of a group can be globally suppressed. More...
#include <Graphic3d_Group.hxx>

Public Member Functions | |
| virtual void | Clear (const bool theUpdateStructureMgr=true) |
| Suppress all primitives and attributes of <me>. To clear group without update in Graphic3d_StructureManager pass false as <theUpdateStructureMgr>. This used on context and viewer destruction, when the pointer to structure manager in Graphic3d_Structure could be already released (pointers are used here to avoid handle cross-reference);. | |
| ~Graphic3d_Group () override | |
| Suppress the group <me> in the structure. | |
| void | Remove () |
| Suppress the group <me> in the structure. Warning: No more graphic operations in <me> after this call. Modifies the current modelling transform persistence (pan, zoom or rotate) Get the current modelling transform persistence (pan, zoom or rotate) | |
| virtual occ::handle< Graphic3d_Aspects > | Aspects () const =0 |
| Return fill area aspect. | |
| virtual void | SetGroupPrimitivesAspect (const occ::handle< Graphic3d_Aspects > &theAspect)=0 |
| Modifies the context for all the face primitives of the group. | |
| virtual void | SetPrimitivesAspect (const occ::handle< Graphic3d_Aspects > &theAspect)=0 |
| Modifies the current context of the group to give another aspect for all the primitives created after this call in the group. | |
| virtual void | SynchronizeAspects ()=0 |
| Update presentation aspects after their modification. | |
| virtual void | ReplaceAspects (const NCollection_DataMap< occ::handle< Graphic3d_Aspects >, occ::handle< Graphic3d_Aspects > > &theMap)=0 |
| Replace aspects specified in the replacement map. | |
| virtual void | AddText (const occ::handle< Graphic3d_Text > &theTextParams, const bool theToEvalMinMax=true) |
| Adds a text for display. | |
| virtual void | AddPrimitiveArray (const Graphic3d_TypeOfPrimitiveArray theType, const occ::handle< Graphic3d_IndexBuffer > &theIndices, const occ::handle< Graphic3d_Buffer > &theAttribs, const occ::handle< Graphic3d_BoundBuffer > &theBounds, const bool theToEvalMinMax=true) |
| Adds an array of primitives for display. | |
| void | AddPrimitiveArray (const occ::handle< Graphic3d_ArrayOfPrimitives > &thePrim, const bool theToEvalMinMax=true) |
| Adds an array of primitives for display. | |
| virtual void | SetStencilTestOptions (const bool theIsEnabled)=0 |
| sets the stencil test to theIsEnabled state; | |
| virtual void | SetFlippingOptions (const bool theIsEnabled, const gp_Ax2 &theRefPlane)=0 |
| sets the flipping to theIsEnabled state. | |
| const occ::handle< Graphic3d_Flipper > & | Flipper () const |
| Return flipper metadata describing the runtime flip of this group, or null if not flipped. | |
| const gp_Trsf & | Transformation () const |
| Return transformation. | |
| virtual void | SetTransformation (const gp_Trsf &theTrsf) |
| Assign transformation. | |
| const occ::handle< Graphic3d_TransformPers > & | TransformPersistence () const |
| Return transformation persistence. | |
| virtual void | SetTransformPersistence (const occ::handle< Graphic3d_TransformPers > &theTrsfPers) |
| Set transformation persistence. | |
| bool | IsDeleted () const |
| Returns true if the group <me> is deleted. <me> is deleted after the call Remove (me) or the associated structure is deleted. | |
| bool | IsEmpty () const |
| Returns true if the group <me> is empty. | |
| void | MinMaxValues (double &theXMin, double &theYMin, double &theZMin, double &theXMax, double &theYMax, double &theZMax) const |
| Returns the coordinates of the boundary box of the group. | |
| void | SetMinMaxValues (const double theXMin, const double theYMin, const double theZMin, const double theXMax, const double theYMax, const double theZMax) |
| Sets the coordinates of the boundary box of the group. | |
| const Graphic3d_BndBox4f & | BoundingBox () const |
| Returns boundary box of the group <me> without transformation applied,. | |
| Graphic3d_BndBox4f & | ChangeBoundingBox () |
| Returns non-const boundary box of the group <me> without transformation applied,. | |
| occ::handle< Graphic3d_Structure > | Structure () const |
| Returns the structure containing the group <me>. | |
| void | SetClosed (const bool theIsClosed) |
| Changes property shown that primitive arrays within this group form closed volume (do no contain open shells). | |
| bool | IsClosed () const |
| Return true if primitive arrays within this graphic group form closed volume (do no contain open shells). | |
Public Member Functions inherited from Standard_Transient | |
| 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 ()=default |
| Destructor must be virtual. | |
| virtual const opencascade::handle< Standard_Type > & | DynamicType () const |
| Returns a type descriptor about this object. | |
| bool | IsInstance (const opencascade::handle< Standard_Type > &theType) const |
| Returns a true value if this is an instance of Type. | |
| bool | IsInstance (const char *const theTypeName) const |
| Returns a true value if this is an instance of TypeName. | |
| bool | 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. | |
| bool | IsKind (const char *const 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. | |
| int | GetRefCount () const noexcept |
| Get the reference counter of this object. | |
| void | IncrementRefCounter () noexcept |
| Increments the reference counter of this object. Uses relaxed memory ordering since incrementing only requires atomicity, not synchronization with other memory operations. | |
| int | DecrementRefCounter () noexcept |
| Decrements the reference counter of this object; returns the decremented value. Uses release ordering for the decrement to ensure all writes to the object are visible before the count reaches zero. An acquire fence is added only when the count reaches zero, ensuring proper synchronization before deletion. This is more efficient than using acq_rel for every decrement. | |
| virtual void | Delete () const |
| Memory deallocator for transient classes. | |
obsolete methods | |
| Deprecated method pass Graphic3d_ArrayOfPoints to const bool | theToEvalMinMax = true) |
| current transform persistence | |
| Deprecated method use const Graphic3d_Vertex & | APoint |
| current transform persistence | |
| Deprecated method use const Graphic3d_Vertex const double | AHeight |
| current transform persistence | |
| Deprecated method use const Graphic3d_Vertex const double const double | AAngle |
| current transform persistence | |
| Deprecated method use const Graphic3d_Vertex const double const double const Graphic3d_TextPath | ATp |
| current transform persistence | |
| Deprecated method use const Graphic3d_Vertex const double const double const Graphic3d_TextPath const Graphic3d_HorizontalTextAlignment | AHta |
| current transform persistence | |
| Deprecated method use const Graphic3d_Vertex const double const double const Graphic3d_TextPath const Graphic3d_HorizontalTextAlignment const Graphic3d_VerticalTextAlignment | AVta |
| current transform persistence | |
| Deprecated method use const Graphic3d_Vertex const double const double const Graphic3d_TextPath const Graphic3d_HorizontalTextAlignment const Graphic3d_VerticalTextAlignment const bool | EvalMinMax = true) |
| current transform persistence | |
| Deprecated method use const Graphic3d_Vertex const double const bool | EvalMinMax = true) |
| current transform persistence | |
| Deprecated method use const gp_Ax2 & | theOrientation |
| current transform persistence | |
| Deprecated method use const gp_Ax2 const double | theHeight |
| current transform persistence | |
| Deprecated method use const gp_Ax2 const double const double | theAngle |
| current transform persistence | |
| Deprecated method use const gp_Ax2 const double const double const Graphic3d_TextPath | theTp |
| current transform persistence | |
| Deprecated method use const gp_Ax2 const double const double const Graphic3d_TextPath const Graphic3d_HorizontalTextAlignment | theHTA |
| current transform persistence | |
| Deprecated method use const gp_Ax2 const double const double const Graphic3d_TextPath const Graphic3d_HorizontalTextAlignment const Graphic3d_VerticalTextAlignment | theVTA |
| current transform persistence | |
| Deprecated method use const gp_Ax2 const double const double const Graphic3d_TextPath const Graphic3d_HorizontalTextAlignment const Graphic3d_VerticalTextAlignment const bool | theToEvalMinMax = true |
| current transform persistence | |
| Deprecated method use const gp_Ax2 const double const double const Graphic3d_TextPath const Graphic3d_HorizontalTextAlignment const Graphic3d_VerticalTextAlignment const bool const bool | theHasOwnAnchor = true) |
| current transform persistence | |
| occ::handle< Graphic3d_TransformPers > | myTrsfPers |
| current transform persistence | |
| occ::handle< Graphic3d_Flipper > | myFlipper |
| current group flipping | |
| Graphic3d_Structure * | myStructure |
| pointer to the parent structure | |
| Graphic3d_BndBox4f | myBounds |
| bounding box | |
| gp_Trsf | myTrsf |
| group transformation | |
| bool | myIsClosed |
| flag indicating closed volume | |
| Deprecated method | Marker () |
| Deprecated method pass Graphic3d_ArrayOfPoints to | AddPrimitiveArray () instead") 1 void Marker( const Graphic3d_Vertex & thePoint |
| current transform persistence | |
| Deprecated method | Text () with obsolete arguments |
| Creates the string <AText> at position <APoint>. The 3D point of attachment is projected. The text is written in the plane of projection. The attributes are given with respect to the plane of projection. AHeight : Height of text. (Relative to the Normalized Projection Coordinates (NPC) Space). AAngle : Orientation of the text (with respect to the horizontal). | |
| Deprecated method use | AddText () instead of it") 1 virtual void Text( const char* const AText |
| current transform persistence | |
| Deprecated method | Text () with obsolete arguments |
| Creates the string <AText> at position <APoint>. The 3D point of attachment is projected. The text is written in the plane of projection. The attributes are given with respect to the plane of projection. AHeight : Height of text. (Relative to the Normalized Projection Coordinates (NPC) Space). The other attributes have the following default values: AAngle : PI / 2. ATp : TP_RIGHT AHta : HTA_LEFT AVta : VTA_BOTTOM. | |
| Deprecated method use | AddText () instead of it") 1 void Text( const char* const AText |
| current transform persistence | |
| Deprecated method | Text () with obsolete arguments |
| Creates the string <AText> at position <APoint>. The 3D point of attachment is projected. The text is written in the plane of projection. The attributes are given with respect to the plane of projection. AHeight : Height of text. (Relative to the Normalized Projection Coordinates (NPC) Space). AAngle : Orientation of the text (with respect to the horizontal). | |
| Deprecated method use | AddText () instead of it") 1 void Text( const TCollection_ExtendedString & AText |
| current transform persistence | |
| Deprecated method | Text () with obsolete arguments |
| Creates the string <AText> at position <APoint>. The 3D point of attachment is projected. The text is written in the plane of projection. The attributes are given with respect to the plane of projection. AHeight : Height of text. (Relative to the Normalized Projection Coordinates (NPC) Space). The other attributes have the following default values: AAngle : PI / 2. ATp : TP_RIGHT AHta : HTA_LEFT AVta : VTA_BOTTOM. | |
| Deprecated method use | AddText () instead of it") 1 void Text( const TCollection_ExtendedString & AText |
| current transform persistence | |
| Deprecated method | Text () with obsolete arguments |
| Creates the string <theText> at orientation <theOrientation> in 3D space. | |
| Deprecated method use | AddText () instead of it") 1 virtual void Text( const char* const theTextUtf |
| current transform persistence | |
| Deprecated method | Text () with obsolete arguments |
| Creates the string <theText> at orientation <theOrientation> in 3D space. | |
| Deprecated method use | AddText () instead of it") 1 virtual void Text( const TCollection_ExtendedString & theText |
| current transform persistence | |
| virtual void | DumpJson (Standard_OStream &theOStream, int theDepth=-1) const |
| Dumps the content of me into the stream. | |
| Graphic3d_Group (const occ::handle< Graphic3d_Structure > &theStructure) | |
| Creates a group in the structure <AStructure>. | |
| void | Update () const |
| Calls the Update method of the StructureManager which contains the associated Structure of the Group <me>. | |
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 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. | |
This class allows the definition of groups of primitives inside of graphic objects (presentations). A group contains the primitives and attributes for which the range is limited to this group. The primitives of a group can be globally suppressed.
There are two main group usage models:
1) Non-modifiable, or unbounded, group ('black box'). Developers can repeat a sequence of SetPrimitivesAspect() with AddPrimitiveArray() methods arbitrary number of times to define arbitrary number of primitive "blocks" each having individual aspect values. Any modification of such a group is forbidden, as aspects and primitives are mixed in memory without any high-level logical structure, and any modification is very likely to result in corruption of the group internal data. It is necessary to recreate such a group as a whole when some attribute should be changed. (for example, in terms of AIS it is necessary to re-Compute() the whole presentation each time). 2) Bounded group. Developers should specify the necessary group aspects with help of SetGroupPrimitivesAspect() and then add primitives to the group. Such a group have simplified organization in memory (a single block of attributes followed by a block of primitives) and therefore it can be modified, if it is necessary to change parameters of some aspect that has already been set, using methods: IsGroupPrimitivesAspectSet() to detect which aspect was set for primitives; GroupPrimitivesAspect() to read current aspect values and SetGroupPrimitivesAspect() to set new values.
Developers are strongly recommended to take all the above into account when filling Graphic3d_Group with aspects and primitives and choose the group usage model beforehand out of application needs. Note that some Graphic3d_Group class virtual methods contain only base implementation that is extended by the descendant class in OpenGl package.
|
override |
Suppress the group <me> in the structure.
|
protected |
Creates a group in the structure <AStructure>.
| Deprecated method pass Graphic3d_ArrayOfPoints to Graphic3d_Group::AddPrimitiveArray | ( | ) | const & |
current transform persistence
|
virtual |
Adds an array of primitives for display.
Reimplemented in OpenGl_Group.
| void Graphic3d_Group::AddPrimitiveArray | ( | const occ::handle< Graphic3d_ArrayOfPrimitives > & | thePrim, |
| const bool | theToEvalMinMax = true ) |
Adds an array of primitives for display.
| Deprecated method use Graphic3d_Group::AddText | ( | ) | const |
current transform persistence
| Deprecated method use Graphic3d_Group::AddText | ( | ) | const |
current transform persistence
| Deprecated method use Graphic3d_Group::AddText | ( | ) | const & |
current transform persistence
| Deprecated method use Graphic3d_Group::AddText | ( | ) | const |
current transform persistence
| Deprecated method use Graphic3d_Group::AddText | ( | ) | const & |
current transform persistence
| Deprecated method use Graphic3d_Group::AddText | ( | ) | const & |
current transform persistence
|
virtual |
Adds a text for display.
Reimplemented in OpenGl_Group.
|
pure virtual |
Return fill area aspect.
Implemented in OpenGl_Group.
|
inline |
Returns boundary box of the group <me> without transformation applied,.
|
inline |
Returns non-const boundary box of the group <me> without transformation applied,.
Suppress all primitives and attributes of <me>. To clear group without update in Graphic3d_StructureManager pass false as <theUpdateStructureMgr>. This used on context and viewer destruction, when the pointer to structure manager in Graphic3d_Structure could be already released (pointers are used here to avoid handle cross-reference);.
Reimplemented in OpenGl_Group.
|
virtual |
Dumps the content of me into the stream.
Reimplemented in OpenGl_Group.
|
inline |
Return flipper metadata describing the runtime flip of this group, or null if not flipped.
|
inline |
Return true if primitive arrays within this graphic group form closed volume (do no contain open shells).
| bool Graphic3d_Group::IsDeleted | ( | ) | const |
Returns true if the group <me> is deleted. <me> is deleted after the call Remove (me) or the associated structure is deleted.
| bool Graphic3d_Group::IsEmpty | ( | ) | const |
Returns true if the group <me> is empty.
| Deprecated method Graphic3d_Group::Marker | ( | ) |
| void Graphic3d_Group::MinMaxValues | ( | double & | theXMin, |
| double & | theYMin, | ||
| double & | theZMin, | ||
| double & | theXMax, | ||
| double & | theYMax, | ||
| double & | theZMax ) const |
Returns the coordinates of the boundary box of the group.
| void Graphic3d_Group::Remove | ( | ) |
Suppress the group <me> in the structure. Warning: No more graphic operations in <me> after this call. Modifies the current modelling transform persistence (pan, zoom or rotate) Get the current modelling transform persistence (pan, zoom or rotate)
|
pure virtual |
Replace aspects specified in the replacement map.
Implemented in OpenGl_Group.
Changes property shown that primitive arrays within this group form closed volume (do no contain open shells).
|
pure virtual |
sets the flipping to theIsEnabled state.
Implemented in OpenGl_Group.
|
pure virtual |
Modifies the context for all the face primitives of the group.
Implemented in OpenGl_Group.
| void Graphic3d_Group::SetMinMaxValues | ( | const double | theXMin, |
| const double | theYMin, | ||
| const double | theZMin, | ||
| const double | theXMax, | ||
| const double | theYMax, | ||
| const double | theZMax ) |
Sets the coordinates of the boundary box of the group.
|
pure virtual |
Modifies the current context of the group to give another aspect for all the primitives created after this call in the group.
Implemented in OpenGl_Group.
sets the stencil test to theIsEnabled state;
Implemented in OpenGl_Group.
Assign transformation.
|
virtual |
Set transformation persistence.
| occ::handle< Graphic3d_Structure > Graphic3d_Group::Structure | ( | ) | const |
Returns the structure containing the group <me>.
Update presentation aspects after their modification.
Implemented in OpenGl_Group.
| Deprecated method Graphic3d_Group::Text | ( | ) |
Creates the string <AText> at position <APoint>. The 3D point of attachment is projected. The text is written in the plane of projection. The attributes are given with respect to the plane of projection. AHeight : Height of text. (Relative to the Normalized Projection Coordinates (NPC) Space). AAngle : Orientation of the text (with respect to the horizontal).
| Deprecated method Graphic3d_Group::Text | ( | ) |
Creates the string <AText> at position <APoint>. The 3D point of attachment is projected. The text is written in the plane of projection. The attributes are given with respect to the plane of projection. AHeight : Height of text. (Relative to the Normalized Projection Coordinates (NPC) Space). The other attributes have the following default values: AAngle : PI / 2. ATp : TP_RIGHT AHta : HTA_LEFT AVta : VTA_BOTTOM.
| Deprecated method Graphic3d_Group::Text | ( | ) |
Creates the string <AText> at position <APoint>. The 3D point of attachment is projected. The text is written in the plane of projection. The attributes are given with respect to the plane of projection. AHeight : Height of text. (Relative to the Normalized Projection Coordinates (NPC) Space). AAngle : Orientation of the text (with respect to the horizontal).
| Deprecated method Graphic3d_Group::Text | ( | ) |
Creates the string <AText> at position <APoint>. The 3D point of attachment is projected. The text is written in the plane of projection. The attributes are given with respect to the plane of projection. AHeight : Height of text. (Relative to the Normalized Projection Coordinates (NPC) Space). The other attributes have the following default values: AAngle : PI / 2. ATp : TP_RIGHT AHta : HTA_LEFT AVta : VTA_BOTTOM.
| Deprecated method Graphic3d_Group::Text | ( | ) |
Creates the string <theText> at orientation <theOrientation> in 3D space.
| Deprecated method Graphic3d_Group::Text | ( | ) |
Creates the string <theText> at orientation <theOrientation> in 3D space.
|
inline |
Return transformation.
|
inline |
Return transformation persistence.
|
protected |
Calls the Update method of the StructureManager which contains the associated Structure of the Group <me>.
| Deprecated method use const Graphic3d_Vertex const double const double Graphic3d_Group::AAngle |
current transform persistence
| Deprecated method use const Graphic3d_Vertex const double Graphic3d_Group::AHeight |
current transform persistence
| Deprecated method use const Graphic3d_Vertex const double const double const Graphic3d_TextPath const Graphic3d_HorizontalTextAlignment Graphic3d_Group::AHta |
current transform persistence
| Deprecated method use const Graphic3d_Vertex & Graphic3d_Group::APoint |
current transform persistence
| Deprecated method use const Graphic3d_Vertex const double const double const Graphic3d_TextPath Graphic3d_Group::ATp |
current transform persistence
| Deprecated method use const Graphic3d_Vertex const double const double const Graphic3d_TextPath const Graphic3d_HorizontalTextAlignment const Graphic3d_VerticalTextAlignment Graphic3d_Group::AVta |
current transform persistence
| Deprecated method use const Graphic3d_Vertex const double const bool Graphic3d_Group::EvalMinMax = true) |
current transform persistence
| Deprecated method use const Graphic3d_Vertex const double const bool Graphic3d_Group::EvalMinMax = true) |
current transform persistence
|
protected |
bounding box
|
protected |
current group flipping
|
protected |
flag indicating closed volume
|
protected |
pointer to the parent structure
|
protected |
group transformation
|
protected |
current transform persistence
| Deprecated method use const gp_Ax2 const double const double Graphic3d_Group::theAngle |
current transform persistence
| Deprecated method use const gp_Ax2 const double const double const Graphic3d_TextPath const Graphic3d_HorizontalTextAlignment const Graphic3d_VerticalTextAlignment const bool const bool Graphic3d_Group::theHasOwnAnchor = true) |
current transform persistence
| Deprecated method use const gp_Ax2 const double Graphic3d_Group::theHeight |
current transform persistence
| Deprecated method use const gp_Ax2 const double const double const Graphic3d_TextPath const Graphic3d_HorizontalTextAlignment Graphic3d_Group::theHTA |
current transform persistence
| Deprecated method use const gp_Ax2 & Graphic3d_Group::theOrientation |
current transform persistence
| Deprecated method use const gp_Ax2 const double const double const Graphic3d_TextPath const Graphic3d_HorizontalTextAlignment const Graphic3d_VerticalTextAlignment const bool Graphic3d_Group::theToEvalMinMax = true) |
current transform persistence
| Deprecated method use const gp_Ax2 const double const double const Graphic3d_TextPath const Graphic3d_HorizontalTextAlignment const Graphic3d_VerticalTextAlignment const bool Graphic3d_Group::theToEvalMinMax = true |
current transform persistence
| Deprecated method use const gp_Ax2 const double const double const Graphic3d_TextPath Graphic3d_Group::theTp |
current transform persistence
| Deprecated method use const gp_Ax2 const double const double const Graphic3d_TextPath const Graphic3d_HorizontalTextAlignment const Graphic3d_VerticalTextAlignment Graphic3d_Group::theVTA |
current transform persistence