OCC Main Page | DataExchange | Toolkits | Packages | Class Hierarchy | Data Structures | File List | Data Fields | Globals

DataExchange
TKVRML
VrmlData


VrmlData_IndexedFaceSet Class Reference

#include <VrmlData_IndexedFaceSet.hxx>

Inheritance diagram for VrmlData_IndexedFaceSet:

Inheritance graph
[legend]

Public Member Functions

 VrmlData_IndexedFaceSet ()
 VrmlData_IndexedFaceSet (const VrmlData_Scene &theScene, const char *theName, const Standard_Boolean isCCW=Standard_True, const Standard_Boolean isSolid=Standard_True, const Standard_Boolean isConvex=Standard_True, const Standard_Real theCreaseAngle=0.)
const Handle (VrmlData_Normal)&Normals() const
const Handle (VrmlData_Color)&Colors() const
const Handle (VrmlData_TextureCoordinate)&TextureCoords() const
const Handle (VrmlData_Coordinate)&Coordinates() const
size_t Polygons (const Standard_Integer **&arrPolygons) const
Standard_Integer Polygon (const Standard_Integer iFace, const Standard_Integer *&outIndice)
void SetCoordinates (const Handle(VrmlData_Coordinate)&theCoord)
void SetPolygons (const Standard_Integer nPolygons, const Standard_Integer **thePolygons)
size_t ArrayNormalInd (const Standard_Integer **&arrNormalInd) const
Standard_Integer IndiceNormals (const Standard_Integer iFace, const Standard_Integer *&outIndice)
Standard_EXPORT gp_XYZ GetNormal (const Standard_Integer iFace, const Standard_Integer iVertex)
void SetNormalInd (const Standard_Integer nIndice, const Standard_Integer **theIndice)
void SetNormals (const Handle(VrmlData_Normal)&theNormals)
void SetNormalPerVertex (const Standard_Boolean isNormalPerVertex)
size_t ArrayColorInd (const Standard_Integer **&arrColorInd) const
Standard_EXPORT Quantity_Color GetColor (const Standard_Integer iFace, const Standard_Integer iVertex)
void SetColorInd (const Standard_Integer nIndice, const Standard_Integer **theIndice)
void SetColors (const Handle(VrmlData_Color)&theColors)
void SetColorPerVertex (const Standard_Boolean isColorPerVertex)
size_t ArrayTextureCoordInd (const Standard_Integer **&arrTextureCoordInd) const
void SetTextureCoordInd (const Standard_Integer nIndice, const Standard_Integer **theIndice)
void SetTextureCoords (const Handle(VrmlData_TextureCoordinate)&tc)
virtual Standard_EXPORT const Handle (TopoDS_TShape)&TShape()
virtual Standard_EXPORT Handle (VrmlData_Node) Clone(const Handle(VrmlData_Node)&theOther) const
virtual Standard_EXPORT VrmlData_ErrorStatus Read (VrmlData_InBuffer &theBuffer)
virtual Standard_EXPORT VrmlData_ErrorStatus Write (const char *thePrefix) const
virtual Standard_EXPORT Standard_Boolean IsDefault () const

Private Member Functions

 Handle (VrmlData_Coordinate) myCoords
 Handle (VrmlData_Normal) myNormals
 Handle (VrmlData_Color) myColors
 Handle (VrmlData_TextureCoordinate) myTxCoords

Private Attributes

const Standard_Integer ** myArrPolygons
const Standard_Integer ** myArrNormalInd
const Standard_Integer ** myArrColorInd
const Standard_Integer ** myArrTextureInd
Standard_Size myNbPolygons
Standard_Size myNbNormals
Standard_Size myNbColors
Standard_Size myNbTextures
Standard_Boolean myNormalPerVertex
Standard_Boolean myColorPerVertex

Detailed Description

Implementation of IndexedFaceSet node


Constructor & Destructor Documentation

VrmlData_IndexedFaceSet::VrmlData_IndexedFaceSet  )  [inline]
 

Empty constructor

VrmlData_IndexedFaceSet::VrmlData_IndexedFaceSet const VrmlData_Scene theScene,
const char *  theName,
const Standard_Boolean  isCCW = Standard_True,
const Standard_Boolean  isSolid = Standard_True,
const Standard_Boolean  isConvex = Standard_True,
const Standard_Real  theCreaseAngle = 0.
[inline]
 

Constructor


Member Function Documentation

size_t VrmlData_IndexedFaceSet::ArrayColorInd const Standard_Integer **&  arrColorInd  )  const [inline]
 

Query the array of color indice

Parameters:
arrColorInd [out] array of colorIndex as it is described in VRML2.0 spec
Returns:
Number of integers in the array arrColorInd.

size_t VrmlData_IndexedFaceSet::ArrayNormalInd const Standard_Integer **&  arrNormalInd  )  const [inline]
 

Query the array of normal indice

Parameters:
arrNormalInd [out] array of normalIndex as it is described in VRML2.0 spec
Returns:
Number of integers in the array arrNormalInd.

size_t VrmlData_IndexedFaceSet::ArrayTextureCoordInd const Standard_Integer **&  arrTextureCoordInd  )  const [inline]
 

Query the array of texture coordinate indice

Parameters:
arrTextureCoordInd [out] array of texCoordIndex as it is described in VRML2.0 spec
Returns:
Number of integers in the array texCoordIndex.

Standard_EXPORT Quantity_Color VrmlData_IndexedFaceSet::GetColor const Standard_Integer  iFace,
const Standard_Integer  iVertex
 

Query a color for one node in the given element. The color is interpreted according to fields myColors, myArrColorInd, myColorPerVertex, as defined in VRML 2.0.

Parameters:
iFace rank of the polygon [0 .. N-1]
iVertex rank of the vertex in the polygon [0 .. M-1]. This parameter is ignored if (myColorPerVertex == False)
Returns:
Color value (RGB); if the color is indefinite then returns (0., 0., 0.)

Standard_EXPORT gp_XYZ VrmlData_IndexedFaceSet::GetNormal const Standard_Integer  iFace,
const Standard_Integer  iVertex
 

Query a normal for one node in the given element. The normal is interpreted according to fields myNormals, myArrNormalInd, myNormalPerVertex, as defined in VRML 2.0.

Parameters:
iFace rank of the polygon [0 .. N-1]
iVertex rank of the vertex in the polygon [0 .. M-1]. This parameter is ignored if (myNormalPerVertex == False)
Returns:
Normal vector; if the normal is indefinite then returns (0., 0., 0.)

VrmlData_IndexedFaceSet::Handle VrmlData_TextureCoordinate   )  [private]
 

VrmlData_IndexedFaceSet::Handle VrmlData_Color   )  [private]
 

VrmlData_IndexedFaceSet::Handle VrmlData_Normal   )  [private]
 

VrmlData_IndexedFaceSet::Handle VrmlData_Coordinate   )  [private]
 

If the normals are not defined, here we compute them from the polygons.

Parameters:
theArray Array of float values having length:
  • if myNormalPerVertex==TRUE : 3 * myCoords->Length()
  • if myNormalPerVertex==FALSE: 9 * number_of_triangles

virtual Standard_EXPORT VrmlData_IndexedFaceSet::Handle VrmlData_Node   )  const [virtual]
 

Create a copy of this node. If the parameter is null, a new copied node is created. Otherwise new node is not created, but rather the given one is modified.

Reimplemented from VrmlData_Node.

virtual Standard_EXPORT const VrmlData_IndexedFaceSet::Handle TopoDS_TShape   )  [virtual]
 

Query the shape. This method checks the flag myIsModified; if True it should rebuild the shape presentation.

Implements VrmlData_Geometry.

const VrmlData_IndexedFaceSet::Handle VrmlData_Coordinate   )  const [inline]
 

Query the Coordinates.

const VrmlData_IndexedFaceSet::Handle VrmlData_TextureCoordinate   )  const [inline]
 

Query the Texture Coordinates.

const VrmlData_IndexedFaceSet::Handle VrmlData_Color   )  const [inline]
 

Query the Colors.

const VrmlData_IndexedFaceSet::Handle VrmlData_Normal   )  const [inline]
 

Query the Normals.

Standard_Integer VrmlData_IndexedFaceSet::IndiceNormals const Standard_Integer  iFace,
const Standard_Integer *&  outIndice
[inline]
 

Query normals indice for one face. This method should be called after checking myArrNormalInd != NULL, otherwise exception will be thrown.

Parameters:
iFace rank of the face [0 .. N-1]
outIndice [out] array of normals indice
Returns:
number of indice in the array - the dimension of outIndice array

virtual Standard_EXPORT Standard_Boolean VrmlData_IndexedFaceSet::IsDefault  )  const [virtual]
 

Returns True if the node is default, so that it should not be written.

Reimplemented from VrmlData_Node.

Standard_Integer VrmlData_IndexedFaceSet::Polygon const Standard_Integer  iFace,
const Standard_Integer *&  outIndice
[inline]
 

Query one polygon.

Parameters:
iFace rank of the polygon [0 .. N-1]
outIndice [out] array of vertex indice
Returns:
number of vertice in the polygon - the dimension of outIndice array

size_t VrmlData_IndexedFaceSet::Polygons const Standard_Integer **&  arrPolygons  )  const [inline]
 

Query the array of polygons

virtual Standard_EXPORT VrmlData_ErrorStatus VrmlData_IndexedFaceSet::Read VrmlData_InBuffer theBuffer  )  [virtual]
 

Read the Node from input stream.

Implements VrmlData_Node.

void VrmlData_IndexedFaceSet::SetColorInd const Standard_Integer  nIndice,
const Standard_Integer **  theIndice
[inline]
 

Set the colors array of indice

void VrmlData_IndexedFaceSet::SetColorPerVertex const Standard_Boolean  isColorPerVertex  )  [inline]
 

Set the boolean value "colorPerVertex"

void VrmlData_IndexedFaceSet::SetColors const Handle(VrmlData_Color)&  theColors  )  [inline]
 

Set the Color node

void VrmlData_IndexedFaceSet::SetCoordinates const Handle(VrmlData_Coordinate)&  theCoord  )  [inline]
 

Set the nodes

void VrmlData_IndexedFaceSet::SetNormalInd const Standard_Integer  nIndice,
const Standard_Integer **  theIndice
[inline]
 

Set the normals array of indice

void VrmlData_IndexedFaceSet::SetNormalPerVertex const Standard_Boolean  isNormalPerVertex  )  [inline]
 

Set the boolean value "normalPerVertex"

void VrmlData_IndexedFaceSet::SetNormals const Handle(VrmlData_Normal)&  theNormals  )  [inline]
 

Set the normals node

void VrmlData_IndexedFaceSet::SetPolygons const Standard_Integer  nPolygons,
const Standard_Integer **  thePolygons
[inline]
 

Set the polygons

void VrmlData_IndexedFaceSet::SetTextureCoordInd const Standard_Integer  nIndice,
const Standard_Integer **  theIndice
[inline]
 

Set the TexCoordiante array of indice

void VrmlData_IndexedFaceSet::SetTextureCoords const Handle(VrmlData_TextureCoordinate)&  tc  )  [inline]
 

Set the Texture Coordinate node

virtual Standard_EXPORT VrmlData_ErrorStatus VrmlData_IndexedFaceSet::Write const char *  thePrefix  )  const [virtual]
 

Write the Node to output stream.

Reimplemented from VrmlData_Node.


Field Documentation

const Standard_Integer** VrmlData_IndexedFaceSet::myArrColorInd [private]
 

const Standard_Integer** VrmlData_IndexedFaceSet::myArrNormalInd [private]
 

const Standard_Integer** VrmlData_IndexedFaceSet::myArrPolygons [private]
 

const Standard_Integer** VrmlData_IndexedFaceSet::myArrTextureInd [private]
 

Standard_Boolean VrmlData_IndexedFaceSet::myColorPerVertex [private]
 

Standard_Size VrmlData_IndexedFaceSet::myNbColors [private]
 

Standard_Size VrmlData_IndexedFaceSet::myNbNormals [private]
 

Standard_Size VrmlData_IndexedFaceSet::myNbPolygons [private]
 

Standard_Size VrmlData_IndexedFaceSet::myNbTextures [private]
 

Standard_Boolean VrmlData_IndexedFaceSet::myNormalPerVertex [private]
 


The documentation for this class was generated from the following file:
Generated on Mon Aug 25 14:46:11 2008 for OpenCASCADE by  doxygen 1.4.1