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
public virtual 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
public virtual 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

Copyright © 2003, Dassault Systèmes. All rights reserved.