GeometricObjects Interface CATICldPolygon

Usage: an implementation of this interface is supplied and you must use it as is. You should not reimplement it.


interface CATICldPolygon

Interface for the entity CATICldPolygon.

The CATICldPolygon corresponds to the tessellation of a cloud of points.

See also:
,


Method Index


o AddTriangle(int[3])
Adds a triangle given by the indices of its vertices.
o GetNbTriangles()
Returns the number of triangles.
o GetTriangle(int,int[3],int[3],CATBoolean&)
Returns the vertices, the neighbouring triangles and the orientation of the iNoTriangle'th triangle.
o IsClosed()
Returns the fact that the mesh could be assumed as a closed surface.
o IsManifold()
Returns the fact that the mesh could be assumed as a manifold surface, ie each edge is shared by no more than two triangles.
o IsOrientable()
Returns the fact that the mesh could be assumed as an orientable surface.
o IsTriangleValid(int)
Tests if the iNoTriangle'th triangle is valid ie is not removed or each of its vertices indices is not null.
o RemoveTriangle(int)
Removes the iNoTriangle'th triangle.
o UpdateTriangle(int,int[3])
Updates the vertices of the iNoTriangle'th triangle.

Methods


o AddTriangle
public virtual AddTriangle( const iNoVertices)
Adds a triangle given by the indices of its vertices.
Parameters:
iNoVertices
The vertices indices of the triangle to add. They should be in the range [1,GetNbPoints()]
Returns:
If positive, the index of the added triangle (the first is equal to 1). If null or negative, the triangle was not added.
o GetNbTriangles
public virtual GetNbTriangles()
Returns the number of triangles.
Returns:
The number of triangles.
o GetTriangle
public virtual GetTriangle( const iNoTriangle,
oNoVertices,
oNoConnexes,
oDirect)
Returns the vertices, the neighbouring triangles and the orientation of the iNoTriangle'th triangle.
Parameters:
iNoTriangle
The index of the triangle. It should be in the range [1,GetNbTriangles()].
oNoVertices
The indices of the vertices defining the triangle. They are in the range [1,GetNbPoints()] CAUTION: If one of oNoVertices is null means that the triangle is not valid (removed).
oNoConnexes
The indices of the connected triangles. They are in the range [1,GetNbTriangles()] The connectivity between triangles is computed by the EndOfCreation or EndOfModification methods thanks to the vertices indices. The coding is as shown hereafter: o oNoConnexes[0] gives the neighbouring triangle index along the edge (oNoVertices[0],oNoVertices[1]) o oNoConnexes[1] .................................................... (oNoVertices[1],oNoVertices[2]) o oNoConnexes[2] .................................................... (oNoVertices[2],oNoVertices[0]) o If oNoConnexes[i] equals to 0, there is no neighbouring triangle ie. it is a free edge.
oDirect
TRUE, if the triangle is oriented as the majority, FALSE, otherwise. This flag is computed by the EndOfCreation or EndOfModification methods: o The first valid triangle is considered as direct. o The valid connected triangles are oriented by propagation, in relation to the first valid triangle. o At the end, the population in the majority is considered as direct and so defines the global orientation of the whole mesh. o CAUTION: If the mesh is not orientable, this flag could be not significant.
o IsClosed
public virtual IsClosed()
Returns the fact that the mesh could be assumed as a closed surface. This fact is determined by the EndOfCreation or EndOfModification methods.
Returns:
TRUE, if the mesh is a closed surface, FALSE otherwise.
o IsManifold
public virtual IsManifold()
Returns the fact that the mesh could be assumed as a manifold surface, ie each edge is shared by no more than two triangles. This fact is determined by the EndOfCreation or EndOfModification methods.
Returns:
TRUE, if the mesh is a manifold surface, FALSE otherwise.
o IsOrientable
public virtual IsOrientable()
Returns the fact that the mesh could be assumed as an orientable surface. This fact is determined by the EndOfCreation or EndOfModification methods.
Returns:
TRUE, if the mesh is an orientable surface, FALSE otherwise.
o IsTriangleValid
public virtual IsTriangleValid( const iNoTriangle)
Tests if the iNoTriangle'th triangle is valid ie is not removed or each of its vertices indices is not null.
Parameters:
iNoTriangle
The index of the triangle to check. It should be in the range [1,GetNbTriangles()].
Returns:
TRUE if the triangle is valid, FALSE otherwise.
o RemoveTriangle
public virtual RemoveTriangle( const iNoTriangle)
Removes the iNoTriangle'th triangle. CAUTION: The subsequent calls of the method GetTriangle will return null numbers for the vertices and neighbouring triangles.
Parameters:
iNoTriangle
The index of the triangle to remove. It should be in the range [1,GetNbTriangles()]
o UpdateTriangle
public virtual UpdateTriangle( const iNoTriangle,
const iNoVertices)
Updates the vertices of the iNoTriangle'th triangle. This method consists of removing the given triangle and adds a new one in place.
Parameters:
iNoTriangle
The index of the triangle to update. It should be in the range [1,GetNbTriangles()].
iNoVertices
The new vertices indices of the triangle to update. They should be in the range [1,GetNbPoints()]

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

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