blob: cba6f67fa5525ed5aa8cd0b4296ef6e354dae164 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
#ifndef shaveHairGeomIt_h
#define shaveHairGeomIt_h
// Shave and a Haircut
// (c) 2019 Epic Games
// US Patent 6720962
#include <maya/MPxGeometryIterator.h>
#if MAYA_API_VERSION < 20180000
class MObjectArray;
class MPoint;
#endif
class shaveHairShape;
class shaveHairGeomIt : public MPxGeometryIterator
{
public:
shaveHairGeomIt(void* geom, MObjectArray& components);
shaveHairGeomIt(void* geom, MObject& components);
virtual void component(MObject& comp);
virtual bool hasNormals() const { return false; }
virtual bool hasPoints() const { return true; }
virtual bool isDone() const { return mIsDone; }
virtual int index() const;
virtual int indexUnsimplified() const;
virtual int iteratorCount() const;
virtual void next();
virtual MPoint point() const;
virtual void reset();
virtual void setPoint(const MPoint& newPoint) const;
virtual int setPointGetNext(MPoint& point);
protected:
MObjectArray mComponents;
int mCurGuide;
int mCurVert;
int mElementIndex;
bool mIsDone;
shaveHairShape* mHairShape;
int mIterationIndex;
int mNumGuides;
unsigned mObjIndex;
bool mWholeGeom;
};
#endif
|