|
AIMeshSegmentIteratorSuite Struct Reference
[API Suite List]
This suite provides functions that allow you to traverse and manipulate the segments in a mesh through a reference-counted iterator object.
More...
#include <AIMesh.h>
List of all members.
Public Attributes |
AIAPI ai::int32(* | AddRef )(AIMeshSegmentIterator segment) |
| Increments the reference count of a segment iterator object.
|
AIAPI ai::int32(* | Release )(AIMeshSegmentIterator segment) |
| Decrements the reference count of a segment iterator object, and frees the associated memory when the count reaches 0.
|
AIAPI AIErr(* | Copy )(AIMeshSegmentIterator segment, AIMeshSegmentIterator from) |
| Copies the contents of a segment iterator into another, existing iterator object.
|
AIAPI AIErr(* | Clone )(AIMeshSegmentIterator segment, AIMeshSegmentIterator *clone) |
| Duplicates a segment iterator, creating a new iterator object.
|
AIAPI AIBoolean(* | IsEqual )(AIMeshSegmentIterator segment1, AIMeshSegmentIterator segment2) |
| Reports whether two segment iterator objects reference the same segment and have the same direction.
|
AIAPI AIBoolean(* | AtEnd )(AIMeshSegmentIterator segment) |
| Reports whether a segment iterator has reached the last segment.
|
AIAPI void(* | Next )(AIMeshSegmentIterator segment) |
| Advances a segment iterator, so that it contains the next segment in the mesh.
|
AIAPI void(* | Prev )(AIMeshSegmentIterator segment) |
| Backs up a segment iterator, so that it contains the previous segment in the mesh.
|
AIAPI void(* | NextOnAxis )(AIMeshSegmentIterator segment) |
| Advances a segment iterator, so that it contains the next segment in the mesh, increasing along the current axis in the direction of this iterator.
|
AIAPI void(* | PrevOnAxis )(AIMeshSegmentIterator segment) |
| Backs up a segment iterator, so that it contains the previous segment in the mesh, decreasing along the current axis in the direction of this iterator.
|
AIAPI void(* | NextOnPatch )(AIMeshSegmentIterator segment, ai::int32 direction) |
| Advances a segment iterator, so that it contains the next segment around the current patch.
|
AIAPI void(* | PrevOnPatch )(AIMeshSegmentIterator segment, ai::int32 direction) |
| Backs up a segment iterator, so that it contains the previous segment around the current patch.
|
AIAPI void(* | Reverse )(AIMeshSegmentIterator segment) |
| Switches the start and end vertices of a segment.
|
AIAPI ai::int32(* | CountKnots )(AIMeshSegmentIterator segment) |
| Reports the number of knots forming a segment, excluding the start and end knots.
|
AIAPI void(* | GetKnotUV )(AIMeshSegmentIterator segment, ai::int32 n, AIReal *u, AIReal *v) |
| Retrieves the (U,V) coordinates of a knot identified by position index in a segment.
|
AIAPI AIErr(* | InsertKnots )(AIMeshSegmentIterator segment, ai::int32 m, ai::int32 n) |
| Adds one or more knots to a segment.
|
AIAPI AIErr(* | DeleteKnots )(AIMeshSegmentIterator segment, ai::int32 m, ai::int32 n) |
| Removes one or more knots from a segment.
|
AIAPI ai::int32(* | CountPoints )(AIMeshSegmentIterator segment) |
| Reports the number of points in the control polygon of the beziers describing a segment.
|
AIAPI AIErr(* | SetPoint )(AIMeshSegmentIterator segment, ai::int32 i, AIRealPoint *point) |
| Sets the position of the point of a bezier control polygon that describes a segment.
|
AIAPI void(* | GetPoint )(AIMeshSegmentIterator segment, ai::int32 i, AIRealPoint *point) |
| Retrieves the point of a bezier control polygon that describes a segment.
|
AIAPI AIErr(* | GetStart )(AIMeshSegmentIterator segment, AIMeshVertexIterator *vertex) |
| Creates a vertex iterator for the starting vertex of a segment.
|
AIAPI AIErr(* | GetEnd )(AIMeshSegmentIterator segment, AIMeshVertexIterator *vertex) |
| Creates a vertex iterator for the ending vertex of a segment.
|
AIAPI AIErr(* | Split )(AIMeshSegmentIterator segment, ai::int32 n) |
| Breaks a segment into two segments at a given knot, so that the knot becomes a vertex.
|
AIAPI AIErr(* | Join )(AIMeshSegmentIterator segment, ai::int32 *n) |
| Joins a segment with the next segment.
|
AIAPI void(* | GetControl )(AIMeshSegmentIterator segment, AIRealPoint *control) |
| Reports the location of the control handle at the segment start.
|
AIAPI AIErr(* | Reshape )(AIMeshSegmentIterator segment, AIRealPoint *point, AIRealPoint *control) |
| Modifies the control polygon to reshape a segment.
|
AIAPI AIBoolean(* | IsOnBoundary )(AIMeshSegmentIterator segment) |
| Reports whether a segment is on the edge of the mesh.
|
Detailed Description
This suite provides functions that allow you to traverse and manipulate the segments in a mesh through a reference-counted iterator object.
See Mesh Iterators.
Member Data Documentation
Increments the reference count of a segment iterator object.
The initial reference count is 1, so you do not typically need to call this function. (Note that this function returns a numeric value, not an error code.)
- Parameters:
-
| segment | The iterator object. |
- Returns:
- The current reference count.
Reports whether a segment iterator has reached the last segment.
When this function returns true, the iterator no longer contains a valid segment, and can no longer be used with the iteration functions. Check this before calling Next() , Prev() , or related functions if there is a chance of walking off the end of the mesh. (Note that this function returns a boolean value, not an error code.)
- Parameters:
-
| segment | The segment iterator object. |
- Returns:
- True when the iterator is past the last segment.
Duplicates a segment iterator, creating a new iterator object.
- Parameters:
-
| segment | The source iterator object. |
| clone | [out] A buffer in which to return the new iterator object. |
Copies the contents of a segment iterator into another, existing iterator object.
- Parameters:
-
| segment | The destination iterator object. |
| from | The source iterator object. |
Reports the number of knots forming a segment, excluding the start and end knots.
(Note that this function returns a numeric value, not an error code.)
- Parameters:
-
| segment | The segment iterator object. |
- Returns:
- The number of knots.
Reports the number of points in the control polygon of the beziers describing a segment.
(Note that this function returns a numeric value, not an error code.)
- Parameters:
-
| segment | The segment iterator object. |
- Returns:
- The number of points.
Removes one or more knots from a segment.
- Parameters:
-
| segment | The segment iterator object. |
| m | The 0-based index at which to remove the knot or knots. Index positions exclude the start and end knots. |
| n | The number of knots to remove. |
Reports the location of the control handle at the segment start.
which is used to manipulate its overall shape. (Note that this function does not return an error code.)
- Parameters:
-
| segment | The segment iterator object. |
| control | [out] A buffer in which to return the control-handle point. |
Creates a vertex iterator for the ending vertex of a segment.
- Parameters:
-
| segment | The segment iterator object. |
| vertex | [out] A buffer in which to return the vertex iterator. |
Retrieves the (U,V) coordinates of a knot identified by position index in a segment.
(Note that this function does not return an error code.)
- Parameters:
-
| segment | The segment iterator object. |
| n | The 0-based index of the knot. Index positions exclude the start and end knots. |
| u | [out] A buffer in which to return the U coordinate. |
| v | [out] A buffer in which to return the V coordinate. |
Retrieves the point of a bezier control polygon that describes a segment.
(Note that this function does not return an error code.)
- Parameters:
-
| segment | The segment iterator object. |
| i | The 0-based index of the point. See CountPoints() . |
| point | [out] A buffer in which to return the point. |
Creates a vertex iterator for the starting vertex of a segment.
- Parameters:
-
| segment | The segment iterator object. |
| vertex | [out] A buffer in which to return the vertex iterator. |
Adds one or more knots to a segment.
- Parameters:
-
| segment | The segment iterator object. |
| m | The 0-based index at which to add the knot or knots. Index positions exclude the start and end knots. |
| n | The number of knots to add. |
Reports whether two segment iterator objects reference the same segment and have the same direction.
(Note that this function returns a boolean value, not an error code.)
- Parameters:
-
| segment1 | The first iterator object. |
| segment2 | The second iterator object. |
- Returns:
- True if the iterators are equal.
Reports whether a segment is on the edge of the mesh.
(Note that this function returns a boolean value, not an error code.)
- Parameters:
-
| segment | The segment iterator object. |
- Returns:
- True when the segment is on the edge.
Joins a segment with the next segment.
- Parameters:
-
| segment | The segment iterator object. Upon return, this contains the joined segment. |
| n | [out] A buffer in which to return the 0-based index of the knot at the join. |
Advances a segment iterator, so that it contains the next segment in the mesh.
Use with an iterator obtained from AIMeshSuite::GetStartSegment() . Repeated calls guarantee that every element is visited once and only once. The order of traversal is undefined. (Note that this function does not return an error code.)
- Parameters:
-
| segment | The segment iterator object. |
- See also:
Prev() , AtEnd()
Advances a segment iterator, so that it contains the next segment in the mesh, increasing along the current axis in the direction of this iterator.
(Note that this function does not return an error code.)
- Parameters:
-
| segment | The segment iterator object. |
- See also:
PrevOnAxis() , AtEnd()
Advances a segment iterator, so that it contains the next segment around the current patch.
- Parameters:
-
| segment | The segment iterator object. |
| direction | Whether to make a clockwise or counter-clockwise turn at patch corners, an AIMeshPatchDirection value. (This indicates which patch to follow.) |
- See also:
PrevOnPatch() , AtEnd()
Backs up a segment iterator, so that it contains the previous segment in the mesh.
(Note that this function does not return an error code.)
- Parameters:
-
| segment | The segment iterator object. |
- See also:
Next() , AtEnd()
Backs up a segment iterator, so that it contains the previous segment in the mesh, decreasing along the current axis in the direction of this iterator.
(Note that this function does not return an error code.)
- Parameters:
-
| segment | The segment iterator object. |
- See also:
NextOnAxis() , AtEnd()
Backs up a segment iterator, so that it contains the previous segment around the current patch.
- Parameters:
-
| segment | The segment iterator object. |
| direction | Whether to make a clockwise or counter-clockwise turn at patch corners, an AIMeshPatchDirection value. (This indicates which patch to follow.) |
- See also:
PrevOnPatch() , AtEnd()
Decrements the reference count of a segment iterator object, and frees the associated memory when the count reaches 0.
(Note that this function returns an numeric value, not an error code.)
- Parameters:
-
| segment | The iterator object. |
- Returns:
- The current reference count.
Modifies the control polygon to reshape a segment.
- Parameters:
-
| segment | The segment iterator object. |
| point | The new position for the start of the segment. |
| control | The control handle of the segment. See GetControl() . |
Switches the start and end vertices of a segment.
(Note that this function does not return an error code.)
- Parameters:
-
| segment | The segment iterator object. |
Sets the position of the point of a bezier control polygon that describes a segment.
- Parameters:
-
| segment | The segment iterator object. |
| i | The 0-based index of the point. See CountPoints() . |
| point | A pointer to the new point value. |
Breaks a segment into two segments at a given knot, so that the knot becomes a vertex.
- Parameters:
-
| segment | The segment iterator object. Upon return, this contains the initial segment of the two new segments. |
| n | The 0-based index of the knot. |
The documentation for this struct was generated from the following file:
|