|
AIMeshPatchIteratorSuite Struct Reference
[API Suite List]
This suite provides functions that allow you to traverse and manipulate the patches in a mesh through a reference-counted iterator object.
More...
#include <AIMesh.h>
List of all members.
Public Attributes |
AIAPI ai::int32(* | AddRef )(AIMeshPatchIterator patch) |
| Increments the reference count of a patch iterator object.
|
AIAPI ai::int32(* | Release )(AIMeshPatchIterator patch) |
| Decrements the reference count of a patch iterator object, and frees the associated memory when the count reaches 0.
|
AIAPI AIErr(* | Copy )(AIMeshPatchIterator patch, AIMeshPatchIterator from) |
| Copies the contents of a patch iterator into another, existing iterator object.
|
AIAPI AIErr(* | Clone )(AIMeshPatchIterator patch, AIMeshPatchIterator *clone) |
| Duplicates a patch iterator, creating a new iterator object.
|
AIAPI AIBoolean(* | IsEqual )(AIMeshPatchIterator patch1, AIMeshPatchIterator patch2) |
| Reports whether two patch iterator objects reference the same patch.
|
AIAPI AIBoolean(* | AtEnd )(AIMeshPatchIterator patch) |
| Reports whether a patch iterator has reached the last patch.
|
AIAPI void(* | Next )(AIMeshPatchIterator patch) |
| Advances a patch iterator, so that it contains the next patch in the mesh.
|
AIAPI void(* | Prev )(AIMeshPatchIterator patch) |
| Backs up a patch iterator, so that it contains the previous patch in the mesh.
|
AIAPI void(* | NextI )(AIMeshPatchIterator patch) |
| Advances a patch iterator, so that it contains the next patch in the mesh, increasing along the I axis.
|
AIAPI void(* | PrevI )(AIMeshPatchIterator patch) |
| Backs up a patch iterator, so that it contains the previous patch in the mesh, decreasing along the I axis.
|
AIAPI void(* | NextJ )(AIMeshPatchIterator patch) |
| Advances a patch iterator, so that it contains the next patch in the mesh, increasing along the J axis.
|
AIAPI void(* | PrevJ )(AIMeshPatchIterator patch) |
| Backs up a patch iterator, so that it contains the previous patch in the mesh, decreasing along the J axis.
|
AIAPI ai::int32(* | CountNodes )(AIMeshPatchIterator patch) |
| Retrieves the number of nodes in a patch.
|
AIAPI AIErr(* | GetNodeN )(AIMeshPatchIterator patch, ai::int32 n, AIMeshVertexIterator *vertex) |
| Creates a vertex iterator for a node of a patch, identified by index position.
|
AIAPI AIErr(* | GetNodeIJ )(AIMeshPatchIterator patch, ai::int32 i, ai::int32 j, AIMeshVertexIterator *vertex) |
| Creates a vertex iterator for a node of a patch, identified by an (I,J) offset relative to the bottom left node of the patch.
|
AIAPI AIErr(* | GetSegmentN )(AIMeshPatchIterator patch, ai::int32 n, ai::int32 direction, AIMeshSegmentIterator *segment) |
| Creates a segment iterator for one of the two segments adjacent to a patch and connected to a node specified by position index.
|
AIAPI AIErr(* | GetSegmentIJ )(AIMeshPatchIterator patch, ai::int32 i, ai::int32 j, ai::int32 direction, AIMeshSegmentIterator *segment) |
| Creates a segment iterator for one of the two segments adjacent to a patch and connected to a node specified by an (I,J) offset relative to the bottom left node of the patch.
|
AIAPI ai::int32(* | CountVerticies )(AIMeshPatchIterator patch) |
| Reports the number of vertices around a patch, including nodes.
|
AIAPI AIErr(* | GetVertexM )(AIMeshPatchIterator patch, ai::int32 m, AIMeshVertexIterator *vertex) |
| Creates a vertex iterator for a vertex identified by index position in a patch.
|
AIAPI AIErr(* | GetSegmentM )(AIMeshPatchIterator patch, ai::int32 m, ai::int32 direction, AIMeshSegmentIterator *segment) |
| Creates a segment iterator for one of the two segments adjacent to a patch and connected to a vertex specified by position index.
|
AIAPI AIErr(* | FindVertex )(AIMeshPatchIterator patch, AIMeshVertexIterator vertex, ai::int32 *m) |
| Reports the ordinal position of a vertex around a patch.
|
AIAPI void(* | GetIJ )(AIMeshPatchIterator patch, ai::int32 *i, ai::int32 *j) |
| Retrives the (i,j) coordinate of a patch within the mesh.
|
Detailed Description
This suite provides functions that allow you to traverse and manipulate the patches in a mesh through a reference-counted iterator object.
See Mesh Iterators.
Member Data Documentation
Increments the reference count of a patch 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:
-
| patch | The iterator object. |
- Returns:
- The current reference count.
Reports whether a patch iterator has reached the last patch.
When this function returns true, the iterator no longer contains a valid patch, 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:
-
| patch | The iterator object. |
- Returns:
- True when the iterator is past the last patch.
Duplicates a patch iterator, creating a new iterator object.
- Parameters:
-
| patch | The source iterator object. |
| clone | [out] A buffer in which to return the new iterator object. |
Copies the contents of a patch iterator into another, existing iterator object.
- Parameters:
-
| patch | The destination iterator object. |
| from | The source iterator object. |
Retrieves the number of nodes in a patch.
(Note that this function returns a numeric value, not an error code.)
- Parameters:
-
| patch | The iterator object. |
- Returns:
- The number of nodes (currently always 4).
Reports the number of vertices around a patch, including nodes.
Use with GetVertexM() and GetSegmentM() to iterate through vertices and segments. (Note that this function returns a numeric value, not an error code.)
- Parameters:
-
| patch | The patch iterator object. |
- Returns:
- The number of vertices.
Reports the ordinal position of a vertex around a patch.
- Parameters:
-
| patch | The patch iterator object. |
| vertex | The vertex iterator object. |
| m | [out] A buffer in which to return the vertex position. |
Retrives the (i,j) coordinate of a patch within the mesh.
- Parameters:
-
| patch | The patch iterator object. |
| i | [out] A buffer in which to return the I-axis coordinate. |
| j | [out] A buffer in which to return the J-axis coordinate. |
Creates a vertex iterator for a node of a patch, identified by an (I,J) offset relative to the bottom left node of the patch.
- Parameters:
-
| patch | The patch iterator object. |
| i | The I-axis offset of the node. |
| J | The J-axis offset of the node. |
| vertex | [out] A buffer in which to return the new vertex iterator. |
Creates a vertex iterator for a node of a patch, identified by index position.
Nodes are numbered from 0 to 3, counter-clockwise from the bottom left of the patch.
- Parameters:
-
| patch | The patch iterator object. |
| n | The 0-based index of the node. |
| vertex | [out] A buffer in which to return the new vertex iterator. |
Creates a segment iterator for one of the two segments adjacent to a patch and connected to a node specified by an (I,J) offset relative to the bottom left node of the patch.
- Parameters:
-
| patch | The patch iterator object. |
| i | The I-axis offset of the node. |
| J | The J-axis offset of the node. |
| direction | Whether to make a clockwise or counter-clockwise turn at patch corners, an AIMeshPatchDirection value. (This indicates which segment to get.) |
| segment | [out] A buffer in which to return the new segment iterator. |
Creates a segment iterator for one of the two segments adjacent to a patch and connected to a vertex specified by position index.
- Parameters:
-
| patch | The patch iterator object. |
| m | The 0-based index of the vertex. Use CountVerticies() to find the number of vertices in the patch. |
| direction | Whether to make a clockwise or counter-clockwise turn at patch corners, an AIMeshPatchDirection value. (This indicates which segment to get.) |
| segment | [out] A buffer in which to return the new segment iterator. |
Creates a segment iterator for one of the two segments adjacent to a patch and connected to a node specified by position index.
The nodes are numbered from 0 to 3 counter-clockwise from the bottom left of the patch.
- Parameters:
-
| patch | The patch iterator object. |
| n | The 0-based index of the node. |
| direction | Whether to make a clockwise or counter-clockwise turn at patch corners, an AIMeshPatchDirection value. (This indicates which segment to get.) |
| vertex | [out] A buffer in which to return the new segment iterator. |
Creates a vertex iterator for a vertex identified by index position in a patch.
- Parameters:
-
| patch | The patch iterator object. |
| m | The 0-based index of the vertex. Use CountVerticies() to find the number of vertices in the patch. |
| vertex | [out] A buffer in which to return the new vertex iterator. |
Reports whether two patch iterator objects reference the same patch.
(Note that this function returns a boolean value, not an error code.)
- Parameters:
-
| patch1 | The first iterator object. |
| patch2 | The second iterator object. |
- Returns:
- True if the iterators are equal.
Advances a patch iterator, so that it contains the next patch in the mesh.
Use with an iterator obtained from AIMeshSuite::GetStartPatch() . 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:
-
| patch | The iterator object. |
- See also:
Prev() , AtEnd()
Advances a patch iterator, so that it contains the next patch in the mesh, increasing along the I axis.
(Note that this function does not return an error code.)
- Parameters:
-
| patch | The iterator object. |
- See also:
PrevI() , AtEnd()
Advances a patch iterator, so that it contains the next patch in the mesh, increasing along the J axis.
(Note that this function does not return an error code.)
- Parameters:
-
| patch | The iterator object. |
- See also:
PrevJ() , AtEnd()
Backs up a patch iterator, so that it contains the previous patch in the mesh.
(Note that this function does not return an error code.)
- Parameters:
-
| patch | The iterator object. |
- See also:
Next() , AtEnd()
Backs up a patch iterator, so that it contains the previous patch in the mesh, decreasing along the I axis.
(Note that this function does not return an error code.)
- Parameters:
-
| patch | The iterator object. |
- See also:
NextI() , AtEnd()
Backs up a patch iterator, so that it contains the previous patch in the mesh, decreasing along the J axis.
(Note that this function does not return an error code.)
- Parameters:
-
| patch | The iterator object. |
- See also:
NextJ() , AtEnd()
Decrements the reference count of a patch 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:
-
| patch | The iterator object. |
- Returns:
- The current reference count.
The documentation for this struct was generated from the following file:
|