|  | 
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 DescriptionThis 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()andGetSegmentM()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 AIMeshPatchDirectionvalue. (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 AIMeshPatchDirectionvalue. (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 AIMeshPatchDirectionvalue. (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: 
 
 |