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...
|
virtual void | Clear (const Standard_Boolean theUpdateStructureMgr=Standard_True) |
| Suppress all primitives and attributes of <me>. To clear group without update in Graphic3d_StructureManager pass Standard_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);.
|
|
virtual | ~Graphic3d_Group () |
| 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 Handle< Graphic3d_Aspects > | Aspects () const =0 |
| Return fill area aspect.
|
|
virtual void | SetGroupPrimitivesAspect (const Handle< Graphic3d_Aspects > &theAspect)=0 |
| Modifies the context for all the face primitives of the group.
|
|
virtual void | SetPrimitivesAspect (const 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 Graphic3d_MapOfAspectsToAspects &theMap)=0 |
| Replace aspects specified in the replacement map.
|
|
virtual void | AddText (const Handle< Graphic3d_Text > &theTextParams, const Standard_Boolean theToEvalMinMax=Standard_True) |
| Adds a text for display.
|
|
virtual void | AddPrimitiveArray (const Graphic3d_TypeOfPrimitiveArray theType, const Handle< Graphic3d_IndexBuffer > &theIndices, const Handle< Graphic3d_Buffer > &theAttribs, const Handle< Graphic3d_BoundBuffer > &theBounds, const Standard_Boolean theToEvalMinMax=Standard_True) |
| Adds an array of primitives for display.
|
|
void | AddPrimitiveArray (const Handle< Graphic3d_ArrayOfPrimitives > &thePrim, const Standard_Boolean theToEvalMinMax=Standard_True) |
| Adds an array of primitives for display.
|
|
virtual void | SetStencilTestOptions (const Standard_Boolean theIsEnabled)=0 |
| sets the stencil test to theIsEnabled state;
|
|
virtual void | SetFlippingOptions (const Standard_Boolean theIsEnabled, const gp_Ax2 &theRefPlane)=0 |
| sets the flipping to theIsEnabled state.
|
|
const Handle< Graphic3d_TransformPers > & | TransformPersistence () const |
| Return transformation persistence.
|
|
virtual void | SetTransformPersistence (const Handle< Graphic3d_TransformPers > &theTrsfPers) |
| Set transformation persistence.
|
|
Standard_Boolean | IsDeleted () const |
| Returns Standard_True if the group <me> is deleted. <me> is deleted after the call Remove (me) or the associated structure is deleted.
|
|
Standard_Boolean | IsEmpty () const |
| Returns Standard_True if the group <me> is empty.
|
|
void | MinMaxValues (Standard_Real &theXMin, Standard_Real &theYMin, Standard_Real &theZMin, Standard_Real &theXMax, Standard_Real &theYMax, Standard_Real &theZMax) const |
| Returns the coordinates of the boundary box of the group.
|
|
void | SetMinMaxValues (const Standard_Real theXMin, const Standard_Real theYMin, const Standard_Real theZMin, const Standard_Real theXMax, const Standard_Real theYMax, const Standard_Real 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,.
|
|
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 () |
| 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.
|
|
|
Handle< Graphic3d_TransformPers > | myTrsfPers |
| current transform persistence
|
|
Graphic3d_Structure * | myStructure |
| pointer to the parent structure
|
|
Graphic3d_BndBox4f | myBounds |
| bounding box
|
|
bool | myIsClosed |
| flag indicating closed volume
|
|
void | Marker (const Graphic3d_Vertex &thePoint, const Standard_Boolean theToEvalMinMax=Standard_True) |
|
virtual void | Text (const Standard_CString AText, const Graphic3d_Vertex &APoint, const Standard_Real AHeight, const Standard_Real AAngle, const Graphic3d_TextPath ATp, const Graphic3d_HorizontalTextAlignment AHta, const Graphic3d_VerticalTextAlignment AVta, const Standard_Boolean EvalMinMax=Standard_True) |
| 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).
|
|
void | Text (const Standard_CString AText, const Graphic3d_Vertex &APoint, const Standard_Real AHeight, const Standard_Boolean EvalMinMax=Standard_True) |
| 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.
|
|
void | Text (const TCollection_ExtendedString &AText, const Graphic3d_Vertex &APoint, const Standard_Real AHeight, const Standard_Real AAngle, const Graphic3d_TextPath ATp, const Graphic3d_HorizontalTextAlignment AHta, const Graphic3d_VerticalTextAlignment AVta, const Standard_Boolean EvalMinMax=Standard_True) |
| 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).
|
|
void | Text (const TCollection_ExtendedString &AText, const Graphic3d_Vertex &APoint, const Standard_Real AHeight, const Standard_Boolean EvalMinMax=Standard_True) |
| 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.
|
|
virtual void | Text (const Standard_CString theTextUtf, const gp_Ax2 &theOrientation, const Standard_Real theHeight, const Standard_Real theAngle, const Graphic3d_TextPath theTp, const Graphic3d_HorizontalTextAlignment theHTA, const Graphic3d_VerticalTextAlignment theVTA, const Standard_Boolean theToEvalMinMax=Standard_True, const Standard_Boolean theHasOwnAnchor=Standard_True) |
| Creates the string <theText> at orientation <theOrientation> in 3D space.
|
|
virtual void | Text (const TCollection_ExtendedString &theText, const gp_Ax2 &theOrientation, const Standard_Real theHeight, const Standard_Real theAngle, const Graphic3d_TextPath theTp, const Graphic3d_HorizontalTextAlignment theHTA, const Graphic3d_VerticalTextAlignment theVTA, const Standard_Boolean theToEvalMinMax=Standard_True, const Standard_Boolean theHasOwnAnchor=Standard_True) |
| Creates the string <theText> at orientation <theOrientation> in 3D space.
|
|
virtual void | DumpJson (Standard_OStream &theOStream, Standard_Integer theDepth=-1) const |
| Dumps the content of me into the stream.
|
|
| Graphic3d_Group (const 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>.
|
|
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.