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) |
| Supress 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);. More...
|
|
virtual | ~Graphic3d_Group () |
| Supress the group <me> in the structure. More...
|
|
void | Remove () |
| Supress 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) More...
|
|
virtual Handle< Graphic3d_AspectLine3d > | LineAspect () const =0 |
| Return line aspect. More...
|
|
virtual void | SetGroupPrimitivesAspect (const Handle< Graphic3d_AspectLine3d > &theAspect)=0 |
| Assign line aspect to the group. More...
|
|
virtual Handle< Graphic3d_AspectFillArea3d > | FillAreaAspect () const =0 |
| Return fill area aspect. More...
|
|
virtual void | SetGroupPrimitivesAspect (const Handle< Graphic3d_AspectFillArea3d > &theAspect)=0 |
| Modifies the context for all the face primitives of the group. More...
|
|
virtual Handle< Graphic3d_AspectText3d > | TextAspect () const =0 |
| Return text aspect. More...
|
|
virtual void | SetGroupPrimitivesAspect (const Handle< Graphic3d_AspectText3d > &theAspect)=0 |
| Modifies the context for all the text primitives of the group. More...
|
|
virtual Handle< Graphic3d_AspectMarker3d > | MarkerAspect () const =0 |
| Return marker aspect. More...
|
|
virtual void | SetGroupPrimitivesAspect (const Handle< Graphic3d_AspectMarker3d > &theAspect)=0 |
| Modifies the context for all the marker primitives of the group. More...
|
|
virtual void | SetPrimitivesAspect (const Handle< Graphic3d_AspectLine3d > &theAspect)=0 |
| Modifies the current context of the group to give another aspect for all the line primitives created after this call in the group. More...
|
|
virtual void | SetPrimitivesAspect (const Handle< Graphic3d_AspectFillArea3d > &theAspect)=0 |
| Modifies the current context of the group to give another aspect for all the face primitives created after this call in the group. More...
|
|
virtual void | SetPrimitivesAspect (const Handle< Graphic3d_AspectText3d > &theAspect)=0 |
| Modifies the current context of the group to give another aspect for all the text primitives created after this call in the group. More...
|
|
virtual void | SetPrimitivesAspect (const Handle< Graphic3d_AspectMarker3d > &theAspect)=0 |
| Modifies the current context of the group to give another aspect for all the marker primitives created after this call in the group. More...
|
|
Standard_Boolean | IsGroupPrimitivesAspectSet (const Graphic3d_GroupAspect theAspect) const |
| Returns TRUE if aspect is set for the group. More...
|
|
void | GroupPrimitivesAspect (const Handle< Graphic3d_AspectLine3d > &theAspLine, const Handle< Graphic3d_AspectText3d > &theAspText, const Handle< Graphic3d_AspectMarker3d > &theAspMarker, const Handle< Graphic3d_AspectFillArea3d > &theAspFill) const |
| Returns the context of all the primitives of the group. More...
|
|
void | PrimitivesAspect (const Handle< Graphic3d_AspectLine3d > &theAspLine, const Handle< Graphic3d_AspectText3d > &theAspText, const Handle< Graphic3d_AspectMarker3d > &theAspMarker, const Handle< Graphic3d_AspectFillArea3d > &theAspFill) const |
| Returns the last inserted context in the group for each kind of primitives. More...
|
|
virtual void | Text (const Standard_CString AText, const Graphic3d_Vertex &APoint, const Standard_Real AHeight, const Quantity_PlaneAngle 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). More...
|
|
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. More...
|
|
void | Text (const TCollection_ExtendedString &AText, const Graphic3d_Vertex &APoint, const Standard_Real AHeight, const Quantity_PlaneAngle 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). More...
|
|
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. More...
|
|
virtual void | Text (const Standard_CString theTextUtf, const gp_Ax2 &theOrientation, const Standard_Real theHeight, const Quantity_PlaneAngle 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. More...
|
|
virtual void | Text (const TCollection_ExtendedString &theText, const gp_Ax2 &theOrientation, const Standard_Real theHeight, const Quantity_PlaneAngle 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. More...
|
|
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. More...
|
|
void | AddPrimitiveArray (const Handle< Graphic3d_ArrayOfPrimitives > &thePrim, const Standard_Boolean theToEvalMinMax=Standard_True) |
| Adds an array of primitives for display. More...
|
|
void | Marker (const Graphic3d_Vertex &thePoint, const Standard_Boolean theToEvalMinMax=Standard_True) |
| Creates a primitive array with single marker using AddPrimitiveArray(). More...
|
|
virtual void | SetStencilTestOptions (const Standard_Boolean theIsEnabled)=0 |
| sets the stencil test to theIsEnabled state; More...
|
|
virtual void | SetFlippingOptions (const Standard_Boolean theIsEnabled, const gp_Ax2 &theRefPlane)=0 |
| sets the flipping to theIsEnabled state. More...
|
|
bool | ContainsFacet () const |
| Returns true if the group contains Polygons, Triangles or Quadrangles. More...
|
|
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. More...
|
|
Standard_Boolean | IsEmpty () const |
| Returns Standard_True if the group <me> is empty. More...
|
|
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. More...
|
|
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. More...
|
|
const Graphic3d_BndBox4f & | BoundingBox () const |
| Returns boundary box of the group <me> without transformation applied,. More...
|
|
Graphic3d_BndBox4f & | ChangeBoundingBox () |
| Returns non-const boundary box of the group <me> without transformation applied,. More...
|
|
Handle< Graphic3d_Structure > | Structure () const |
| Returns the structure containing the group <me>. More...
|
|
void | SetClosed (const bool theIsClosed) |
| Changes property shown that primitive arrays within this group form closed volume (do no contain open shells). More...
|
|
bool | IsClosed () const |
| Return true if primitive arrays within this graphic group form closed volume (do no contain open shells). More...
|
|
virtual void | Delete () const override |
| Memory deallocator for transient classes. More...
|
|
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 const opencascade::handle< Standard_Type > & | DynamicType () const |
| Returns a type descriptor about this object. More...
|
|
Standard_Boolean | IsInstance (const opencascade::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 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. 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...
|
|
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. More...
|
|
Standard_Integer | GetRefCount () const |
| Get the reference counter of this object. More...
|
|
void | IncrementRefCounter () const |
| Increments the reference counter of this object. More...
|
|
Standard_Integer | DecrementRefCounter () const |
| Decrements the reference counter of this object; returns the decremented value. More...
|
|
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 apect 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.