Iterates over subshapes in a shape. More...
Public Member Functions | |
| ShapeIterator (global::System.IntPtr cPtr, bool cMemoryOwn) | |
| System.Collections.Generic.IEnumerator< cadex.ModelData.Shape > | GetEnumerator () |
| ShapeIterator (cadex.ModelData.Body theBody) | |
| ShapeIterator (cadex.ModelData.Shape theShape) | |
| ShapeIterator (cadex.ModelData.Body theBody, cadex.ModelData.ShapeType theType) | |
| ShapeIterator (cadex.ModelData.Shape theShape, cadex.ModelData.ShapeType theType) | |
| bool | HasNext () |
| cadex.ModelData.Shape | Next () |
Public Member Functions inherited from cadex.BaseObject | |
| BaseObject (global::System.IntPtr cPtr, bool cMemoryOwn) | |
| void | Dispose () |
| bool | IsNull () |
| ulong | Id () |
| Return unique identifier of public object. | |
| bool | IsEqual (cadex.BaseObject theObj) |
| override int | GetHashCode () |
| override bool | Equals (System.Object o) |
Static Public Member Functions | |
| static cadex.ModelData.ShapeIterator | Cast (cadex.BaseObject theBase) |
Protected Member Functions | |
| override void | Dispose (bool disposing) |
Iterates over subshapes in a shape.
Iterator supports two usage scenario:
To retrive direct children of a shape, ModelData.ShapeIterator should be used as follows:
To retrive children of a particular type, ModelData.ShapeIterator should be used by specifying a type of interest as follows:
When using the latter approach exploration is done traversing the graph of subshapes in a depth-first manner. Each subshape will be found as many times as it is registered in the parent subshape. For instance, a seam-edge will be encountered twice, with forward and reversed orientations.
The order of returned subshapes is deterministic and corresponds to the order in which the subshapes were added during construction.
|
inlineprotectedvirtual |
Reimplemented from cadex.BaseObject.