All Frameworks Class Hierarchy This Framework Indexes
PolyhedralInterfaces Interface CATIPolyCurve
Usage: an implementation of this interface is supplied and you must use it as is. You should not reimplement it.
interface CATIPolyCurve
Interface to a polyhedral curve.
A polyhedral curve is a curve represented by vertices, layers and support.
It consists of:
o Iterators to cycle through the vertices.
o Layers that store some properties about the vertices of the curve.
o A support that provide additional information about the geometry of the curve.
The vertices are referenced by integer indices.
Implementations of this interface should be thread-safe for use with the polyhedral operators.
Method Index
- o
AppendVertex(CATMathPoint&,int&)
- Appends a vertex to the end of the curve.
- o
CastToSurfaceVertexLine()
- Casts a const CATIPolyCurve to a const CATIPolySurfaceVertexLine.
- o
CastToSurfaceVertexLine()
- Casts a CATIPolyCurve to a CATIPolySurfaceVertexLine.
- o
Close()
- Define the curve as being closed.
- o
GetEndVertex()
- Returns the end vertex of the curve.
- o
GetNbVertices()
- Returns the number of vertices of the polyhedral curve.
- o
GetNextVertex(int)
- Given a vertex of the curve, returns the next vertex along the curve.
- o
GetPrevVertex(int)
- Given a vertex of the curve, returns the previous vertex along the curve.
- o
GetStartVertex()
- Returns the start vertex of the curve.
- o
GetVertexIterator(CATIPolyCurveVertexIterator*&)
- Returns a vertex iterator (explicit).
- o
GetVertexPositionLayer(CATIPolyCurveVertexPositionConstLayer*&)
- Returns the vertex position layer if any.
- o
IsClosed()
- Check whether a curve is closed or not.
- o
IsLyingOn(CATIPolySurface&)
- Checks if the curve lies on a polyhedral surface.
- o
MergeVertices(int,int)
- Merge vertices v0 and v1 by collapse of the bar (v0, v1).
- o
Open()
- Define the curve as being open.
- o
SplitBar(int,int,int&)
- Split the bar (v0, v1) with creation of a new vertex n.
Methods
o AppendVertex
| public virtual AppendVertex( | const | P, |
| | v) |
-
Appends a vertex to the end of the curve.
- Parameters:
-
- P
- The position of the vertex.
- v
- The index of the appended vertex.
- Returns:
- S_OK on success and E_FAIL or another error otherwise.
o CastToSurfaceVertexLine
| public virtual CastToSurfaceVertexLine( | ) |
-
Casts a const CATIPolyCurve to a const CATIPolySurfaceVertexLine.
- Returns:
- The cast as a const CATIPolySurfaceVertexLine.
o CastToSurfaceVertexLine
| public virtual CastToSurfaceVertexLine( | ) |
-
Casts a CATIPolyCurve to a CATIPolySurfaceVertexLine.
- Returns:
- The cast as a const CATIPolySurfaceVertexLine.
o Close
-
Define the curve as being closed.
- Returns:
- S_OK if the curve is successfully edited and E_FAIL otherwise.
o GetEndVertex
| public virtual GetEndVertex( | ) |
-
Returns the end vertex of the curve.
- Returns:
- The end vertex if any or 0 otherwise.
o GetNbVertices
| public virtual GetNbVertices( | ) |
-
Returns the number of vertices of the polyhedral curve.
- Returns:
- The number of vertices of the discrete curve.
o GetNextVertex
| public virtual GetNextVertex( | | v) |
-
Given a vertex of the curve, returns the next vertex along the curve.
- Returns:
- The vertex if any or 0 otherwise.
o GetPrevVertex
| public virtual GetPrevVertex( | | v) |
-
Given a vertex of the curve, returns the previous vertex along the curve.
- Returns:
- The vertex if any or 0 otherwise.
o GetStartVertex
| public virtual GetStartVertex( | ) |
-
Returns the start vertex of the curve.
- Returns:
- The start vertex if any or 0 otherwise.
o GetVertexIterator
| public virtual GetVertexIterator( | | oIterator) |
-
Returns a vertex iterator (explicit).
- Parameters:
-
- oIterator
- The output iterator. The returned instance must be released. (ref-counted.)
- Returns:
- S_OK on success and E_FAIL or another error otherwise.
o GetVertexPositionLayer
| public virtual GetVertexPositionLayer( | | oLayer) |
-
Returns the vertex position layer if any.
- Parameters:
-
- oLayer
- The layer that is returned. The returned layer must be released (ref-counted.)
- Returns:
- S_OK if a layer is successfully returned.
S_FALSE if a layer is not available.
E_FAIL if an error occurs.
o IsClosed
| public virtual IsClosed( | ) |
-
Check whether a curve is closed or not.
- Returns:
- TRUE if the curve is closed, i.e. last vertex is linked to first, FALSE otherwise.
o IsLyingOn
| public virtual IsLyingOn( | const | s) |
-
Checks if the curve lies on a polyhedral surface.
- Parameters:
-
- s
- The input polyhedral surface.
- Returns:
- TRUE if the curve lies on the polyhedral surface and FALSE otherwise.
o MergeVertices
| public virtual MergeVertices( | const | v0, |
| const | v1) |
-
Merge vertices v0 and v1 by collapse of the bar (v0, v1).
Topologically, Vertex v1 is replaced by Vertex v0.
The two vertices must be contiguous.
- Parameters:
-
- v0
- The first vertex of the bar.
- v1
- The second vertex of the bar.
- Returns:
- S_OK if the curve is successfully edited and E_FAIL otherwise.
o Open
-
Define the curve as being open.
- Returns:
- S_OK if the curve is successfully edited and E_FAIL otherwise.
o SplitBar
| public virtual SplitBar( | const | v0, |
| const | v1, |
| | n) |
-
Split the bar (v0, v1) with creation of a new vertex n.
The coordinates of n are undefined and must be set. (See the vertex position layer.)
- Parameters:
-
- v0
- The first vertex of the bar.
- v1
- The second vertex of the bar.
- n
- The index of the new vertex.
- Returns:
- S_OK if the curve is successfully edited and E_FAIL otherwise.
This object is included in the file: CATIPolyCurve.h
If needed, your Imakefile.mk should include the module: CATPolyhedralInterfaces