Go to
the documentation of this file.
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #pragma once
00014 #include "export.h"
00015 #include "maxheap.h"
00016 #include "point3.h"
00017 #include "tab.h"
00018
00019
00020 class InterpolationData;
00021 class TriFaceData;
00022 class MapInterpolationData;
00023 class MNChamferData;
00024 class MNMesh;
00025 class Point3;
00026
00027
00029
00067 class MNChamferData10 : public MaxHeapOperators {
00068 public:
00072 DllExport MNChamferData10(MNChamferData& in_data);
00073 DllExport virtual ~MNChamferData10();
00074
00076
00077 DllExport void GetDelta (float in_amount, Tab<Point3>& out_delta);
00079 DllExport void setNumVerts (int in_nv, bool in_keep=TRUE, int in_resizer=0);
00081 DllExport void InitToMesh (const MNMesh& in_m);
00083 DllExport void ClearLimits();
00086 DllExport bool GetMapDelta (MNMesh& in_mm, int in_mapChannel, float in_amount, Tab<UVVert>& out_delta);
00088 DllExport Tab<UVVert>& MDir(int in_mapChannel);
00090 DllExport Tab<Point3>& GetVDIR();
00092 DllExport Tab<float>& GetVMAX();
00094 DllExport Tab<UVVert>*& GetMDIR();
00095
00096 private:
00098 MNChamferData10& operator=(const MNChamferData10&);
00099 friend class MNMesh;
00100
00101
00102
00103
00104 void StartEdgeInterlopation();
00105
00106
00107 void AddNextEdgeInterpolationVertex(int in_vertex);
00108
00109 void FinishEdgeInterpolation();
00110
00111
00112 void StartTriFace(int in_rootVertex, const Point3& in_position, int in_segments, bool in_smoothable);
00113
00114 void AddNextOppositeVertex(int in_triIndex, int in_vertex, const Point3& in_position);
00115
00116 void AddNextTriFaceVertex(int in_segmentIndex, int in_vertex);
00117
00118
00119
00120 void StartMapInterpolation(bool in_round);
00121
00122 void AddNextMapInterpolationVertex(int in_mapChannel, int in_vertex);
00123
00124 void FinishMapInterpolation();
00125
00126
00127 MNChamferData& m_MNChamferData;
00128
00129
00130 Tab<InterpolationData*> m_interpolationSequences;
00131
00132 Tab<TriFaceData*> m_triFaces;
00133
00134 Tab<MapInterpolationData*> m_mapInterpolationSequences;
00135 };
00136