Open CASCADE Technology  6.5.4
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Static Public Member Functions | Protected Attributes
Graphic3d_Structure Class Reference

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.
Keywords: Structure, StructureManager, Display, Erase, Highlight,
UnHighlight, Visible, Priority, Selectable, Visible,
Visual, Connection, Ancestors, Descendants, Transformation

#include <Graphic3d_Structure.hxx>

Inheritance diagram for Graphic3d_Structure:
Inheritance graph
[legend]

Public Member Functions

 Graphic3d_Structure (const Handle< Graphic3d_StructureManager > &AManager)
 Creates a graphic object in the manager <AManager>.
It will appear in all the views of the visualiser.
Warning: The default values AspectLine, AspectFillArea,
AspectText and AspectMarker are NOT applied to the
structure.
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 void Destroy ()
 Suppresses the structure <me>.
It will be erased at the next screen update.

 ~Graphic3d_Structure ()
virtual void Display ()
 Displays the structure <me> in all the views of
the visualiser.

void Display (const Standard_Integer Priority)
 Displays the structure <me> in all the views of
the visualiser, while modifying its current priority.
Note: Display Priorities
Structure display priorities control the order in which
structures are redrawn. When you display a
structure, you specify its priority. The lower the value,
the lower the display priority. When the display is
regenerated, the structures with the lowest priority
are drawn first. For structures with the same display
priority, the order in which they were displayed
determines the drawing order. Open CASCADE
supports 11 structure display priorities, 0 to 10.
Warning: Raises PriorityDefinitionError if <Priority> is
greater than 10 or a negative value.

Standard_Integer DisplayPriority () const
 Returns the current display priority for the
structure <me>.

virtual void Erase ()
 Erases the structure <me> in all the views
of the visualiser.

void Highlight (const Aspect_TypeOfHighlightMethod Method)
 Highlights the structure <me> in all the
views of the visualiser, using the following methods:

TOHM_COLOR = drawn in the highlight color
(default white)
TOHM_BLINK = blinking
TOHM_BOUNDBOX = enclosed by the boundary box
(default white)


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

void SetHighlightColor (const Quantity_Color &AColor)
 Modifies the highlight color for the Highlight method
with the highlight method TOHM_COLOR or TOHM_BOUNDBOX.

void SetInfiniteState (const Standard_Boolean AFlag)
 Modifies the coordinates of the boundary box
of the structure <me>.
if <AFlag> is Standard_True then <me> is infinite and
the MinMaxValues method or the MinMaxCoord method return :
XMin = YMin = ZMin = RealFirst ().
XMax = YMax = ZMax = RealLast ().
By default, <me> is not infinite but empty.

void SetDisplayPriority (const Standard_Integer Priority)
 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.
Category: Methods to modify the class definition
Warning: If <me> is displayed then the SetDisplayPriority
method erase <me> and display <me> with the
new priority.
Raises PriorityDefinitionError if <Priority> is
greater than 10 or a negative value.

void ResetDisplayPriority ()
 Reset the current priority of the structure to the
previous priority.
Category: Methods to modify the class definition
Warning: If <me> is displayed then the SetDisplayPriority
method erase <me> and display <me> with the
previous priority.

void SetZLayer (const Standard_Integer 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

Standard_Integer GetZLayer () const
 Get Z layer ID of displayed structure. The method
returns -1 if the structure has no ID (deleted from graphic driver).

void SetPick (const Standard_Boolean AValue)
 Modifies the detectability indicator to Standard_True
or Standard_False for the structure <me>.
The default value at the definition of <me> is
Standard_True.

void SetPrimitivesAspect (const Handle< Graphic3d_AspectLine3d > &CTX)
 Modifies the default attributes for lines
in the structure <me>.

void SetPrimitivesAspect (const Handle< Graphic3d_AspectFillArea3d > &CTX)
 Modifies the default attributes for faces
in the structure <me>.

void SetPrimitivesAspect (const Handle< Graphic3d_AspectText3d > &CTX)
 Modifies the default attributes for text
in the structure <me>.

void SetPrimitivesAspect (const Handle< Graphic3d_AspectMarker3d > &CTX)
 Modifies the default attributes for markers
in the structure <me>.

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.

void SetManager (const Handle< Graphic3d_StructureManager > &AManager, const Standard_Boolean WithPropagation=Standard_False)
 Moves the graphic object <me> in the manager <AManager>.
If <WithPropagation> is Standard_True then all the connected
graphic objects to <me> are moved.

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 UnHighlight ()
 Suppresses the highlight for the structure <me>
in all the views of the visualiser.

virtual Handle_Graphic3d_Structure Compute (const Handle< Graphic3d_DataStructureManager > &aProjector)
 Returns the new Structure defined for the new visualization

virtual Handle_Graphic3d_Structure Compute (const Handle< Graphic3d_DataStructureManager > &aProjector, const TColStd_Array2OfReal &AMatrix)
 Returns the new Structure defined for the new visualization

virtual void Compute (const Handle< Graphic3d_DataStructureManager > &aProjector, Handle< Graphic3d_Structure > &aStructure)
 Returns the new Structure defined for the new visualization

virtual void Compute (const Handle< Graphic3d_DataStructureManager > &aProjector, const TColStd_Array2OfReal &AMatrix, Handle< Graphic3d_Structure > &aStructure)
 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.

Standard_Boolean ContainsFacet () const
 Returns Standard_True if the structure <me> contains
Polygons, Triangles or Quadrangles.

Handle_Graphic3d_AspectFillArea3d FillArea3dAspect () const
 Returns the values of the current default attributes.

const Graphic3d_SequenceOfGroupGroups () const
 Returns the groups sequence included in the structure <me> (internal storage).

Standard_Integer NumberOfGroups () const
 Returns the current number of groups in the
structure <me>.

Quantity_Color HighlightColor () const
 Returns the highlight color for the Highlight method
with the highlight method TOHM_COLOR or TOHM_BOUNDBOX.

Standard_Boolean IsDeleted () const
 Returns Standard_True if the structure <me> is deleted.
<me> is deleted after the call Remove (me).

virtual Standard_Boolean IsDisplayed () const
 Returns the display indicator for the structure <me>.

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 the structure <me>.

Standard_Boolean IsSelectable () const
 Returns the detectability indicator for the structure <me>.

Standard_Boolean IsRotated () const
 Returns Standard_True if the structure <me> is rotated.
<=> The transformation != Identity, != Scale, != Translation.

Standard_Boolean IsTransformed () const
 Returns Standard_True if the structure <me> is transformed.
<=> The transformation != Identity.

Standard_Boolean IsVisible () const
 Returns the visibility indicator for the structure <me>.

Handle_Graphic3d_AspectLine3d Line3dAspect () const
 Returns the values of the current default attributes.

Handle_Graphic3d_AspectMarker3d Marker3dAspect () const
 Returns the current group of graphic attributes used
for 3d marker primitives.

void MinMaxValues (Standard_Real &XMin, Standard_Real &YMin, Standard_Real &ZMin, Standard_Real &XMax, Standard_Real &YMax, Standard_Real &ZMax) const
 Returns the coordinates of the boundary box
of the structure <me>.
Warning: If the structure <me> is empty or infinite then :
XMin = YMin = ZMin = RealFirst ().
XMax = YMax = ZMax = RealLast ().

void PrimitivesAspect (Handle< Graphic3d_AspectLine3d > &CTXL, Handle< Graphic3d_AspectText3d > &CTXT, Handle< Graphic3d_AspectMarker3d > &CTXM, Handle< Graphic3d_AspectFillArea3d > &CTXF) const
 Returns the current values of the default attributes.

Handle_Graphic3d_AspectText3d Text3dAspect () const
 Returns the values of the current default attributes.

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 (const Handle< Graphic3d_Structure > &AStructure, const Graphic3d_TypeOfConnection AType, const Standard_Boolean WithCheck=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 Descendants (Graphic3d_MapOfStructure &SG) const
 Returns the group of structures connected to <me>.

void Disconnect (const Handle< Graphic3d_Structure > &AStructure)
 Suppress the connection between <AStructure> and <me>.

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 SetOwner (const Standard_Address Owner)
Standard_Address Owner () const
void SetHLRValidation (const Standard_Boolean AFlag)
Standard_Boolean HLRValidation () const
Graphic3d_TypeOfComposition Composition () const
 Returns the type of composition applied to matrices
of transformation of <me>.

void SetTransform (const TColStd_Array2OfReal &AMatrix, const Graphic3d_TypeOfComposition AType)
 Modifies the current local modelling transformation
in the structure <me>.

It is defined as a 4*4 real matrix.

-------------------
| a11 a12 a13 t1 |
| a21 a22 a23 t2 |
| a31 a32 a33 t3 |
| 0 0 0 1 |
-------------------

TypeOfComposition : TOC_REPLACE
TOC_POSTCONCATENATE

Then the modified Local Modelling Transformation is composed
with the current Global Modelling Transformation to create a
new Composite Modelling Transformation.

The compose type specifies the role of the current local
modelling transformation (L) in composing the new value for
the current local modelling transformation (L'), which is
then combined with the current global modelling transforma-
tion (G) to calculate the new composite modelling transfor-
mation (C).

TOC_REPLACE
The transformation matrix (T) replaces the value of
current local modelling transformation (L).

L' <- T
C <- G x L'

TOC_POSTCONCATENATE
The current local modelling transformation (L) is multiplied
by the transformation matrix (T):

L' <- T x L
C <- G x L'

Category: Methods to manage the structure transformation
Warning: Raises TransformError if the matrix is not a 4x4 matrix.

void Transform (TColStd_Array2OfReal &AMatrix) const
 Returns the transformation associated with
the structure <me>.

void SetTransformPersistence (const Graphic3d_TransModeFlags &AFlag, const gp_Pnt &APoint)
 Modifies the current modelling transform persistence (pan, zoom or rotate)

void SetTransformPersistence (const Graphic3d_TransModeFlags &AFlag)
Graphic3d_TransModeFlags TransformPersistenceMode () const
 Get the current modelling transform persistence (pan, zoom or rotate)

gp_Pnt TransformPersistencePoint () const
 Get the current point of relative modelling transform persistence

Graphic3d_TypeOfStructure ComputeVisual () const
void GraphicClear (const Standard_Boolean WithDestruction)
 Clears the structure <me>.

void GraphicConnect (const Handle< Graphic3d_Structure > &ADaughter)
void GraphicDisconnect (const Handle< Graphic3d_Structure > &ADaughter)
void GraphicHighlight (const Aspect_TypeOfHighlightMethod Method)
 Highlights the structure <me>.

void GraphicTransform (const TColStd_Array2OfReal &AMatrix)
void GraphicUnHighlight ()
 Suppress the highlight for the structure <me>.

Standard_Integer Identification () const
 Returns the identification number of the structure <me>.

virtual void Plot (const Handle< Graphic3d_Plotter > &aPlotter)
void Remove (const Standard_Address APtr, const Graphic3d_TypeOfConnection AType)
 Suppress the adress <APtr> in the list
of descendants or in the list of ancestors.

void SetComputeVisual (const Graphic3d_TypeOfStructure AVisual)
Standard_Address CStructure () const
 Returns the c structure associated to <me>.

Static Public Member Functions

static Standard_Boolean AcceptConnection (const Handle< Graphic3d_Structure > &AStructure1, const Handle< Graphic3d_Structure > &AStructure2, const Graphic3d_TypeOfConnection AType)
 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

static void Network (const Handle< Graphic3d_Structure > &AStructure, const Graphic3d_TypeOfConnection AType, Graphic3d_MapOfStructure &ASet)
 Returns <ASet> the group of structures :

static void PrintNetwork (const Handle< Graphic3d_Structure > &AStructure, const Graphic3d_TypeOfConnection AType)
 Prints informations about the network associated
with the structure <AStructure>.

static void Transforms (const TColStd_Array2OfReal &ATrsf, const Standard_Real X, const Standard_Real Y, const Standard_Real Z, Standard_Real &NewX, Standard_Real &NewY, Standard_Real &NewZ)
 Transforms <X>, <Y>, <Z> with the transformation <ATrsf>.

static Graphic3d_Vector Transforms (const TColStd_Array2OfReal &ATrsf, const Graphic3d_Vector &Coord)
 Transforms <Coord> with the transformation <ATrsf>.

static Graphic3d_Vertex Transforms (const TColStd_Array2OfReal &ATrsf, const Graphic3d_Vertex &Coord)
 Transforms <Coord> with the transformation <ATrsf>.

Protected Attributes

Standard_Address MyPtrStructureManager
Standard_Address MyFirstPtrStructureManager
Graphic3d_TypeOfStructure MyComputeVisual

Constructor & Destructor Documentation


Member Function Documentation

  • the set of all ancestors of <AStructure1> contains
    <AStructure1> and if the
    TypeOfConnection == TOC_DESCENDANT
  • the set of all descendants of <AStructure1> contains
    <AStructure2> and if the
    TypeOfConnection == TOC_ANCESTOR
virtual void Graphic3d_Structure::Clear ( const Standard_Boolean  WithDestruction = Standard_True) [virtual]

Reimplemented in Prs3d_Presentation.

virtual Handle_Graphic3d_Structure Graphic3d_Structure::Compute ( const Handle< Graphic3d_DataStructureManager > &  aProjector) [virtual]

Reimplemented in Prs3d_Presentation, and PrsMgr_Prs.

virtual Handle_Graphic3d_Structure Graphic3d_Structure::Compute ( const Handle< Graphic3d_DataStructureManager > &  aProjector,
const TColStd_Array2OfReal AMatrix 
) [virtual]

Reimplemented in Prs3d_Presentation, and PrsMgr_Prs.

virtual void Graphic3d_Structure::Compute ( const Handle< Graphic3d_DataStructureManager > &  aProjector,
Handle< Graphic3d_Structure > &  aStructure 
) [virtual]

Reimplemented in Prs3d_Presentation, and PrsMgr_Prs.

virtual void Graphic3d_Structure::Compute ( const Handle< Graphic3d_DataStructureManager > &  aProjector,
const TColStd_Array2OfReal AMatrix,
Handle< Graphic3d_Structure > &  aStructure 
) [virtual]

Reimplemented in Prs3d_Presentation, and PrsMgr_Prs.

virtual void Graphic3d_Structure::Destroy ( ) [virtual]
virtual void Graphic3d_Structure::Display ( ) [virtual]

Reimplemented in Prs3d_Presentation.

virtual void Graphic3d_Structure::Erase ( ) [virtual]
Handle_Graphic3d_AspectFillArea3d Graphic3d_Structure::FillArea3dAspect ( ) const
Handle_Graphic3d_AspectLine3d Graphic3d_Structure::Line3dAspect ( ) const
Handle_Graphic3d_AspectMarker3d Graphic3d_Structure::Marker3dAspect ( ) const
void Graphic3d_Structure::MinMaxValues ( Standard_Real XMin,
Standard_Real YMin,
Standard_Real ZMin,
Standard_Real XMax,
Standard_Real YMax,
Standard_Real ZMax 
) const
  • directly or indirectly connected to <AStructure> if the
    TypeOfConnection == TOC_DESCENDANT
  • to which <AStructure> is directly or indirectly connected
    if the TypeOfConnection == TOC_ANCESTOR
virtual void Graphic3d_Structure::Plot ( const Handle< Graphic3d_Plotter > &  aPlotter) [virtual]
Handle_Graphic3d_AspectText3d Graphic3d_Structure::Text3dAspect ( ) const

Field Documentation


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