The methods in this class are grouped below.
(Links go to the
Mesh Class Reference page.)
- group 1
- Mesh::Mesh()
Mesh::Mesh(const Mesh& fromMesh)
Mesh::~Mesh()
Mesh::Init()
Mesh::DeleteThis()
- Vertex Methods
- Mesh::setNumVerts(int
ct, BOOL keep=FALSE, BOOL synchSel=TRUE)
Mesh::getNumVerts()
const;
Mesh::setVert(int i,
const Point3 &xyz)
Mesh::setVert(int i,
float x, float y, float z)
Mesh::getVert(int i)
Mesh::getVertPtr(int
i)
- Color Per Vertex Methods
- Mesh::setNumVertCol(int
ct, BOOL keep=FALSE)
Mesh::getNumVertCol()
const
Mesh::setNumVCFaces(int
ct, BOOL keep=FALSE, int oldCt=0)
Mesh::setVCDisplayData(int mapChan = 0, VertColor
*VCArray=NULL, TVFace
*VCf=NULL)
Mesh::setSmoothFlags(int f)
Mesh::getSmoothFlags()
- Face Methods
- Mesh::setNumFaces(int
ct, BOOL keep=FALSE, BOOL synchSel=TRUE)
Mesh::getNumFaces()
const
- Texture Vertex-Texture Face Methods
- Mesh::setNumTVerts(int
ct, BOOL keep=FALSE)
Mesh::getNumTVerts()
const;
Mesh::setNumTVFaces(int ct, BOOL
keep=FALSE, int oldCt=0)
Mesh::setTVert(int
i, const UVVert &xyz)
Mesh::setTVert(int
i, float x, float y, float z)
Mesh::getTVert(int
i)
Mesh::getTVertPtr(int
i)
- Multiple Map Support
- Mesh::setNumMaps(int
ct, BOOL keep=FALSE)
Mesh::getNumMaps()
const;
Mesh::mapSupport(int mp) const;
Mesh::setMapSupport(int
mp, BOOL support=TRUE)
Mesh::setNumMapVerts(int mp, int ct, BOOL keep=FALSE)
Mesh::getNumMapVerts(int mp) const;
Mesh::setNumMapFaces(int mp, int ct, BOOL keep=FALSE, int
oldCt=0)
Mesh::mapVerts(int mp) const;
Mesh::mapFaces(int mp) const;
Mesh::setMapVert(int mp, int i, const UVVert&xyz)
Mesh::MakeMapPlanar(int
mp)
Mesh::GetIsoMapVerts(int mp)
Mesh::DeleteMapVertSet(int
mp, BitArray set,
BitArray
*fdel=NULL)
Mesh::DeleteIsoMapVerts(int mp)
Mesh::DeleteIsoMapVerts()
Mesh::freeMapVerts(int mp)
Mesh::freeMapFaces(int mp)
- Vertex Data Methods
- Mesh::setNumVData(int
ct, BOOL keep=FALSE)
Mesh::getNumVData() const;
Mesh::vDataSupport(int vd) const;
Mesh::setVDataSupport(int vd, BOOL support=TRUE)
Mesh::vertexData(int vd) const;
Mesh::vertexFloat(int vd) const;
Mesh::freeVData(int
vd)
Mesh::freeAllVData()
Mesh::getVertexWeights()
Mesh::SupportVertexWeights()
Mesh::ClearVertexWeights()
Mesh::freeVertexWeights()
Mesh::getVSelectionWeights()
Mesh::SupportVSelectionWeights()
Mesh::ClearVSelectionWeights()
Mesh::freeVSelectionWeights()
- Normals Methods
-
Mesh::setNormal(int i, const Point3 &xyz)
Mesh::getNormal(int
i) const;
Mesh::setFaceNormal(int i, const
Point3 &xyz)
Mesh::getFaceNormal(int
i)
Mesh::buildNormals()
Mesh::buildRenderNormals()
Mesh::checkNormals(BOOL illum)
Mesh::getRVert(int
i)
Mesh::getRVertPtr(int
i)
- Material Methods
- Mesh::getFaceMtlIndex(int
i)
Mesh::setFaceMtlIndex(int
i, MtlID id)
Mesh::setMtlIndex(MtlID
i)
Mesh::getMtlIndex()
- Render / Hit Test / Snap Methods
-
Mesh::render(GraphicsWindow *gw, Material *ma, RECT *rp, int
compFlags, int numMat=1, InterfaceServer *pi = NULL)
Mesh::select(GraphicsWindow *gw, Material *ma, HitRegion
*hr, int abortOnHit = FALSE, int numMat=1)
Mesh::snap(GraphicsWindow *gw, SnapInfo *snap, IPoint2 *p, Matrix3
&tm)
Mesh::SubObjectHitTest(GraphicsWindow *gw, Material *ma, HitRegion
*hr, DWORD flags,
Mesh::displayNormals(int b, float sc)
- Bounding Box Methods
- Mesh::buildBoundingBox()
Mesh::getBoundingBox(Matrix3 *tm=NULL)
- Edge Methods
- Mesh::displayAllEdges(int
b)
Mesh::EnableEdgeList(int
e)
Mesh::BuildVisEdgeList()
Mesh::DivideEdge(DWORD
edge, float prop, bool visDiag1=TRUE, bool fixNeighbors=TRUE, bool
visDiag2=TRUE)
Mesh::DivideFace(DWORD face, DWORD e1, DWORD e2, float
prop1=.5f, float prop2=.5f, bool fixNeighbors=TRUE, bool
split=FALSE)
Mesh::TurnEdge(DWORD edge, DWORD
*otherEdge)
Mesh::DrawVisEdgeList(GraphicsWindow
*gw, DWORD flags)
Mesh::HitTestVisEdgeList(GraphicsWindow *gw, int
useFloats, int abortOnHit )
Mesh::InvalidateEdgeList()
Mesh::InvalidateGeomCache()
Mesh::InvalidateTopologyCache()
Mesh::FreeAll()
- Strip Methods
- Mesh::BuildStrips()
Mesh::BuildStripsAndEdges()
Mesh::InvalidateStrips()
Mesh::Stripify(Strip
*s, StripData *sd, int vtx)
Mesh::getStripVertColor(GraphicsWindow
*gw, int cv, int flipped, MtlID mID, DWORD smGroup, Point3
&rgb)
Mesh::getStripNormal(int
cv, MtlID mID, DWORD smGroup, Point3 &nor)
Mesh::Draw3DStrips(GraphicsWindow
*gw, Material *ma, int numMat)
Mesh::getStripTVert(GraphicsWindow *gw, int cv,
Point3 &uvw, int
texNum=0)
Mesh::DrawStrips(GraphicsWindow
*gw, Material *ma, int numMat)
- Data Flow Evaluation Methods
-
Mesh::ShallowCopy(Mesh *amesh, ChannelMask channels)
Mesh::DeepCopy(Mesh *amesh, ChannelMask channels)
Mesh::NewAndCopyChannels(ChannelMask channels)
Mesh::FreeChannels(ChannelMask
channels, int zeroOthers=1)
- Mesh / Display Flags
- Mesh::SetDispFlag(DWORD
f)
Mesh::GetDispFlag(DWORD
f)
Mesh::ClearDispFlag(DWORD
f)
Mesh::SetFlag(DWORD
f)
Mesh::GetFlag(DWORD
f)
Mesh::ClearFlag(DWORD
f)
- Selection Access
- Mesh::VertSel()
Mesh::FaceSel()
Mesh::VertexTempSel()
- Intersect Ray / Weld / Optimize / Apply Mapping
-
Mesh::IntersectRay(Ray& ray, float& at, Point3&
norm)
Mesh::IntersectRay(Ray& ray, float& at, Point3& norm,
DWORD &fi, Point3 &bary)
Mesh::WeldCollinear(BitArray
&set)
Mesh::Optimize(float normThresh, float edgeThresh, float bias,
float maxEdge, DWORD flags, MeshOpProgress
*prog=NULL)
Mesh::ApplyUVWMap(int type,float utile, float vtile, float
wtile,int uflip, int vflip, int wflip,
Mesh::Map(int
mp)
- Normals / Smoothing / Edges / Face check Functions
-
Mesh::FlipNormal(int i)
Mesh::UnifyNormals(BOOL
selOnly)
Mesh::AutoSmooth(float angle,BOOL useSel,BOOL
preventIndirectSmoothing=FALSE)
Mesh::MakeEdgeList(int
*edgeCount, int flagdbls=0)
Mesh::DeleteFlaggedFaces()
Mesh::DeleteSelected()
Mesh::DeleteVertSet(BitArray
set)
Mesh::DeleteFaceSet(BitArray set, BitArray *isoVert=NULL)
Mesh::DoesFaceExist(DWORD v0, DWORD v1, DWORD v2)
Mesh::RemoveDegenerateFaces()
Mesh::RemoveIllegalFaces()
Mesh::FaceNormal(DWORD
fi, BOOL nrmlize=FALSE)
Mesh::FaceCenter(DWORD
fi)
Mesh::AngleBetweenFaces(DWORD
f0, DWORD f1)
Mesh::BaryCoords(DWORD face, Point3 p)
Mesh::FaceCenterTessellate(BOOL ignoreSel=FALSE)
Mesh::EdgeTessellate(float
tens,BOOL ignoreSel=FALSE)
Mesh::IndentSelFaces(float amount)
Mesh::ExtrudeFaces(BOOL
doFace=TRUE)
Mesh::BreakVerts(BitArray set)
Mesh::GetIsoVerts()
Mesh::DeleteIsoVerts()
Mesh::CloneFaces(BitArray fset)
Mesh::PolyFromFace(DWORD
f, BitArray &set,
float thresh, BOOL ignoreVisEdges, AdjFaceList *af=NULL)
Mesh::ElementFromFace(DWORD f, BitArray &set, AdjFaceList *af=NULL)
Mesh::FindVertsUsedOnlyByFaces(BitArray & fset, BitArray &
vset)
Mesh::FindOpenEdges(BitArray & edges)
Mesh::FindVertexAngles(float *vang, BitArray *set=NULL)
Mesh::SetRenderData(MeshRenderData
*p)
Mesh::GetRenderData()
- Operators:
- Mesh::operator=(const Mesh&
fromMesh)
Mesh::operator+(Mesh
&mesh)
Mesh::operator-(Mesh
&mesh)
Mesh::operator*(Mesh
&mesh)
- The following global functions are not part of the Mesh
class:
void setUseVisEdge(int b)
int getUseVisEdge()
- Boolean Operations / CombineMeshes:
- The following functions are not part of class
Mesh but are available for use:
int CalcBoolOp(Mesh
&mesh,
Mesh &mesh1,
Mesh &mesh2, int op, MeshOpProgress
*prog = NULL, Matrix3
*tm1 = NULL,
void CombineMeshes(Mesh
&mesh,
Mesh &mesh1,
Mesh &mesh2, Matrix3 *tm1=NULL, Matrix3 *tm2=NULL, int
whichInv=0)
- Sub-Object Selection Color Control
- The following functions are not part of class
Mesh but are available for use:
void SetSubSelColor(Point3 *clr)
Point3
GetSubSelColor()