DataExchangeBaseRepsItf Interface CATIExchangeTessellatedRepresentation

Usage: you can freely reimplement this interface.


interface CATIExchangeTessellatedRepresentation

Interface to exchange tessellated representations (surfaces and curves).
Role: This interface provides a view on a XCAD document as a tessellated representation.
Available from CATIA V5R15.


Method Index


o GetChild(void*,unsigned int,void*&)
Retrieves the node's ID from its index.
o GetChildCount(void*,unsigned int*)
Retrieves the number of children of the current node.
o GetCircleData(void*,double[3],double[3],double*)
Retrieves the 3D circle arc's parameters.
o GetConeData(void*,double[3],double[3],double*)
Retrieves the cone's parameters.
o GetCoordinateSystem(void*,double[3],double[3],double[3])
Retrieves the coordinates system.
o GetCylinderData(void*,double[3],double[3],double*)
Retrieves the cylinder's parameters.
o GetEdgeData(void*,void**,void**,float**,unsigned int*,int**)
Retrieves the edge's parameters.
o GetFaceData(void*,int*,float**,int*,float**,int*,int**,int*,int**,int**,int*,int**,int**)
Retrieves the face's parameters.
o GetGPType(void*,KindOfGP&)
Retrieves the node's GP type.
o GetNodeBoundingSphere(void*,float[3],float*)
Retrieves the bounding sphere of a node.
o GetNodeColor(void*,unsigned int*,unsigned int*,unsigned int*,unsigned int*)
Retrieves the color of a node.
o GetNodeOrientationMatrix(void*,float[3][3],float[3])
Retrieves the orientation matrix of the node.
o GetNodeType(void*,KindOfNode&)
Retrieves the node's type.
o GetNodeUID(void*,CATUnicodeString&)
Retrieves the node's UID.
o GetPlaneData(void*,double[3],double[3])
Retrieves the plane's parameters.
o GetPointData(void*,float**,int*)
Retrieves the point's parameters.
o GetPolyLineData(void*,float**,int*,int*)
Retrieves the polyline's parameters.
o GetRootNode(unsigned int,void*&)
Retrieves the root node's ID from its index.
o GetRootNodesCount(unsigned int*)
Retrieves the root nodes' number.
o GetSAG(void*,float*,float*,float*)
Retrieves the tessellation options.
o GetSphereData(void*,double[3],double*)
Retrieves the sphere's parameters.

Methods


o GetChild
public virtual GetChild( const iNodeID,
const iChildIndex,
oChildNodeID)
Retrieves the node's ID from its index.
Parameters:
iNodeID
the node's ID.
iChildIndex
the child's index from 0 to children number - 1.
oChildNodeID
the ID of the child.
o GetChildCount
public virtual GetChildCount( const iNodeID,
oNodeCount)
Retrieves the number of children of the current node.
Parameters:
iNodeID
the node's ID.
oNodeCount
the number of children nodes.
o GetCircleData
public virtual GetCircleData( const iNodeID,
oCenterPoint,
oNormalVector,
oRadius)
Retrieves the 3D circle arc's parameters.
Parameters:
iNodeID
the node's ID.
oCenterPoint
the center of the circle.
oNormalVector
the normal to the circle plan, this vector is normalized.
oRadius
the circle radius.
o GetConeData
public virtual GetConeData( const iNodeID,
oBasePoint,
oAxisVector,
oHalfAngle)
Retrieves the cone's parameters.
Parameters:
iNodeID
the node's ID.
oBasePoint
the apex point of the cone.
oAxisVector
the vector defining the axis of the cone. Its length is the length of the cone.
oHalfAngle
the acute angle subtended between the axis and a generator of the cone ( 0 < angle < PI/2 ).
o GetCoordinateSystem
public virtual GetCoordinateSystem( const iNodeID,
oOriginPoint,
oFirstVector,
oSecondVector)
Retrieves the coordinates system.
Parameters:
iNodeID
the node's ID.
oOriginPoint
the origin of the coordinate system.
oFirstVector
the first vector which defines the system.
oSecondVector
the second vector which defines the system.
o GetCylinderData
public virtual GetCylinderData( const iNodeID,
oBasePoint,
oAxisVector,
oRadius)
Retrieves the cylinder's parameters.
Parameters:
iNodeID
the node's ID.
oBasePoint
the center of the cylinder's base.
oAxisVector
the vector defining the axis of the cylinder. Its length is the length of the cylinder.
oRadius
the radius of the cylinder's base circle.
o GetEdgeData
public virtual GetEdgeData( const iNodeID,
oFace1Node,
oFace2Node,
oFace1Vertices,
oVerticesNumber,
oVerticesIndices)
Retrieves the edge's parameters.
Parameters:
iNodeID
the node's ID.
oFace1Node
the first face the edge belongs to. This face shares vertices informations with the edge.
oFace2Node
the second face the edge belongs to. This face can be set to NULL if doesn't exist.
oFace1Vertices
the first face vertices coordinates array: XYZXYZXYZ... ***sizeOf GetEdgeData oFace1Vertices : 3*oVerticesNumber
oVerticesNumber
the number of vertices in the edge.
oVerticesIndices
edge vertices indices array, taken from the first face. This means that these indices allow to access vertices coordinates only through first face data. ***sizeOf GetEdgeData oVerticesIndices : oVerticesNumber
o GetFaceData
public virtual GetFaceData( const iNodeID,
oVerticesNumber,
oVertices,
oNormalsNumber,
oNormals,
oSingleTrianglesNumber,
oSingleTrianglesIndices,
oStripTrianglesNumber,
oStripTrianglesIndices,
oNbVertexPerStripTriangle,
oFanTrianglesNumber,
oFanTrianglesIndices,
oNbVertexPerFanTriangle)
Retrieves the face's parameters.
Parameters:
iNodeID
the node's ID.
oVerticesNumber
the vertices number. If information on vertices is shared with another element, returned size for this parameter is equal to 0.
oVertices
an array made of face vertices coordinates: XYZXYZXYZ... Its size is equal to three times the face vertices number. ***sizeOf GetFaceData oVertices : 3*oVerticesNumber
oNormalsNumber
the number of normals. If information on normals is shared with another element, returned size for this parameter is equal to 0.
oNormals
an array made of normals coordinates. It is organized as oVertices : one vertex has exactly one normal at the same field entry. ***sizeOf GetFaceData oNormals : 3*oNormalsNumber
oSingleTrianglesNumber
the number of single triangles in the face.
oSingleTrianglesIndices
the array used to store the single triangles vertices. Each of its field represents a vertex index, in the oVertices array. As, we find, in the *oVertices array, the XYZ coordinates for each vertex, the indices used to designate the vertices are multiples of three. ***sizeOf GetFaceData oSingleTrianglesIndices : 3*oSingleTrianglesNumber
oStripTrianglesNumber
the number of face triangles strips.
oStripTrianglesIndices
the array used to store the face triangles strips vertices. Each field contains a vertex index, belonging to one of the strips, in the oVertices array. As, we find, in the oVertices array, the XYZ coordinates for each vertex, the indices used to designate the vertices are multiples of three. ***sizeOf GetFaceData oStripTrianglesIndices : ( sizeOf oNbVertexPerStripTriangle : oStripTrianglesNumber )
oNbVertexPerStripTriangle
an array containing the number of vertices for each face triangles strip. The size of this array is equal to *oStripTrianglesNumber. For example, the first strip is made with *oNbVertexPerStripTriangle[0] vertices. ***sizeOf GetFaceData oNbVertexPerStripTriangle : oStripTrianglesNumber
oFanTrianglesNumber
the number of face triangles fans.
oFanTrianglesIndices
the array used to store the face triangles fans vertices. Each field contains a vertex index, belonging to one of the fans, in the oVertices array. As, we find, in the oVertices array, the XYZ coordinates for each vertex, the indices used to designate the vertices are multiples of three. ***sizeOf GetFaceData oFanTrianglesIndices : ( sizeOf oNbVertexPerFanTriangle : oFanTrianglesNumber )
oNbVertexPerFanTriangle
the array containing the number of vertices for each face triangles fan. The size of this array is equal to *oFanTrianglesNumber. For example, the first fan is made with *oNbVertexPerFanTriangle[0] vertices. ***sizeOf GetFaceData oNbVertexPerFanTriangle : oFanTrianglesNumber
o GetGPType
public virtual GetGPType( const iNodeID,
oGPType)
Retrieves the node's GP type.
Parameters:
iNodeID
the node's ID.
oGPType
the GP's type.
Returns:
If current node isn't a GP, returns S_FALSE.
o GetNodeBoundingSphere
public virtual GetNodeBoundingSphere( const iNodeID,
oCenterPoint,
oRadius)
Retrieves the bounding sphere of a node. This sphere represents the smallest sphere containing the object under the node it's linked to. This information is used at the rendering time to know if a given element is visible on the screen and needs to be drawn or not.
Parameters:
iNodeID
the node's ID.
oCenterPoint
the center of the sphere.
oRadius
the radius of the sphere.
o GetNodeColor
public virtual GetNodeColor( const iNodeID,
oRed,
oGreen,
oBlue,
oAlpha= NULL)
Retrieves the color of a node.
Parameters:
iNodeID
the node's ID.
oRed
the red component. Legal values: oRed ranges from 0 to 255.
oGreen
the green component. Legal values: oGreen ranges from 0 to 255.
oBlue
the blue component. Legal values: oBlue ranges from 0 to 255.
oAlpha
the alpha component. Legal values: oAlpha ranges from 0 to 255.
o GetNodeOrientationMatrix
public virtual GetNodeOrientationMatrix( const iNodeID,
oRotationMatrix,
oTranslationVector)
Retrieves the orientation matrix of the node. (in relation with its immediate father)
Parameters:
iNodeID
the node's ID.
oRotationMatrix
the rotation component: oRotationMatrix[0][x] : U vector oRotationMatrix[1][x] : V vector oRotationMatrix[2][x] : W vector
oTranslationVector
the translation component.
Returns:
If current node has no orientation matrix, returns S_FALSE.
o GetNodeType
public virtual GetNodeType( const iNodeID,
oNodeType)
Retrieves the node's type.
Parameters:
iNodeID
the node's ID.
oNodeType
the node's type.
o GetNodeUID
public virtual GetNodeUID( const iNodeID,
oNodeUID)
Retrieves the node's UID.
Parameters:
iNodeID
the node's ID.
oNodeUID
the node's UID.
o GetPlaneData
public virtual GetPlaneData( const iNodeID,
oBasePoint,
oNormalVector)
Retrieves the plane's parameters.
Parameters:
iNodeID
the node's ID.
oBasePoint
a point on the plane.
oNormalVector
an unit vector perpendicular to the plane.
o GetPointData
public virtual GetPointData( const iNodeID,
oPoints,
oNbPoints)
Retrieves the point's parameters.
Parameters:
iNodeID
the node's ID.
oPoints
the points coordinates array. Array of points coordinates: XYZXYZXYZ... Its size is equal to three times the number of points. ***sizeOf GetPointData oPoints : 3*oNbPoints
oNbPoints
Retrieves the number of points.
o GetPolyLineData
public virtual GetPolyLineData( const iNodeID,
oPoints,
oNbPoints,
oLineType)
Retrieves the polyline's parameters.
Parameters:
iNodeID
the node's ID.
oPoints
the points coordinates array. Array of points coordinates: XYZXYZXYZ... Its size is equal to three times the number of points. ***sizeOf GetPolyLineData oPoints : 3*oNbPoints
oNbPoints
Retrieves the number of points.
oLineType
Retrieves the line type.
Legal values:
LINES
The number of points must be even. A line will be drawn between points 1 and 2, an other line will be drawn between points 3 and 4, ...
LINE_STRIP
The number of points can be either even or odd. A line will be drawn between points 1 and 2, then, an other line will be drawn between points 2 and 3, ...
LINE_LOOP
Same as LINE_LOOP, excepted that one more line will be drawn between the last and the first points.
o GetRootNode
public virtual GetRootNode( const iRootIndex,
oRootNodeID)
Retrieves the root node's ID from its index.
Parameters:
iRootIndex
the node's index from 0 to root nodes number - 1.
oRootNodeID
the root node's ID.
o GetRootNodesCount
public virtual GetRootNodesCount( oNodeCount)
Retrieves the root nodes' number.
Parameters:
oNodeCount
the number of root nodes.
o GetSAG
public virtual GetSAG( const iNodeID,
oSAGValue,
oAngleValue,
oStepValue)
Retrieves the tessellation options.
Parameters:
iNodeID
the node's ID.
oSAGValue
the used SAG (geometric precision) for the tessellation.
oAngleValue
the max angle between consecutive normals for the tessellation.
oStepValue
the max size of edges for the tessellation.
o GetSphereData
public virtual GetSphereData( const iNodeID,
oCenterPoint,
oRadius)
Retrieves the sphere's parameters.
Parameters:
iNodeID
the node's ID.
oCenterPoint
the center of the sphere.
oRadius
the radius of the sphere.

This object is included in the file: CATIExchangeTessellatedRepresentation.h
If needed, your Imakefile.mk should include the module: DataExchangeBaseRepsItf

Copyright © 1999-2014, Dassault Systèmes. All rights reserved.