Open CASCADE Technology 7.8.0
|
This class allows the definition a graphic object. This graphic structure can be displayed, erased, or highlighted. This graphic structure can be connected with another graphic structure. More...
#include <Graphic3d_Structure.hxx>
Public Member Functions | |
Graphic3d_Structure (const Handle< Graphic3d_StructureManager > &theManager, const Handle< Graphic3d_Structure > &theLinkPrs=Handle< Graphic3d_Structure >()) | |
Creates a graphic object in the manager theManager. It will appear in all the views of the visualiser. The structure is not displayed when it is created. | |
virtual void | Clear (const Standard_Boolean WithDestruction=Standard_True) |
if WithDestruction == Standard_True then suppress all the groups of primitives in the structure. and it is mandatory to create a new group in <me>. if WithDestruction == Standard_False then clears all the groups of primitives in the structure. and all the groups are conserved and empty. They will be erased at the next screen update. The structure itself is conserved. The transformation and the attributes of <me> are conserved. The childs of <me> are conserved. | |
virtual | ~Graphic3d_Structure () |
Suppresses the structure <me>. It will be erased at the next screen update. | |
virtual void | Display () |
Displays the structure <me> in all the views of the visualiser. | |
Graphic3d_DisplayPriority | DisplayPriority () const |
Returns the current display priority for this structure. | |
void | SetDisplayPriority (const Graphic3d_DisplayPriority thePriority) |
Modifies the order of displaying the structure. Values are between 0 and 10. Structures are drawn according to their display priorities in ascending order. A structure of priority 10 is displayed the last and appears over the others. The default value is 5. Warning: If structure is displayed then the SetDisplayPriority method erases it and displays with the new priority. Raises Graphic3d_PriorityDefinitionError if Priority is greater than 10 or a negative value. | |
void | SetDisplayPriority (const Standard_Integer thePriority) |
void | ResetDisplayPriority () |
Reset the current priority of the structure to the previous priority. Warning: If structure is displayed then the SetDisplayPriority() method erases it and displays with the previous priority. | |
virtual void | Erase () |
Erases this structure in all the views of the visualiser. | |
void | Highlight (const Handle< Graphic3d_PresentationAttributes > &theStyle, const Standard_Boolean theToUpdateMgr=Standard_True) |
Highlights the structure in all the views with the given style. | |
void | Remove () |
Suppress the structure <me>. It will be erased at the next screen update. Warning: No more graphic operations in <me> after this call. Category: Methods to modify the class definition. | |
virtual void | CalculateBoundBox () |
Computes axis-aligned bounding box of a structure. | |
void | SetInfiniteState (const Standard_Boolean theToSet) |
Sets infinite flag. When TRUE, the MinMaxValues method returns: theXMin = theYMin = theZMin = RealFirst(). theXMax = theYMax = theZMax = RealLast(). By default, structure is created not infinite but empty. | |
void | SetZLayer (const Graphic3d_ZLayerId theLayerId) |
Set Z layer ID for the structure. The Z layer mechanism allows to display structures presented in higher layers in overlay of structures in lower layers by switching off z buffer depth test between layers. | |
Graphic3d_ZLayerId | GetZLayer () const |
Get Z layer ID of displayed structure. The method returns -1 if the structure has no ID (deleted from graphic driver). | |
void | SetClipPlanes (const Handle< Graphic3d_SequenceOfHClipPlane > &thePlanes) |
Changes a sequence of clip planes slicing the structure on rendering. | |
const Handle< Graphic3d_SequenceOfHClipPlane > & | ClipPlanes () const |
Get clip planes slicing the structure on rendering. | |
void | SetVisible (const Standard_Boolean AValue) |
Modifies the visibility indicator to Standard_True or Standard_False for the structure <me>. The default value at the definition of <me> is Standard_True. | |
virtual void | SetVisual (const Graphic3d_TypeOfStructure AVisual) |
Modifies the visualisation mode for the structure <me>. | |
void | SetZoomLimit (const Standard_Real LimitInf, const Standard_Real LimitSup) |
Modifies the minimum and maximum zoom coefficients for the structure <me>. The default value at the definition of <me> is unlimited. Category: Methods to modify the class definition Warning: Raises StructureDefinitionError if <LimitInf> is greater than <LimitSup> or if <LimitInf> or <LimitSup> is a negative value. | |
void | SetIsForHighlight (const Standard_Boolean isForHighlight) |
Marks the structure <me> representing wired structure needed for highlight only so it won't be added to BVH tree. | |
void | UnHighlight () |
Suppresses the highlight for the structure <me> in all the views of the visualiser. | |
virtual void | Compute () |
virtual void | computeHLR (const Handle< Graphic3d_Camera > &theProjector, Handle< Graphic3d_Structure > &theStructure) |
Returns the new Structure defined for the new visualization. | |
void | ReCompute () |
Forces a new construction of the structure <me> if <me> is displayed and TOS_COMPUTED. | |
void | ReCompute (const Handle< Graphic3d_DataStructureManager > &aProjector) |
Forces a new construction of the structure <me> if <me> is displayed in <aProjetor> and TOS_COMPUTED. | |
const Graphic3d_SequenceOfGroup & | Groups () const |
Returns the groups sequence included in this structure. | |
Standard_Integer | NumberOfGroups () const |
Returns the current number of groups in this structure. | |
Handle< Graphic3d_Group > | NewGroup () |
Append new group to this structure. | |
Handle< Graphic3d_Group > | CurrentGroup () |
Returns the last created group or creates new one if list is empty. | |
const Handle< Graphic3d_PresentationAttributes > & | HighlightStyle () const |
Returns the highlight attributes. | |
Standard_Boolean | IsDeleted () const |
Returns TRUE if this structure is deleted (after Remove() call). | |
virtual Standard_Boolean | IsDisplayed () const |
Returns the display indicator for this structure. | |
Standard_Boolean | IsEmpty () const |
Returns Standard_True if the structure <me> is empty. Warning: A structure is empty if : it do not have group or all the groups are empties and it do not have descendant or all the descendants are empties. | |
Standard_Boolean | IsInfinite () const |
Returns Standard_True if the structure <me> is infinite. | |
virtual Standard_Boolean | IsHighlighted () const |
Returns the highlight indicator for this structure. | |
Standard_Boolean | IsTransformed () const |
Returns TRUE if the structure is transformed. | |
Standard_Boolean | IsVisible () const |
Returns the visibility indicator for this structure. | |
Bnd_Box | MinMaxValues (const Standard_Boolean theToIgnoreInfiniteFlag=Standard_False) const |
Returns the coordinates of the boundary box of the structure <me>. If <theToIgnoreInfiniteFlag> is TRUE, the method returns actual graphical boundaries of the Graphic3d_Group components. Otherwise, the method returns boundaries taking into account infinite state of the structure. This approach generally used for application specific fit operation (e.g. fitting the model into screen, not taking into account infinite helper elements). Warning: If the structure <me> is empty then the empty box is returned, If the structure <me> is infinite then the whole box is returned. | |
Graphic3d_TypeOfStructure | Visual () const |
Returns the visualisation mode for the structure <me>. | |
void | Ancestors (Graphic3d_MapOfStructure &SG) const |
Returns the group of structures to which <me> is connected. | |
void | Connect (Graphic3d_Structure *theStructure, Graphic3d_TypeOfConnection theType, Standard_Boolean theWithCheck=Standard_False) |
If Atype is TOC_DESCENDANT then add <AStructure> as a child structure of <me>. If Atype is TOC_ANCESTOR then add <AStructure> as a parent structure of <me>. The connection propagates Display, Highlight, Erase, Remove, and stacks the transformations. No connection if the graph of the structures contains a cycle and <WithCheck> is Standard_True;. | |
void | Connect (const Handle< Graphic3d_Structure > &thePrs) |
void | Descendants (Graphic3d_MapOfStructure &SG) const |
Returns the group of structures connected to <me>. | |
void | Disconnect (Graphic3d_Structure *theStructure) |
Suppress the connection between <AStructure> and <me>. | |
void | Remove (const Handle< Graphic3d_Structure > &thePrs) |
void | DisconnectAll (const Graphic3d_TypeOfConnection AType) |
If Atype is TOC_DESCENDANT then suppress all the connections with the child structures of <me>. If Atype is TOC_ANCESTOR then suppress all the connections with the parent structures of <me>. | |
void | RemoveAll () |
void | SetOwner (const Standard_Address theOwner) |
Standard_Address | Owner () const |
void | SetHLRValidation (const Standard_Boolean theFlag) |
Standard_Boolean | HLRValidation () const |
Hidden parts stored in this structure are valid if: 1) the owner is defined. 2) they are not invalid. | |
const Handle< TopLoc_Datum3D > & | Transformation () const |
Return local transformation. | |
void | SetTransformation (const Handle< TopLoc_Datum3D > &theTrsf) |
Modifies the current local transformation. | |
void | SetTransformPersistence (const Handle< Graphic3d_TransformPers > &theTrsfPers) |
Modifies the current transform persistence (pan, zoom or rotate) | |
const Handle< Graphic3d_TransformPers > & | TransformPersistence () const |
void | SetMutable (const Standard_Boolean theIsMutable) |
Sets if the structure location has mutable nature (content or location will be changed regularly). | |
Standard_Boolean | IsMutable () const |
Returns true if structure has mutable nature (content or location are be changed regularly). Mutable structure will be managed in different way than static onces. | |
Graphic3d_TypeOfStructure | ComputeVisual () const |
void | GraphicClear (const Standard_Boolean WithDestruction) |
Clears the structure <me>. | |
void | GraphicConnect (const Handle< Graphic3d_Structure > &theDaughter) |
void | GraphicDisconnect (const Handle< Graphic3d_Structure > &theDaughter) |
void | GraphicTransform (const Handle< TopLoc_Datum3D > &theTrsf) |
Internal method which sets new transformation without calling graphic manager callbacks. | |
Standard_Integer | Identification () const |
Returns the identification number of this structure. | |
void | Remove (Graphic3d_Structure *thePtr, const Graphic3d_TypeOfConnection theType) |
Suppress the structure in the list of descendants or in the list of ancestors. | |
void | SetComputeVisual (const Graphic3d_TypeOfStructure theVisual) |
const Handle< Graphic3d_CStructure > & | CStructure () const |
Returns the low-level structure. | |
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_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. | |
Static Public Member Functions | |
static Standard_Boolean | AcceptConnection (Graphic3d_Structure *theStructure1, Graphic3d_Structure *theStructure2, Graphic3d_TypeOfConnection theType) |
Returns Standard_True if the connection is possible between <AStructure1> and <AStructure2> without a creation of a cycle. | |
static void | Network (Graphic3d_Structure *theStructure, const Graphic3d_TypeOfConnection theType, NCollection_Map< Graphic3d_Structure * > &theSet) |
Returns <ASet> the group of structures : | |
static void | PrintNetwork (const Handle< Graphic3d_Structure > &AStructure, const Graphic3d_TypeOfConnection AType) |
Prints information about the network associated with the structure <AStructure>. | |
static void | Transforms (const gp_Trsf &theTrsf, const Standard_Real theX, const Standard_Real theY, const Standard_Real theZ, Standard_Real &theNewX, Standard_Real &theNewY, Standard_Real &theNewZ) |
Transforms theX, theY, theZ with the transformation theTrsf. | |
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. | |
Protected Member Functions | |
Standard_Boolean | AppendDescendant (Graphic3d_Structure *theDescendant) |
Appends new descendant structure. | |
Standard_Boolean | RemoveDescendant (Graphic3d_Structure *theDescendant) |
Removes the given descendant structure. | |
Standard_Boolean | AppendAncestor (Graphic3d_Structure *theAncestor) |
Appends new ancestor structure. | |
Standard_Boolean | RemoveAncestor (Graphic3d_Structure *theAncestor) |
Removes the given ancestor structure. | |
void | clear (const Standard_Boolean WithDestruction) |
Clears all the groups of primitives in the structure. | |
void | erase () |
Erases this structure in all the views of the visualiser. | |
Static Protected Member Functions | |
static void | TransformBoundaries (const gp_Trsf &theTrsf, Standard_Real &theXMin, Standard_Real &theYMin, Standard_Real &theZMin, Standard_Real &theXMax, Standard_Real &theYMax, Standard_Real &theZMax) |
Transforms boundaries with <theTrsf> transformation. | |
Additional Inherited Members | |
Public Types inherited from Standard_Transient | |
typedef void | base_type |
Returns a type descriptor about this object. | |
This class allows the definition a graphic object. This graphic structure can be displayed, erased, or highlighted. This graphic structure can be connected with another graphic structure.
Graphic3d_Structure::Graphic3d_Structure | ( | const Handle< Graphic3d_StructureManager > & | theManager, |
const Handle< Graphic3d_Structure > & | theLinkPrs = Handle< Graphic3d_Structure >() |
||
) |
Creates a graphic object in the manager theManager. It will appear in all the views of the visualiser. The structure is not displayed when it is created.
theManager | structure manager holding this structure |
theLinkPrs | another structure for creating a shadow (linked) structure |
|
virtual |
Suppresses the structure <me>. It will be erased at the next screen update.
|
static |
Returns Standard_True if the connection is possible between <AStructure1> and <AStructure2> without a creation of a cycle.
It's not possible to call the method AStructure1->Connect (AStructure2, TypeOfConnection) if
void Graphic3d_Structure::Ancestors | ( | Graphic3d_MapOfStructure & | SG | ) | const |
Returns the group of structures to which <me> is connected.
|
protected |
Appends new ancestor structure.
|
protected |
Appends new descendant structure.
|
virtual |
Computes axis-aligned bounding box of a structure.
Reimplemented in Prs3d_PresentationShadow.
|
protected |
Clears all the groups of primitives in the structure.
|
inlinevirtual |
if WithDestruction == Standard_True then suppress all the groups of primitives in the structure. and it is mandatory to create a new group in <me>. if WithDestruction == Standard_False then clears all the groups of primitives in the structure. and all the groups are conserved and empty. They will be erased at the next screen update. The structure itself is conserved. The transformation and the attributes of <me> are conserved. The childs of <me> are conserved.
Reimplemented in PrsMgr_Presentation.
|
inline |
Get clip planes slicing the structure on rendering.
|
inlinevirtual |
Reimplemented in PrsMgr_Presentation.
|
inlinevirtual |
Returns the new Structure defined for the new visualization.
Reimplemented in PrsMgr_Presentation.
|
inline |
|
inline |
void Graphic3d_Structure::Connect | ( | Graphic3d_Structure * | theStructure, |
Graphic3d_TypeOfConnection | theType, | ||
Standard_Boolean | theWithCheck = Standard_False |
||
) |
If Atype is TOC_DESCENDANT then add <AStructure> as a child structure of <me>. If Atype is TOC_ANCESTOR then add <AStructure> as a parent structure of <me>. The connection propagates Display, Highlight, Erase, Remove, and stacks the transformations. No connection if the graph of the structures contains a cycle and <WithCheck> is Standard_True;.
|
inline |
Returns the low-level structure.
|
inline |
Returns the last created group or creates new one if list is empty.
void Graphic3d_Structure::Descendants | ( | Graphic3d_MapOfStructure & | SG | ) | const |
Returns the group of structures connected to <me>.
void Graphic3d_Structure::Disconnect | ( | Graphic3d_Structure * | theStructure | ) |
Suppress the connection between <AStructure> and <me>.
void Graphic3d_Structure::DisconnectAll | ( | const Graphic3d_TypeOfConnection | AType | ) |
If Atype is TOC_DESCENDANT then suppress all the connections with the child structures of <me>. If Atype is TOC_ANCESTOR then suppress all the connections with the parent structures of <me>.
|
virtual |
Displays the structure <me> in all the views of the visualiser.
Reimplemented in PrsMgr_Presentation.
|
inline |
Returns the current display priority for this structure.
|
virtual |
Dumps the content of me into the stream.
Reimplemented in Prs3d_PresentationShadow, and PrsMgr_Presentation.
|
inlinevirtual |
Erases this structure in all the views of the visualiser.
Reimplemented in PrsMgr_Presentation.
|
protected |
Erases this structure in all the views of the visualiser.
|
inline |
Get Z layer ID of displayed structure. The method returns -1 if the structure has no ID (deleted from graphic driver).
void Graphic3d_Structure::GraphicClear | ( | const Standard_Boolean | WithDestruction | ) |
Clears the structure <me>.
|
inline |
|
inline |
|
inline |
Internal method which sets new transformation without calling graphic manager callbacks.
|
inline |
Returns the groups sequence included in this structure.
void Graphic3d_Structure::Highlight | ( | const Handle< Graphic3d_PresentationAttributes > & | theStyle, |
const Standard_Boolean | theToUpdateMgr = Standard_True |
||
) |
Highlights the structure in all the views with the given style.
theStyle | [in] the style (type of highlighting: box/color, color and opacity) |
theToUpdateMgr | [in] defines whether related computed structures will be highlighted via structure manager or not |
|
inline |
Returns the highlight attributes.
|
inline |
Hidden parts stored in this structure are valid if: 1) the owner is defined. 2) they are not invalid.
|
inline |
Returns the identification number of this structure.
|
inline |
Returns TRUE if this structure is deleted (after Remove() call).
|
inlinevirtual |
Returns the display indicator for this structure.
Reimplemented in PrsMgr_Presentation.
Standard_Boolean Graphic3d_Structure::IsEmpty | ( | ) | const |
Returns Standard_True if the structure <me> is empty. Warning: A structure is empty if : it do not have group or all the groups are empties and it do not have descendant or all the descendants are empties.
|
inlinevirtual |
Returns the highlight indicator for this structure.
|
inline |
Returns Standard_True if the structure <me> is infinite.
|
inline |
Returns true if structure has mutable nature (content or location are be changed regularly). Mutable structure will be managed in different way than static onces.
|
inline |
Returns TRUE if the structure is transformed.
|
inline |
Returns the visibility indicator for this structure.
Bnd_Box Graphic3d_Structure::MinMaxValues | ( | const Standard_Boolean | theToIgnoreInfiniteFlag = Standard_False | ) | const |
Returns the coordinates of the boundary box of the structure <me>. If <theToIgnoreInfiniteFlag> is TRUE, the method returns actual graphical boundaries of the Graphic3d_Group components. Otherwise, the method returns boundaries taking into account infinite state of the structure. This approach generally used for application specific fit operation (e.g. fitting the model into screen, not taking into account infinite helper elements). Warning: If the structure <me> is empty then the empty box is returned, If the structure <me> is infinite then the whole box is returned.
|
static |
Returns <ASet> the group of structures :
Handle< Graphic3d_Group > Graphic3d_Structure::NewGroup | ( | ) |
Append new group to this structure.
|
inline |
Returns the current number of groups in this structure.
|
inline |
|
static |
Prints information about the network associated with the structure <AStructure>.
void Graphic3d_Structure::ReCompute | ( | ) |
Forces a new construction of the structure <me> if <me> is displayed and TOS_COMPUTED.
void Graphic3d_Structure::ReCompute | ( | const Handle< Graphic3d_DataStructureManager > & | aProjector | ) |
Forces a new construction of the structure <me> if <me> is displayed in <aProjetor> and TOS_COMPUTED.
void Graphic3d_Structure::Remove | ( | ) |
Suppress the structure <me>. It will be erased at the next screen update. Warning: No more graphic operations in <me> after this call. Category: Methods to modify the class definition.
|
inline |
void Graphic3d_Structure::Remove | ( | Graphic3d_Structure * | thePtr, |
const Graphic3d_TypeOfConnection | theType | ||
) |
Suppress the structure in the list of descendants or in the list of ancestors.
|
inline |
|
protected |
Removes the given ancestor structure.
|
protected |
Removes the given descendant structure.
void Graphic3d_Structure::ResetDisplayPriority | ( | ) |
Reset the current priority of the structure to the previous priority. Warning: If structure is displayed then the SetDisplayPriority() method erases it and displays with the previous priority.
|
inline |
Changes a sequence of clip planes slicing the structure on rendering.
thePlanes | [in] the set of clip planes. |
|
inline |
void Graphic3d_Structure::SetDisplayPriority | ( | const Graphic3d_DisplayPriority | thePriority | ) |
Modifies the order of displaying the structure. Values are between 0 and 10. Structures are drawn according to their display priorities in ascending order. A structure of priority 10 is displayed the last and appears over the others. The default value is 5. Warning: If structure is displayed then the SetDisplayPriority method erases it and displays with the new priority. Raises Graphic3d_PriorityDefinitionError if Priority is greater than 10 or a negative value.
|
inline |
|
inline |
|
inline |
Sets infinite flag. When TRUE, the MinMaxValues method returns: theXMin = theYMin = theZMin = RealFirst(). theXMax = theYMax = theZMax = RealLast(). By default, structure is created not infinite but empty.
|
inline |
Marks the structure <me> representing wired structure needed for highlight only so it won't be added to BVH tree.
|
inline |
Sets if the structure location has mutable nature (content or location will be changed regularly).
|
inline |
void Graphic3d_Structure::SetTransformation | ( | const Handle< TopLoc_Datum3D > & | theTrsf | ) |
Modifies the current local transformation.
void Graphic3d_Structure::SetTransformPersistence | ( | const Handle< Graphic3d_TransformPers > & | theTrsfPers | ) |
Modifies the current transform persistence (pan, zoom or rotate)
void Graphic3d_Structure::SetVisible | ( | const Standard_Boolean | AValue | ) |
Modifies the visibility indicator to Standard_True or Standard_False for the structure <me>. The default value at the definition of <me> is Standard_True.
|
virtual |
Modifies the visualisation mode for the structure <me>.
void Graphic3d_Structure::SetZLayer | ( | const Graphic3d_ZLayerId | theLayerId | ) |
Set Z layer ID for the structure. The Z layer mechanism allows to display structures presented in higher layers in overlay of structures in lower layers by switching off z buffer depth test between layers.
void Graphic3d_Structure::SetZoomLimit | ( | const Standard_Real | LimitInf, |
const Standard_Real | LimitSup | ||
) |
Modifies the minimum and maximum zoom coefficients for the structure <me>. The default value at the definition of <me> is unlimited. Category: Methods to modify the class definition Warning: Raises StructureDefinitionError if <LimitInf> is greater than <LimitSup> or if <LimitInf> or <LimitSup> is a negative value.
|
inline |
Return local transformation.
|
staticprotected |
Transforms boundaries with <theTrsf> transformation.
|
inline |
|
static |
Transforms theX, theY, theZ with the transformation theTrsf.
void Graphic3d_Structure::UnHighlight | ( | ) |
Suppresses the highlight for the structure <me> in all the views of the visualiser.
|
inline |
Returns the visualisation mode for the structure <me>.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |