Public Member Functions | Friends

MNMeshBorder Class Reference

This reference page is linked to from the following overview topics: MNMesh Note on Debugging.


Search for all occurrences

Detailed Description

Hold boundary information for an MNMesh mesh.

The principal data contained is a table of tables of int's, which represent edge lists in the MNMesh. These edge lists form closed loops of one-sided edges: boundaries, or borders, of the mesh. These edges are stored in order such that E(loop(i)[j])->v1 is the same as E(loop(i)[j+1])->v2, E(loop(i)[j+1])->v1 == E(loop(i)[j+2])->v2, and so on. (This is the right-hand, counterclockwise order when looking down on the hole from outside the mesh.)

Most 3ds Max primitives have no borders, but the Patch Grid, when converted to a mesh, is an example of one with a single border All methods of this class are implemented by the system.

See also:
Class MNMesh, Template Class Tab, Class BitArray.

#include <mnmesh.h>

Inheritance diagram for MNMeshBorder:
Inheritance graph
[legend]

List of all members.

Public Member Functions

  ~MNMeshBorder ()
  Destructor; frees all reserved memory.
DllExport void  Clear ()
  Frees all reserved memory and reinitializes the data, producing an empty border.
int  Num ()
  Returns the number of border loops for the MNMesh analyzed.
Tab< int > *  Loop (int i)
  Returns a pointer to the i'th border loop.
bool  LoopTarg (int i)
  Indicates whether border loop i is targeted or not.
DllExport void  MNDebugPrint (MNMesh *m)
  Uses DebugPrint to print out the MNMesh borders to the Debug Results window in DevStudio.

Friends

class  MNMesh

Constructor & Destructor Documentation

~MNMeshBorder ( ) [inline]

Destructor; frees all reserved memory.

There is no Constructor for this class, since both data members have their own, adequate constructors.

{ Clear(); }

Member Function Documentation

DllExport void Clear ( )

Frees all reserved memory and reinitializes the data, producing an empty border.

int Num ( ) [inline]

Returns the number of border loops for the MNMesh analyzed.

{ return bdr.Count(); }
Tab<int>* Loop ( int  i ) [inline]

Returns a pointer to the i'th border loop.

{ return bdr[i]; }
bool LoopTarg ( int  i ) [inline]

Indicates whether border loop i is targeted or not.

{ return ((i>=0) && (i<bdr.Count()) && (btarg[i])); }
DllExport void MNDebugPrint ( MNMesh m )

Uses DebugPrint to print out the MNMesh borders to the Debug Results window in DevStudio.

This can be useful for tracking down bugs. Be careful not to leave MNDebugPrint calls in your final build; they will slow down your effect to no purpose.

Parameters:
MNMesh *m

The MNMesh to which this MNMeshBorder refers is required to give more details about the border.

Friends And Related Function Documentation

friend class MNMesh [friend]

MNMeshBorder MNMeshBorder MNMeshBorder MNMeshBorder MNMeshBorder MNMeshBorder MNMeshBorder MNMeshBorder MNMeshBorder MNMeshBorder
MNMeshBorder MNMeshBorder MNMeshBorder MNMeshBorder MNMeshBorder MNMeshBorder MNMeshBorder MNMeshBorder MNMeshBorder MNMeshBorder