Open CASCADE Technology
7.1.0.beta
|
Contains triangles strip array definition. More...
#include <Graphic3d_ArrayOfTriangleStrips.hxx>
Public Member Functions | |
Graphic3d_ArrayOfTriangleStrips (const Standard_Integer maxVertexs, const Standard_Integer maxStrips=0, const Standard_Boolean hasVNormals=Standard_False, const Standard_Boolean hasVColors=Standard_False, const Standard_Boolean hasSColors=Standard_False, const Standard_Boolean hasTexels=Standard_False) | |
Creates an array of triangle strips, a polygon can be filled as: 1) creating a single strip defined with his vertexs. i.e: myArray = Graphic3d_ArrayOfTriangleStrips(7) myArray->AddVertex(x1,y1,z1) .... myArray->AddVertex(x7,y7,z7) 2) creating separate strips defined with a predefined number of strips and the number of vertex per strip. i.e: myArray = Graphic3d_ArrayOfTriangleStrips(8,2) myArray->AddBound(4) myArray->AddVertex(x1,y1,z1) .... myArray->AddVertex(x4,y4,z4) myArray->AddBound(4) myArray->AddVertex(x5,y5,z5) .... myArray->AddVertex(x8,y8,z8) More... | |
Public Member Functions inherited from Graphic3d_ArrayOfPrimitives | |
void | Destroy () |
~Graphic3d_ArrayOfPrimitives () | |
Standard_Integer | AddVertex (const gp_Pnt &aVertice) |
Adds a vertice in the array. returns the actual vertex number. More... | |
Standard_Integer | AddVertex (const Graphic3d_Vec3 &theVertex) |
Standard_Integer | AddVertex (const Standard_Real X, const Standard_Real Y, const Standard_Real Z) |
Adds a vertice in the array. returns the actual vertex number. More... | |
Standard_Integer | AddVertex (const Standard_ShortReal X, const Standard_ShortReal Y, const Standard_ShortReal Z) |
Adds a vertice in the array. returns the actual vertex number. More... | |
Standard_Integer | AddVertex (const gp_Pnt &aVertice, const Quantity_Color &aColor) |
Adds a vertice and vertex color in the vertex array. returns the actual vertex number. Warning: <aColor> is ignored when the <hasVColors> constructor parameter is FALSE. More... | |
Standard_Integer | AddVertex (const gp_Pnt &aVertice, const Standard_Integer aColor) |
Adds a vertice and vertex color in the vertex array. returns the actual vertex number. Warning: <aColor> is ignored when the <hasVColors> constructor parameter is FALSE aColor = Alpha << 24 + Blue << 16 + Green << 8 + Red On all architecture proccers type (x86 or SPARC) you can use this byte order. More... | |
Standard_Integer | AddVertex (const gp_Pnt &theVertex, const Graphic3d_Vec4ub &theColor) |
Adds a vertice and vertex color in the vertex array. returns the actual vertex number. Warning: <theColor> is ignored when the <hasVColors> constructor parameter is FALSE. More... | |
Standard_Integer | AddVertex (const gp_Pnt &aVertice, const gp_Dir &aNormal) |
Adds a vertice and vertex normal in the vertex array. returns the actual vertex number. Warning: <aNormal> is ignored when the <hasVNormals> constructor parameter is FALSE. More... | |
Standard_Integer | AddVertex (const Standard_Real X, const Standard_Real Y, const Standard_Real Z, const Standard_Real NX, const Standard_Real NY, const Standard_Real NZ) |
Adds a vertice and vertex normal in the vertex array. returns the actual vertex number. Warning: <aNormal> is ignored when the <hasVNormals> constructor parameter is FALSE. More... | |
Standard_Integer | AddVertex (const Standard_ShortReal X, const Standard_ShortReal Y, const Standard_ShortReal Z, const Standard_ShortReal NX, const Standard_ShortReal NY, const Standard_ShortReal NZ) |
Adds a vertice and vertex normal in the vertex array. returns the actual vertex number. Warning: <aNormal> is ignored when the <hasVNormals> constructor parameter is FALSE. More... | |
Standard_Integer | AddVertex (const gp_Pnt &aVertice, const gp_Dir &aNormal, const Quantity_Color &aColor) |
Adds a vertice,vertex normal and color in the vertex array. returns the actual vertex number. Warning: <aNormal> is ignored when the <hasVNormals> constructor parameter is FALSE. <aColor> is ignored when the <hasVColors> constructor parameter is FALSE. More... | |
Standard_Integer | AddVertex (const gp_Pnt &aVertice, const gp_Dir &aNormal, const Standard_Integer aColor) |
Adds a vertice,vertex normal and color in the vertex array. returns the actual vertex number. Warning: <aNormal> is ignored when the <hasVNormals> constructor parameter is FALSE. <aColor> is ignored when the <hasVColors> constructor parameter is FALSE aColor = Alpha << 24 + Blue << 16 + Green << 8 + Red On all architecture proccers type (x86 or SPARC) you can use this byte order. More... | |
Standard_Integer | AddVertex (const gp_Pnt &aVertice, const gp_Pnt2d &aTexel) |
Adds a vertice and vertex texture in the vertex array. returns the actual vertex number. <aTexel> is ignored when the <hasVTexels> constructor parameter is FALSE. More... | |
Standard_Integer | AddVertex (const Standard_Real X, const Standard_Real Y, const Standard_Real Z, const Standard_Real TX, const Standard_Real TY) |
Adds a vertice and vertex texture coordinates in the vertex array. returns the actual vertex number. <aTexel> is ignored when the <hasVTexels> constructor parameter is FALSE. More... | |
Standard_Integer | AddVertex (const Standard_ShortReal X, const Standard_ShortReal Y, const Standard_ShortReal Z, const Standard_ShortReal TX, const Standard_ShortReal TY) |
Adds a vertice and vertex texture coordinates in the vertex array. returns the actual vertex number. <aTexel> is ignored when the <hasVTexels> constructor parameter is FALSE. More... | |
Standard_Integer | AddVertex (const gp_Pnt &aVertice, const gp_Dir &aNormal, const gp_Pnt2d &aTexel) |
Adds a vertice,vertex normal and texture in the vertex array. returns the actual vertex number. Warning: <aNormal> is ignored when the <hasVNormals> constructor parameter is FALSE. <aTexel> is ignored when the <hasVTexels> constructor parameter is FALSE. More... | |
Standard_Integer | AddVertex (const Standard_Real X, const Standard_Real Y, const Standard_Real Z, const Standard_Real NX, const Standard_Real NY, const Standard_Real NZ, const Standard_Real TX, const Standard_Real TY) |
Adds a vertice,vertex normal and texture in the vertex array. returns the actual vertex number. Warning: <aNormal> is ignored when the <hasVNormals> constructor parameter is FALSE. <aTexel> is ignored when the <hasVTexels> constructor parameter is FALSE. More... | |
Standard_Integer | AddVertex (const Standard_ShortReal X, const Standard_ShortReal Y, const Standard_ShortReal Z, const Standard_ShortReal NX, const Standard_ShortReal NY, const Standard_ShortReal NZ, const Standard_ShortReal TX, const Standard_ShortReal TY) |
Adds a vertice,vertex normal and texture in the vertex array. returns the actual vertex number. Warning: <aNormal> is ignored when the <hasVNormals> constructor parameter is FALSE. <aTexel> is ignored when the <hasVTexels> constructor parameter is FALSE. More... | |
Standard_Integer | AddBound (const Standard_Integer edgeNumber) |
Adds a bound of length <edgeNumber> in the bound array returns the actual bounds number. More... | |
Standard_Integer | AddBound (const Standard_Integer edgeNumber, const Quantity_Color &aBColor) |
Adds a bound of length <edgeNumber> and bound color <aBColor> in the bound array. returns the actual bounds number. Warning: <aBColor> is ignored when the <hasBColors> constructor parameter is FALSE. More... | |
Standard_Integer | AddBound (const Standard_Integer edgeNumber, const Standard_Real R, const Standard_Real G, const Standard_Real B) |
Adds a bound of length <edgeNumber> and bound color coordinates in the bound array. returns the actual bounds number. Warning: <R,G,B> are ignored when the <hasBColors> constructor parameter is FALSE. More... | |
Standard_Integer | AddEdge (const Standard_Integer vertexIndex) |
Adds an edge in the range [1,VertexNumber()] in the array. Returns the actual edges number. More... | |
void | SetVertice (const Standard_Integer anIndex, const gp_Pnt &aVertice) |
Change the vertice of rank <anIndex> in the array. More... | |
void | SetVertice (const Standard_Integer anIndex, const Standard_ShortReal X, const Standard_ShortReal Y, const Standard_ShortReal Z) |
Change the vertice of rank <anIndex> in the array. More... | |
void | SetVertexColor (const Standard_Integer anIndex, const Quantity_Color &aColor) |
Change the vertex color of rank <anIndex> in the array. More... | |
void | SetVertexColor (const Standard_Integer anIndex, const Standard_Real R, const Standard_Real G, const Standard_Real B) |
Change the vertex color of rank <anIndex> in the array. More... | |
void | SetVertexColor (const Standard_Integer theIndex, const Graphic3d_Vec4ub &theColor) |
Change the vertex color of rank <theIndex> in the array. More... | |
void | SetVertexColor (const Standard_Integer anIndex, const Standard_Integer aColor) |
Change the vertex color of rank <anIndex> in the array. aColor = Alpha << 24 + Blue << 16 + Green << 8 + Red On all architecture proccers type (x86 or SPARC) you can use this byte order. More... | |
void | SetVertexNormal (const Standard_Integer anIndex, const gp_Dir &aNormal) |
Change the vertex normal of rank <anIndex> in the array. More... | |
void | SetVertexNormal (const Standard_Integer anIndex, const Standard_Real NX, const Standard_Real NY, const Standard_Real NZ) |
Change the vertex normal of rank <anIndex> in the array. More... | |
void | SetVertexTexel (const Standard_Integer anIndex, const gp_Pnt2d &aTexel) |
Change the vertex texel of rank <anIndex> in the array. More... | |
void | SetVertexTexel (const Standard_Integer anIndex, const Standard_Real TX, const Standard_Real TY) |
Change the vertex texel of rank <anIndex> in the array. More... | |
void | SetBoundColor (const Standard_Integer anIndex, const Quantity_Color &aColor) |
Change the bound color of rank <anIndex> in the array. More... | |
void | SetBoundColor (const Standard_Integer anIndex, const Standard_Real R, const Standard_Real G, const Standard_Real B) |
Change the bound color of rank <anIndex> in the array. More... | |
const Handle< Graphic3d_IndexBuffer > & | Indices () const |
Returns optional index buffer. More... | |
const Handle< Graphic3d_Buffer > & | Attributes () const |
Returns vertex attributes buffer (colors, normals, texture coordinates). More... | |
const Handle< Graphic3d_BoundBuffer > & | Bounds () const |
Returns optional bounds buffer. More... | |
Graphic3d_TypeOfPrimitiveArray | Type () const |
Returns the type of this primitive. More... | |
Standard_CString | StringType () const |
Returns the string type of this primitive. More... | |
Standard_Boolean | HasVertexNormals () const |
Returns TRUE when vertex normals array is defined. More... | |
Standard_Boolean | HasVertexColors () const |
Returns TRUE when vertex colors array is defined. More... | |
Standard_Boolean | HasVertexTexels () const |
Returns TRUE when vertex texels array is defined. More... | |
Standard_Integer | VertexNumber () const |
Returns the number of defined vertex. More... | |
gp_Pnt | Vertice (const Standard_Integer aRank) const |
Returns the vertice at rank <aRank> from the vertex table if defined. More... | |
void | Vertice (const Standard_Integer aRank, Standard_Real &X, Standard_Real &Y, Standard_Real &Z) const |
Returns the vertice coordinates at rank <aRank> from the vertex table if defined. More... | |
Quantity_Color | VertexColor (const Standard_Integer aRank) const |
Returns the vertex color at rank <aRank> from the vertex table if defined. More... | |
void | VertexColor (const Standard_Integer aRank, Standard_Real &R, Standard_Real &G, Standard_Real &B) const |
Returns the vertex color values at rank <aRank> from the vertex table if defined. More... | |
void | VertexColor (const Standard_Integer aRank, Standard_Integer &aColor) const |
Returns the vertex color values at rank <aRank> from the vertex table if defined. More... | |
gp_Dir | VertexNormal (const Standard_Integer aRank) const |
Returns the vertex normal at rank <aRank> from the vertex table if defined. More... | |
void | VertexNormal (const Standard_Integer aRank, Standard_Real &NX, Standard_Real &NY, Standard_Real &NZ) const |
Returns the vertex normal coordinates at rank <aRank> from the vertex table if defined. More... | |
gp_Pnt2d | VertexTexel (const Standard_Integer aRank) const |
Returns the vertex texture at rank <aRank> from the vertex table if defined. More... | |
void | VertexTexel (const Standard_Integer aRank, Standard_Real &TX, Standard_Real &TY) const |
Returns the vertex texture coordinates at rank <aRank> from the vertex table if defined. More... | |
Standard_Integer | EdgeNumber () const |
Returns the number of defined edges. More... | |
Standard_Integer | Edge (const Standard_Integer aRank) const |
Returns the vertex index at rank <aRank> in the range [1,VertexNumber()]. More... | |
Standard_Boolean | HasBoundColors () const |
Returns TRUE when bound colors array is defined. More... | |
Standard_Integer | BoundNumber () const |
Returns the number of defined bounds. More... | |
Standard_Integer | Bound (const Standard_Integer aRank) const |
Returns the edge number at rank <aRank>. More... | |
Quantity_Color | BoundColor (const Standard_Integer aRank) const |
Returns the bound color at rank <aRank> from the bound table if defined. More... | |
void | BoundColor (const Standard_Integer aRank, Standard_Real &R, Standard_Real &G, Standard_Real &B) const |
Returns the bound color values at rank <aRank> from the bound table if defined. More... | |
Standard_Integer | ItemNumber () const |
Returns the number of total items according to the array type. More... | |
Standard_Boolean | IsValid () |
Returns TRUE only when the contains of this array is available. More... | |
Public Member Functions inherited from MMgt_TShared | |
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... | |
Additional Inherited Members | |
Public Types inherited from Standard_Transient | |
typedef void | base_type |
Returns a type descriptor about this object. More... | |
Static Public Member Functions inherited from Standard_Transient | |
static const char * | get_type_name () |
Returns a type descriptor about this object. More... | |
static const opencascade::handle< Standard_Type > & | get_type_descriptor () |
Returns type descriptor of Standard_Transient class. More... | |
Protected Member Functions inherited from Graphic3d_ArrayOfPrimitives | |
Graphic3d_ArrayOfPrimitives (const Graphic3d_TypeOfPrimitiveArray aType, const Standard_Integer maxVertexs, const Standard_Integer maxBounds, const Standard_Integer maxEdges, const Standard_Boolean hasVNormals, const Standard_Boolean hasVColors, const Standard_Boolean hasBColors, const Standard_Boolean hasTexels) | |
Warning You must use a coherent set of AddVertex() methods according to the <hasVNormals>,<hasVColors>,<hasVTexels>,<hasBColors> User is responsible of confuse vertex and bad normal orientation. You must use AddBound() method only if the <maxBounds> constructor parameter is > 0. You must use AddEdge() method only if the <maxEdges> constructor parameter is > 0. More... | |
Contains triangles strip array definition.
Graphic3d_ArrayOfTriangleStrips::Graphic3d_ArrayOfTriangleStrips | ( | const Standard_Integer | maxVertexs, |
const Standard_Integer | maxStrips = 0 , |
||
const Standard_Boolean | hasVNormals = Standard_False , |
||
const Standard_Boolean | hasVColors = Standard_False , |
||
const Standard_Boolean | hasSColors = Standard_False , |
||
const Standard_Boolean | hasTexels = Standard_False |
||
) |
Creates an array of triangle strips, a polygon can be filled as: 1) creating a single strip defined with his vertexs. i.e: myArray = Graphic3d_ArrayOfTriangleStrips(7) myArray->AddVertex(x1,y1,z1) .... myArray->AddVertex(x7,y7,z7) 2) creating separate strips defined with a predefined number of strips and the number of vertex per strip. i.e: myArray = Graphic3d_ArrayOfTriangleStrips(8,2) myArray->AddBound(4) myArray->AddVertex(x1,y1,z1) .... myArray->AddVertex(x4,y4,z4) myArray->AddBound(4) myArray->AddVertex(x5,y5,z5) .... myArray->AddVertex(x8,y8,z8)
<maxVertexs> defined the maximun allowed vertex number in the array. <maxStrips> defined the maximun allowed strip number in the array. The number of triangle really drawn is : VertexNumber()-2*Min(1,BoundNumber()) Warning: When <hasVNormals> is TRUE , you must use one of AddVertex(Point,Normal) or AddVertex(Point,Normal,Color) or AddVertex(Point,Normal,Texel) methods. When <hasVColors> is TRUE , you must use one of AddVertex(Point,Color) or AddVertex(Point,Normal,Color) methods. When <hasTexels> is TRUE , you must use one of AddVertex(Point,Texel) or AddVertex(Point,Normal,Texel) methods. When <hasBColors> is TRUE , <maxBounds> must be > 0 and you must use the AddBound(number,Color) method. Warning: the user is responsible about the orientation of the strip depending of the order of the created vertex and this orientation must be coherent with the vertex normal optionnaly given at each vertex (See the Orientate() methods).