All Frameworks  Class Hierarchy  This Framework  Previous  Next  Indexes

GeometricObjects Class CATEdgeCurveIterator

Mathematics.CATCGMVirtual
  |
  +---CATEdgeCurveIterator
 

Usage: you must use this class as is. You should never derive it.


public class CATEdgeCurveIterator

Class defining the iterator to scan the curves of a CATEdgeCurve.

By default, a given curve is retrieved as many times as it appears in the tree structure below the root CATEdgeCurve. Stuttering shared curves can be turned off upon request by the CATEdgeCurveIterator.SetRepetitions method.


Constructor and Destructor Index


o CATEdgeCurveIterator(CATEdgeCurve*)
Constructs a CATEdgeCurveIterator.
o CATEdgeCurveIterator(CATEdgeCurveIterator&)
Copy constructor.
o ~CATEdgeCurveIterator()

Method Index


o GetElement()
Returns the CATEdgeCurve that is scanned.
o Next(short*,CATLONG32*,CATLONG32*)
Skips to the next curve of the CATEdgeCurve.
o Reset()
Initializes the iterator to the beginning curve.
o Set(CATEdgeCurve*)
Defines a new CATEdgeCurve to scan.
o SetLeafScan(short)
Only scans the leaf curves.
o SetRepetitions(short)
Defines whether a curve that appears several times in the root must be output only one time.
o SetTargetType(CATGeometricType)
Only scans a defined type of curves.
o operator=(CATEdgeCurveIterator&)
Assignment operator.

Constructor and Destructor


o CATEdgeCurveIterator
public CATEdgeCurveIterator( const CATEdgeCurve* iEdgeCurve)
Constructs a CATEdgeCurveIterator.
Parameters:
iEdgeCurve
The pointer to the CATEdgeCurve to be scanned.
o CATEdgeCurveIterator
public CATEdgeCurveIterator( const CATEdgeCurveIterator& )
Copy constructor. An unfinished scan will not be memorized in the new iterator.
o ~CATEdgeCurveIterator
public ~CATEdgeCurveIterator()

Methods


o GetElement
public const CATEdgeCurve* GetElement()const
Returns the CATEdgeCurve that is scanned.
Returns:
The pointer to the curve to scan.
o Next
public CATCurve * Next(short* oOrientation=0,
CATLONG32* oNbPCurves=0,
CATLONG32* oNbSurfaces=0)
Skips to the next curve of the CATEdgeCurve.
If this mehod is called without arguments the first time, it is forbidden to swap to the signature with arguments within the same scanning sequence.
Parameters:
oOrientation
The orientation with respect to the root curve (curve that has been provided to the constructor, or to the Set method). If NULL, this information is not retrieved.
oNbPCurves
The actual number of imbedded pcurves: 1 if the current curve is a pcurve itself, and one for each of the imbedded pcurves, whatever their number of occurences. If NULL, this information is not retrieved.
oNbSurfaces
The number of underlying surfaces of the imbedded pcurves. For example, the edge curve reprensenting the edge of the closure of a cylinder yields to two pcurves and one surface. A 3d curve yields zero pcurve and zero surface. If NULL, this information is not retrieved.
Returns:
The pointer to the next curve, NULL when the scan is over.
o Reset
public void Reset()
Initializes the iterator to the beginning curve.
This allows you to change the target type or any of the scanning specifications.
o Set
public void Set( const CATEdgeCurve* iNewCurve)
Defines a new CATEdgeCurve to scan.
Resets the iterator at the beginning.
Parameters:
iNewCurve
The pointer to the new curve to scan.
o SetLeafScan
public void SetLeafScan(short iOnlyLeaves= 1)
Only scans the leaf curves.
Parameters:
iOnlyLeaves
1 to only scan the leaf curves, 0 otherwise. Note that the 1 value in this option is incompatible with the CATEdgeCurveType value in the
CATEdgeCurveIterator.SetTargetType method.
o SetRepetitions
public void SetRepetitions(short iStutter= 1)
Defines whether a curve that appears several times in the root must be output only one time.
Parameters:
iStutter
1 if it is output as many times as it appears (default value), 0 otherwise.
o SetTargetType
public void SetTargetType(CATGeometricType iTarget=0)
Only scans a defined type of curves.
Parameters:
iTarget
The geometry type that is scanned, like CATPCurveType, or CATIntCurveType. For instance, use CATEdgeCurveType to skip the leaves in the tree. Type 0 means no type filter at all.
o operator=
public CATEdgeCurveIterator& operator=( const CATEdgeCurveIterator& )
Assignment operator. An unfinished scan will not be memorized in the new iterator.

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

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