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.


Method Index


o Accept(CATIPolyCurve&,CATPolyCurveVisitor&)
Access the concrete curve type through a visitor.
o Accept(CATIPolyCurve&,CATPolyCurveConstVisitor&)
Access the concrete curve type through a const visitor.
o AppendVertex(CATMathPoint&,int&)
Append a vertex to the end of the curve.
o CastToSurfaceVertexLine()
Cast a const CATIPolyCurve to a const CATIPolySurfaceVertexLine.
o CastToSurfaceVertexLine()
Cast a CATIPolyCurve to a CATIPolySurfaceVertexLine.
o Close()
Define the curve as being closed.
o GetEndVertex()
Return the end vertex of the curve.
o GetNbVertices()
Return the number of vertices of the polyhedral curve.
o GetNextVertex(int)
Given a vertex of the curve, return the next vertex along the curve.
o GetPrevVertex(int)
Given a vertex of the curve, return the previous vertex along the curve.
o GetStartVertex()
Return the start vertex of the curve.
o GetSupport(CATIPolySupport*&)
Return the underlying curve support, if any.
o GetVertexIterator(CATIPolyCurveVertexIterator*&)
Return a vertex iterator (explicit).
o GetVertexPositionLayer(CATIPolyCurveVertexPositionLayer*&)
Return the vertex position layer if any.
o GetVertexPositionLayer(CATIPolyCurveVertexPositionConstLayer*&)
Return the vertex position layer if any.
o GetVertexTangentLayer(CATIPolyCurveVertexTangentLayer*&)
Return the vertex tangent layer if any.
o GetVertexTangentLayer(CATIPolyCurveVertexTangentConstLayer*&)
Return the vertex tangent layer if any.
o GetVertexWLayer(CATIPolyCurveVertexWConstLayer*&)
Return the vertex W layer if any.
o GetVertexWLayer(CATIPolyCurveVertexWLayer*&)
Return the vertex W layer if any.
o IsClosed()
Check whether a curve is closed or not.
o IsLyingOn(CATIPolySurface&)
Check 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 RegisterObserver(CATIPolyCurveObserver&)
Register an observer (event listener) with the instance.
o SetSupport(CATIPolySupport*)
Set the underlying curve support.
o SplitBar(int,int,int&)
Split the bar (v0, v1) with creation of a new vertex n.
o UnregisterObserver(CATIPolyCurveObserver&)
Unregister an observer (event listener) with the instance.

Methods


o Accept
public virtual Accept( iCurve,
iV)
Access the concrete curve type through a visitor.
Returns:
The status of the application of the visitor.
o Accept
public virtual Accept( const iCurve,
iV)
Access the concrete curve type through a const visitor.
Returns:
The status of the application of the visitor.
o AppendVertex
public virtual AppendVertex( const P,
v)
Append 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()
Cast a const CATIPolyCurve to a const CATIPolySurfaceVertexLine.
Returns:
The cast as a const CATIPolyMesh.
o CastToSurfaceVertexLine
public virtual CastToSurfaceVertexLine()
Cast a CATIPolyCurve to a CATIPolySurfaceVertexLine.
Returns:
The cast as a const CATIPolyMesh.
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()
Return the end vertex of the curve.
Returns:
The end vertex if any or 0 otherwise.
o GetNbVertices
public virtual GetNbVertices()
Return 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, return 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, return the previous vertex along the curve.
Returns:
The vertex if any or 0 otherwise.
o GetStartVertex
public virtual GetStartVertex()
Return the start vertex of the curve.
Returns:
The start vertex if any or 0 otherwise.
o GetSupport
public virtual GetSupport( oSupport)
Return the underlying curve support, if any.
Parameters:
oSupport
The curve support. The returned support must be released (ref-counted.)
Returns:
S_OK if a support is successfully returned. S_FALSE if a support is not available. E_FAIL if an error occurs.
o GetVertexIterator
public virtual GetVertexIterator( oIterator)
Return 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)
Return 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 GetVertexPositionLayer
public virtual GetVertexPositionLayer( oLayer)
Return 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 GetVertexTangentLayer
public virtual GetVertexTangentLayer( oLayer)
Return the vertex tangent 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 GetVertexTangentLayer
public virtual GetVertexTangentLayer( oLayer)
Return the vertex tangent 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 GetVertexWLayer
public virtual GetVertexWLayer( oLayer)
Return the vertex W 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 GetVertexWLayer
public virtual GetVertexWLayer( oLayer)
Return the vertex W 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)
Check 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 RegisterObserver
public virtual RegisterObserver( iObserver)
Register an observer (event listener) with the instance.
Parameters:
iObserver
The observer that is registered with the instance.
Returns:
S_OK if the observer is successfully registered with the curve. E_FAIL otherwise.
o SetSupport
public virtual SetSupport( iSupport)
Set the underlying curve support. The curve support may be a surface or a curve.
Parameters:
iSupport
A pointer to the curve support. The method does and AddRef () on the support. Any previous support owned by the object will be released.
Returns:
S_OK if a support is successfully set. 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.
o UnregisterObserver
public virtual UnregisterObserver( iObserver)
Unregister an observer (event listener) with the instance.
Parameters:
iObserver
The observer that is unregistered with the instance.
Returns:
S_OK if the observer is successfully unregistered with the curve. 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.