// This file is generated by WOK (CPPExt). // Please do not edit this file; modify original file instead. // The copyright and license terms as defined for the original file apply to // this header file considered to be the "object code" form of the original source. #ifndef _Graphic3d_Group_HeaderFile #define _Graphic3d_Group_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_DefineHandle_HeaderFile #include #endif #ifndef _Handle_Graphic3d_Group_HeaderFile #include #endif #ifndef _Graphic3d_CGroup_HeaderFile #include #endif #ifndef _Handle_Graphic3d_GraphicDriver_HeaderFile #include #endif #ifndef _Graphic3d_CBitFields4_HeaderFile #include #endif #ifndef _Standard_Address_HeaderFile #include #endif #ifndef _Graphic3d_CBounds_HeaderFile #include #endif #ifndef _Graphic3d_ListOfPArray_HeaderFile #include #endif #ifndef _Graphic3d_ListIteratorOfListOfPArray_HeaderFile #include #endif #ifndef _Handle_TColStd_HArray1OfByte_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif #ifndef _MMgt_TShared_HeaderFile #include #endif #ifndef _Handle_Graphic3d_Group_HeaderFile #include #endif #ifndef _Graphic3d_Structure_HeaderFile #include #endif #ifndef _Handle_Graphic3d_Structure_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _Handle_Graphic3d_AspectLine3d_HeaderFile #include #endif #ifndef _Handle_Graphic3d_AspectFillArea3d_HeaderFile #include #endif #ifndef _Handle_Graphic3d_AspectText3d_HeaderFile #include #endif #ifndef _Handle_Graphic3d_AspectMarker3d_HeaderFile #include #endif #ifndef _Standard_Real_HeaderFile #include #endif #ifndef _Graphic3d_TypeOfPolygon_HeaderFile #include #endif #ifndef _Standard_CString_HeaderFile #include #endif #ifndef _Quantity_PlaneAngle_HeaderFile #include #endif #ifndef _Graphic3d_TextPath_HeaderFile #include #endif #ifndef _Graphic3d_HorizontalTextAlignment_HeaderFile #include #endif #ifndef _Graphic3d_VerticalTextAlignment_HeaderFile #include #endif #ifndef _Handle_Graphic3d_ArrayOfPrimitives_HeaderFile #include #endif #ifndef _Graphic3d_GroupAspect_HeaderFile #include #endif class Graphic3d_GraphicDriver; class TColStd_HArray1OfByte; class Graphic3d_GroupDefinitionError; class Graphic3d_PickIdDefinitionError; class Standard_OutOfRange; class Graphic3d_Structure; class Graphic3d_AspectLine3d; class Graphic3d_AspectFillArea3d; class Graphic3d_AspectText3d; class Graphic3d_AspectMarker3d; class Graphic3d_Vertex; class Graphic3d_Array1OfVertex; class Graphic3d_Vector; class Graphic3d_Array1OfVertexN; class Graphic3d_Array1OfVertexNT; class TColStd_Array1OfInteger; class Graphic3d_Array1OfVertexC; class Graphic3d_Array2OfVertex; class Graphic3d_Array2OfVertexN; class Graphic3d_Array2OfVertexNT; class Aspect_Array1OfEdge; class Graphic3d_Array1OfVertexNC; class TCollection_ExtendedString; class Graphic3d_ArrayOfPrimitives; class TColStd_Array1OfReal; //! 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.
class Graphic3d_Group : public MMgt_TShared { public: //! Creates a group in the structure .
Standard_EXPORT Graphic3d_Group(const Handle(Graphic3d_Structure)& AStructure); //! Supress all primitives and attributes of .
//! To clear group without update in Graphic3d_StructureManager
//! pass Standard_False as . 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);
Standard_EXPORT void Clear(const Standard_Boolean theUpdateStructureMgr = Standard_True) ; //! Supress the group in the structure.
Standard_EXPORT void Destroy() ; ~Graphic3d_Group() { Destroy(); } //! Supress the group in the structure.
//! Warning: No more graphic operations in after this call.
//! Modifies the current modelling transform persistence (pan, zoom or rotate)
//! Get the current modelling transform persistence (pan, zoom or rotate)
Standard_EXPORT void Remove() ; //! Removes the context for all the line primitives
//! of the group.
Standard_EXPORT void SetGroupPrimitivesAspect() ; //! Modifies the context for all the line primitives
//! of the group.
Standard_EXPORT void SetGroupPrimitivesAspect(const Handle(Graphic3d_AspectLine3d)& CTX) ; //! Modifies the context for all the face primitives
//! of the group.
Standard_EXPORT void SetGroupPrimitivesAspect(const Handle(Graphic3d_AspectFillArea3d)& CTX) ; //! Modifies the context for all the text primitives
//! of the group.
Standard_EXPORT void SetGroupPrimitivesAspect(const Handle(Graphic3d_AspectText3d)& CTX) ; //! Modifies the context for all the marker primitives
//! of the group.
Standard_EXPORT void SetGroupPrimitivesAspect(const Handle(Graphic3d_AspectMarker3d)& CTX) ; //! Modifies the current context of the group to give
//! another aspect for all the line primitives created
//! after this call in the group.
Standard_EXPORT void SetPrimitivesAspect(const Handle(Graphic3d_AspectLine3d)& CTX) ; //! Modifies the current context of the group to give
//! another aspect for all the face primitives created
//! after this call in the group.
Standard_EXPORT void SetPrimitivesAspect(const Handle(Graphic3d_AspectFillArea3d)& CTX) ; //! Modifies the current context of the group to give
//! another aspect for all the text primitives created
//! after this call in the group.
Standard_EXPORT void SetPrimitivesAspect(const Handle(Graphic3d_AspectText3d)& CTX) ; //! Modifies the current context of the group to give
//! another aspect for all the marker primitives created
//! after this call in the group.
Standard_EXPORT void SetPrimitivesAspect(const Handle(Graphic3d_AspectMarker3d)& CTX) ; //! Sets the coordinates of the boundary box of the
//! group .
Standard_EXPORT void SetMinMaxValues(const Standard_Real XMin,const Standard_Real YMin,const Standard_Real ZMin,const Standard_Real XMax,const Standard_Real YMax,const Standard_Real ZMax) ; //! Returns the pick identifier of the group .
//! Category: Methods to manage the pick identifier
//! Warning: Returns 0 if the pick identifier is not defined.
Standard_EXPORT Standard_Integer PickId() const; //! Removes the pick identifier of the group .
//! Category: Methods to manage the pick identifier
//! Warning: Now the Pick Identifier is null.
Standard_EXPORT void RemovePickId() ; //! Places a pick identifier in the group .
//! Category: Methods to manage the pick identifier
//! Warning: A Pick Identifier is an integer greater than zero.
//! Raises PickIdDefinitionError if is a negative value.
Standard_EXPORT void SetPickId(const Standard_Integer Id) ; //! Creates a marker in position which will be drawn
//! with the current attribute (AspectMarker).
Standard_EXPORT void Marker(const Graphic3d_Vertex& APoint,const Standard_Boolean EvalMinMax = Standard_True) ; //! Creates a group of markers defined by a table of
//! vertices.
Standard_EXPORT void MarkerSet(const Graphic3d_Array1OfVertex& ListVertex,const Standard_Boolean EvalMinMax = Standard_True) ; //! Links up points to create a face drawn
//! using the current fill attributes (AspectFillArea3d))
//! The first and last points are not duplicates.
Standard_EXPORT void Polygon(const Graphic3d_Array1OfVertex& ListVertex,const Graphic3d_TypeOfPolygon AType = Graphic3d_TOP_CONVEX,const Standard_Boolean EvalMinMax = Standard_True) ; //! Links up points to create a face drawn
//! using the current fill attributes (AspectFillArea3d))
//! The first and last points are not duplicates.
//! The normal to the polygon is defined normalised.
Standard_EXPORT void Polygon(const Graphic3d_Array1OfVertex& ListVertex,const Graphic3d_Vector& Normal,const Graphic3d_TypeOfPolygon AType = Graphic3d_TOP_CONVEX,const Standard_Boolean EvalMinMax = Standard_True) ; //! Links up points to create a face drawn
//! using the current fill attributes (AspectFillArea3d))
//! The first and last points are not duplicates.
//! The normal is defined and normalised for each vertex.
Standard_EXPORT void Polygon(const Graphic3d_Array1OfVertexN& ListVertex,const Graphic3d_TypeOfPolygon AType = Graphic3d_TOP_CONVEX,const Standard_Boolean EvalMinMax = Standard_True) ; //! Links up points to create a face drawn
//! using the current fill attributes (AspectFillArea3d))
//! The first and last points are not duplicates.
//! The normal is defined for each vertex.
//! The normal to the polygon is defined normalised.
Standard_EXPORT void Polygon(const Graphic3d_Array1OfVertexN& ListVertex,const Graphic3d_Vector& Normal,const Graphic3d_TypeOfPolygon AType = Graphic3d_TOP_CONVEX,const Standard_Boolean EvalMinMax = Standard_True) ; //! Links up points to create a face drawn
//! using the current fill attributes (AspectFillArea3d))
//! The first and last points are not duplicated.
//! The normal is defined and normalised for each vertex.
//! The texture coordinate is defined for each vertex.
Standard_EXPORT void Polygon(const Graphic3d_Array1OfVertexNT& ListVertex,const Graphic3d_TypeOfPolygon AType = Graphic3d_TOP_CONVEX,const Standard_Boolean EvalMinMax = Standard_True) ; //! Creates a face with holes.
//! The face is described by the total number
//! of vertices on the external contour and around the holes,
//! and by the list of vertices.
//! The face will be drawn
//! using the current fill attributes (AspectFillArea3d))
//! The first and last points are not duplicates.
//! Bounds : total number of interior and exterior vertices
//! ListVertex : a list of the interior and exterior vertices
Standard_EXPORT void Polygon(const TColStd_Array1OfInteger& Bounds,const Graphic3d_Array1OfVertex& ListVertex,const Standard_Boolean EvalMinMax = Standard_True) ; //! Creates a face with holes.
//! The face is described by the total number
//! of vertices on the external contour and around the holes,
//! and by the list of vertices.
//! The face will be drawn
//! using the current fill attributes (AspectFillArea3d))
//! The first and last points are not duplicates.
//! The normal to the polygon is normalised.
//! Bounds : total number of interior and exterior vertices
//! ListVertex : a list of the interior and exterior vertices
Standard_EXPORT void Polygon(const TColStd_Array1OfInteger& Bounds,const Graphic3d_Array1OfVertex& ListVertex,const Graphic3d_Vector& Normal,const Standard_Boolean EvalMinMax = Standard_True) ; //! Creates a face with holes.
//! The face is described by the total number
//! of vertices on the external contour and around the holes,
//! and by the list of vertices.
//! The face will be drawn
//! using the current fill attributes (AspectFillArea3d))
//! The first and last points are not duplicates.
//! Bounds : total number of interior and exterior vertices
//! ListVertex : a list of the interior and exterior vertices
Standard_EXPORT void Polygon(const TColStd_Array1OfInteger& Bounds,const Graphic3d_Array1OfVertexN& ListVertex,const Standard_Boolean EvalMinMax = Standard_True) ; //! Creates a face with holes.
//! The face is described by the total number
//! of vertices on the external contour and around the holes,
//! and by the list of vertices.
//! The face will be drawn
//! using the current fill attributes (AspectFillArea3d))
//! The first and last points are not duplicates.
//! The normal to the polygon is normalised.
//! Bounds : total number of interior and exterior vertices
//! ListVertex : a list of the interior and exterior vertices
Standard_EXPORT void Polygon(const TColStd_Array1OfInteger& Bounds,const Graphic3d_Array1OfVertexN& ListVertex,const Graphic3d_Vector& Normal,const Standard_Boolean EvalMinMax = Standard_True) ; //! Links up points to create a set of face drawn
//! using the current fill attributes (AspectFillArea3d))
//! The first and last points are not duplicates.
Standard_EXPORT void PolygonSet(const TColStd_Array1OfInteger& Bounds,const Graphic3d_Array1OfVertex& ListVertex,const Graphic3d_TypeOfPolygon AType = Graphic3d_TOP_CONVEX,const Standard_Boolean EvalMinMax = Standard_True) ; //! Links up points to create a line drawn
//! using the current line attributes (AspectLine)
Standard_EXPORT void Polyline(const Graphic3d_Vertex& APT1,const Graphic3d_Vertex& APT2,const Standard_Boolean EvalMinMax = Standard_True) ; //! Links up points to create a line drawn
//! using the current line attributes (AspectLine)
Standard_EXPORT void Polyline(const Graphic3d_Array1OfVertex& ListVertex,const Standard_Boolean EvalMinMax = Standard_True) ; //! Links up points to create a line drawn
//! using the current line attributes (AspectLine)
//! except for the colour which is defined
//! for each vertex.
Standard_EXPORT void Polyline(const Graphic3d_Array1OfVertexC& ListVertex,const Standard_Boolean EvalMinMax = Standard_True) ; //! Creates a group of quadrilaterals from a list of
//! points, such that their vertices are:
//! Ki,j; Ki,j+1; Ki+1,j+1; Ki+1,j.
//! The quadrilaterals will be drawn according to the
//! current attributes (AspectFillArea3d).
//! Category: Methods to create Quadrangle
//! Warning: Raises GroupDefinitionError if contains
//! less than four points.
Standard_EXPORT void QuadrangleMesh(const Graphic3d_Array2OfVertex& ListVertex,const Standard_Boolean EvalMinMax = Standard_True) ; //! Creates a group of quadrilaterals from a list of
//! points, such that their vertices are:
//! Ki,j; Ki,j+1; Ki+1,j+1; Ki+1,j.
//! The quadrilaterals will be drawn according to the
//! current attributes (AspectFillArea3d).
//! For each vertex the normal is given.
//! Category: Methods to create Quadrangle
//! Warning: Raises GroupDefinitionError if contains
//! less than four points.
Standard_EXPORT void QuadrangleMesh(const Graphic3d_Array2OfVertexN& ListVertex,const Standard_Boolean EvalMinMax = Standard_True) ; //! Creates a group of quadrilaterals from a list of
//! points, such that their vertices are:
//! Ki,j; Ki,j+1; Ki+1,j+1; Ki+1,j.
//! The quadrilaterals will be drawn according to the
//! current attributes (AspectFillArea3d).
//! For each vertex the normal is given.
//! For each vertex a texture coordinate is given.
//! Category: Methods to create Quadrangle
//! Warning: Raises GroupDefinitionError if contains
//! less than four points.
Standard_EXPORT void QuadrangleMesh(const Graphic3d_Array2OfVertexNT& ListVertex,const Standard_Boolean EvalMinMax = Standard_True) ; //! Creates a group of quadrangles defined by a table of
//! vertices and a table of edges, visible or not.
//! Category: Methods to create Quadrangle
//! Warning: Raises GroupDefinitionError if contains
//! less than four points or if contains
//! less than four edges.
Standard_EXPORT void QuadrangleSet(const Graphic3d_Array1OfVertex& ListVertex,const Aspect_Array1OfEdge& ListEdge,const Standard_Boolean EvalMinMax = Standard_True) ; //! Creates a group of quadrangles defined by a table of
//! vertices and a table of edges, visible or not.
//! For each vertex the normal is given.
//! Category: Methods to create Quadrangle
//! Warning: Raises GroupDefinitionError if contains
//! less than four points or if contains
//! less than four edges.
Standard_EXPORT void QuadrangleSet(const Graphic3d_Array1OfVertexN& ListVertex,const Aspect_Array1OfEdge& ListEdge,const Standard_Boolean EvalMinMax = Standard_True) ; //! Creates a group of quadrangles defined by a table of
//! vertices and a table of edges, visible or not.
//! For each vertex the normal is given.
//! For each vertex a texture coordinate is given.
//! Category: Methods to create Quadrangle
//! Warning: Raises GroupDefinitionError if contains
//! less than four points or if contains
//! less than four edges.
Standard_EXPORT void QuadrangleSet(const Graphic3d_Array1OfVertexNT& ListVertex,const Aspect_Array1OfEdge& ListEdge,const Standard_Boolean EvalMinMax = Standard_True) ; //! Creates a group of quadrangles defined by a table of
//! vertices and a table of edges, visible or not.
//! For each vertex the color is given.
//! Category: Methods to create Quadrangle
//! Warning: Raises GroupDefinitionError if contains
//! less than four points or if contains
//! less than four edges.
Standard_EXPORT void QuadrangleSet(const Graphic3d_Array1OfVertexC& ListVertex,const Aspect_Array1OfEdge& ListEdge,const Standard_Boolean EvalMinMax = Standard_True) ; //! Creates a group of quadrangles defined by a table of
//! vertices and a table of edges, visible or not.
//! For each vertex the normal and the color are given.
//! Category: Methods to create Quadrangle
//! Warning: Raises GroupDefinitionError if contains
//! less than four points or if contains
//! less than four edges.
Standard_EXPORT void QuadrangleSet(const Graphic3d_Array1OfVertexNC& ListVertex,const Aspect_Array1OfEdge& ListEdge,const Standard_Boolean EvalMinMax = Standard_True) ; //! Creates the string at position .
//! 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).
Standard_EXPORT 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 at position .
//! 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
Standard_EXPORT void Text(const Standard_CString AText,const Graphic3d_Vertex& APoint,const Standard_Real AHeight,const Standard_Boolean EvalMinMax = Standard_True) ; //! Creates the string at position .
//! 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).
Standard_EXPORT 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 at position .
//! 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
Standard_EXPORT void Text(const TCollection_ExtendedString& AText,const Graphic3d_Vertex& APoint,const Standard_Real AHeight,const Standard_Boolean EvalMinMax = Standard_True) ; //! Creates triangles from an array of points such that
//! the Kth triangle contains the vertices K, K+1, K+2.
//! The triangle will be drawn using the current fill
//! attributes (AspectFillArea3d)
//! Category: Methods to create Triangle
//! Warning: Raises GroupDefinitionError if contains
//! less than three points.
Standard_EXPORT void TriangleMesh(const Graphic3d_Array1OfVertex& ListVertex,const Standard_Boolean EvalMinMax = Standard_True) ; //! Creates triangles from an array of points such that
//! the Kth triangle contains the vertices K, K+1, K+2.
//! The triangle will be drawn using the current fill
//! attributes (AspectFillArea3d)
//! The normal is given for each vertex.
//! Category: Methods to create Triangle
//! Warning: Raises GroupDefinitionError if contains
//! less than three points.
Standard_EXPORT void TriangleMesh(const Graphic3d_Array1OfVertexN& ListVertex,const Standard_Boolean EvalMinMax = Standard_True) ; //! Creates triangles from an array of points such that
//! the Kth triangle contains the vertices K, K+1, K+2.
//! The triangle will be drawn using the current fill
//! attributes (AspectFillArea3d)
//! The normal is given for each vertex.
//! A texture coordinate is given for each vertex.
//! Category: Methods to create Triangle
//! Warning: Raises GroupDefinitionError if contains
//! less than three points.
Standard_EXPORT void TriangleMesh(const Graphic3d_Array1OfVertexNT& ListVertex,const Standard_Boolean EvalMinMax = Standard_True) ; //! Creates a group of triangles defined by a table of
//! vertices and a table of edges, visible or not.
//! Category: Methods to create Triangle
//! Warning: Raises GroupDefinitionError if contains
//! less than three points or if contains
//! less than three edges.
Standard_EXPORT void TriangleSet(const Graphic3d_Array1OfVertex& ListVertex,const Aspect_Array1OfEdge& ListEdge,const Standard_Boolean EvalMinMax = Standard_True) ; //! Creates a group of triangles defined by a table of
//! vertices and a table of edges, visible or not.
//! For each vertex the normal is given.
//! Category: Methods to create Triangle
//! Warning: Raises GroupDefinitionError if contains
//! less than three points or if contains
//! less than three edges.
Standard_EXPORT void TriangleSet(const Graphic3d_Array1OfVertexN& ListVertex,const Aspect_Array1OfEdge& ListEdge,const Standard_Boolean EvalMinMax = Standard_True) ; //! Creates a group of triangles defined by a table of
//! vertices and a table of edges, visible or not.
//! For each vertex the normal is given.
//! For each vertex a texture coordinate is given.
//! Category: Methods to create Triangle
//! Warning: Raises GroupDefinitionError if contains
//! less than three points or if contains
//! less than three edges.
Standard_EXPORT void TriangleSet(const Graphic3d_Array1OfVertexNT& ListVertex,const Aspect_Array1OfEdge& ListEdge,const Standard_Boolean EvalMinMax = Standard_True) ; //! Creates a group of triangles defined by a table of
//! vertices and a table of edges, visible or not.
//! For each vertex the color is given.
//! Category: Methods to create Triangle
//! Warning: Raises GroupDefinitionError if contains
//! less than three points or if contains
//! less than three edges.
Standard_EXPORT void TriangleSet(const Graphic3d_Array1OfVertexC& ListVertex,const Aspect_Array1OfEdge& ListEdge,const Standard_Boolean EvalMinMax = Standard_True) ; //! Creates a group of triangles defined by a table of
//! vertices and a table of edges, visible or not.
//! For each vertex the normal and the color are given.
//! Category: Methods to create Triangle
//! Warning: Raises GroupDefinitionError if contains
//! less than three points or if contains
//! less than three edges.
Standard_EXPORT void TriangleSet(const Graphic3d_Array1OfVertexNC& ListVertex,const Aspect_Array1OfEdge& ListEdge,const Standard_Boolean EvalMinMax = Standard_True) ; //! Adds an array of primitives for display
Standard_EXPORT void AddPrimitiveArray(const Handle(Graphic3d_ArrayOfPrimitives)& elem,const Standard_Boolean EvalMinMax = Standard_True) ; //! Remove the array of primitives of rank
Standard_EXPORT void RemovePrimitiveArray(const Standard_Integer aRank) ; //! Remove all array of primitives
Standard_EXPORT void RemovePrimitiveArrays() ; //! Creates an UserDraw primitive
//! Category: Methods to create UserDraw
//! Warning: Raises GroupDefinitionError if ...
Standard_EXPORT void UserDraw(const Standard_Address AnObject,const Standard_Boolean EvalMinMax = Standard_True,const Standard_Boolean ContainsFacet = Standard_False) ; //! Returns the number of primitive array added in this group
Standard_EXPORT Standard_Integer ArrayNumber() const; //! Initialize the array list iterator.
Standard_EXPORT void InitDefinedArray() ; //! Increments the array list iterator.
Standard_EXPORT void NextDefinedArray() ; //! Returns TRUE if more array exists in the list.
Standard_EXPORT Standard_Boolean MoreDefinedArray() ; //! Returns the current array of primitives according
//! to the array list iterator value.
Standard_EXPORT Handle_Graphic3d_ArrayOfPrimitives DefinedArray() const; //! Returns TRUE if aspect is set for the group.
Standard_EXPORT Standard_Boolean IsGroupPrimitivesAspectSet(const Graphic3d_GroupAspect theAspect) const; //! Returns the context of all the primitives of the group.
Standard_EXPORT void GroupPrimitivesAspect(const Handle(Graphic3d_AspectLine3d)& CTXL,const Handle(Graphic3d_AspectText3d)& CTXT,const Handle(Graphic3d_AspectMarker3d)& CTXM,const Handle(Graphic3d_AspectFillArea3d)& CTXF) const; //! Returns the last inserted context in the group
//! foreach kind of primitives.
Standard_EXPORT void PrimitivesAspect(const Handle(Graphic3d_AspectLine3d)& CTXL,const Handle(Graphic3d_AspectText3d)& CTXT,const Handle(Graphic3d_AspectMarker3d)& CTXM,const Handle(Graphic3d_AspectFillArea3d)& CTXF) const; //! Returns Standard_True if the group contains
//! Polygons, Triangles or Quadrangles.
Standard_EXPORT Standard_Boolean ContainsFacet() const; //! Returns Standard_True if the group is deleted.
//! is deleted after the call Remove (me) or the
//! associated structure is deleted.
Standard_EXPORT Standard_Boolean IsDeleted() const; //! Returns Standard_True if the group is empty.
Standard_EXPORT Standard_Boolean IsEmpty() const; //! Returns the coordinates of the boundary box of the
//! group .
Standard_EXPORT void MinMaxValues(Standard_Real& XMin,Standard_Real& YMin,Standard_Real& ZMin,Standard_Real& XMax,Standard_Real& YMax,Standard_Real& ZMax) const; //! Returns the structure containing the group .
Standard_EXPORT Handle_Graphic3d_Structure Structure() const; //! Prints informations about the group .
Standard_EXPORT void Exploration() const; Standard_EXPORT void BeginPrimitives() ; Standard_EXPORT void EndPrimitives() ; //! Creates a non rational Bezier curve with a set of poles :
//! ListVertex. The weights are defaulted to all being 1.
//! Category: Methods to create Curve
//! Warning: Raises GroupDefinitionError if contains
//! less than two points.
Standard_EXPORT void Bezier(const Graphic3d_Array1OfVertex& ListVertex,const Standard_Boolean EvalMinMax = Standard_True) ; //! Creates a non rational Bezier curve with a set of poles :
//! ListVertex and the set of weights ListWeight.
//! If all the weights are identical the curve is considered
//! as non rational.
//! Category: Methods to create Curve
//! Warning: Raises GroupDefinitionError if contains
//! less than two points or and
//! have not the same length or one weight value is lower
//! or equal to Resolution from package gp.
Standard_EXPORT void Bezier(const Graphic3d_Array1OfVertex& ListVertex,const TColStd_Array1OfReal& ListWeight,const Standard_Boolean EvalMinMax = Standard_True) ; friend //! Suppress in the structure , the group .
//! It will be erased at the next screen update.
Standard_EXPORT void Graphic3d_Structure::Remove(const Handle(Graphic3d_Group)& AGroup) ; DEFINE_STANDARD_RTTI(Graphic3d_Group) protected: private: //! Returns the position of the group in the structure.
Standard_EXPORT void Labels(Standard_Integer& LB,Standard_Integer& LE) const; //! Returns the extreme coordinates found in the group.
Standard_EXPORT void MinMaxCoord(Standard_Real& XMin,Standard_Real& YMin,Standard_Real& ZMin,Standard_Real& XMax,Standard_Real& YMax,Standard_Real& ZMax) const; //! Calls the Update method of the StructureManager which
//! contains the associated Structure of the Group .
Standard_EXPORT void Update() const; Graphic3d_CGroup MyCGroup; Handle_Graphic3d_GraphicDriver MyGraphicDriver; Graphic3d_CBitFields4 MyCBitFields; Standard_Address MyPtrStructure; Graphic3d_CBounds MyBounds; Graphic3d_ListOfPArray MyListOfPArray; Graphic3d_ListIteratorOfListOfPArray MyListOfPArrayIterator; Handle_TColStd_HArray1OfByte MyMarkArray; Standard_Integer MyMarkWidth; Standard_Integer MyMarkHeight; }; // other Inline functions and methods (like "C++: function call" methods) #endif