Go to the
documentation of this file.
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00013 #ifndef _FBXSDK_SCENE_GEOMETRY_PATCH_H_
00014 #define _FBXSDK_SCENE_GEOMETRY_PATCH_H_
00015
00016 #include <fbxsdk/fbxsdk_def.h>
00017
00018 #include <fbxsdk/scene/geometry/fbxgeometry.h>
00019
00020 #include <fbxsdk/fbxsdk_nsbegin.h>
00021
00022 class FbxManager;
00023
00028 class FBXSDK_DLL FbxPatch : public FbxGeometry
00029 {
00030 FBXSDK_OBJECT_DECLARE(FbxPatch,FbxGeometry);
00031
00032 public:
00034 virtual FbxNodeAttribute::EType GetAttributeType() const;
00035
00037 void Reset();
00038
00043
00047 void SetSurfaceMode(FbxGeometry::ESurfaceMode pMode);
00048
00052 inline FbxGeometry::ESurfaceMode GetSurfaceMode() const {return mSurfaceMode;}
00053
00061 enum EType
00062 {
00063 eBezier,
00064 eBezierQuadric,
00065 eCardinal,
00066 eBSpline,
00067 eLinear
00068 };
00069
00076 void InitControlPoints(int pUCount, EType pUType, int pVCount, EType pVType);
00077
00081 inline int GetUCount() const {return mUCount;}
00082
00086 inline int GetVCount() const {return mVCount;}
00087
00091 inline EType GetPatchUType() const {return mUType;}
00092
00096 inline EType GetPatchVType () const {return mVType;}
00097
00103 void SetStep(int pUStep, int pVStep);
00104
00108 inline int GetUStep() const {return mUStep;}
00109
00113 inline int GetVStep() const {return mVStep;}
00114
00119 void SetClosed(bool pU, bool pV);
00120
00124 inline bool GetUClosed() const {return mUClosed;}
00125
00129 inline bool GetVClosed() const {return mVClosed;}
00130
00137 void SetUCapped(bool pUBottom, bool pUTop);
00138
00142 inline bool GetUCappedBottom() const {return mUCappedBottom;}
00143
00147 inline bool GetUCappedTop() const {return mUCappedTop;}
00148
00155 void SetVCapped(bool pVBottom, bool pVTop);
00156
00160 inline bool GetVCappedBottom() const {return mVCappedBottom;}
00161
00165 inline bool GetVCappedTop() const {return mVCappedTop;}
00166
00168
00178 virtual bool ContentWriteTo(FbxStream& pStream) const;
00179
00185 virtual bool ContentReadFrom(const FbxStream& pStream);
00187
00189
00190
00191
00192
00193
00194
00196 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00197
00198 #ifdef _DEBUG
00199 virtual int MemoryUsage() const;
00200 #endif
00201
00202 virtual FbxObject& Copy(const FbxObject& pObject);
00203
00204 protected:
00205 FbxPatch(FbxManager& pManager, char const* pName);
00206
00207 virtual void Destruct(bool pRecursive, bool pDependents);
00208
00209 EType mUType, mVType;
00210 int mUCount, mVCount;
00211 int mUStep, mVStep;
00212 bool mUClosed, mVClosed;
00213 bool mUCappedBottom, mUCappedTop;
00214 bool mVCappedBottom, mVCappedTop;
00215
00216 FbxGeometry::ESurfaceMode mSurfaceMode;
00217 #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS
00218
00219 };
00220
00221 #include <fbxsdk/fbxsdk_nsend.h>
00222
00223 #endif