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
00026 class FBXSDK_DLL FbxPatch : public FbxGeometry
00027 {
00028 FBXSDK_OBJECT_DECLARE(FbxPatch,FbxGeometry);
00029
00030 public:
00032 virtual FbxNodeAttribute::EType GetAttributeType() const;
00033
00035 void Reset();
00036
00041
00045 void SetSurfaceMode(FbxGeometry::ESurfaceMode pMode);
00046
00050 inline FbxGeometry::ESurfaceMode GetSurfaceMode() const {return mSurfaceMode;}
00051
00059 enum EType
00060 {
00061 eBezier,
00062 eBezierQuadric,
00063 eCardinal,
00064 eBSpline,
00065 eLinear
00066 };
00067
00074 void InitControlPoints(int pUCount, EType pUType, int pVCount, EType pVType);
00075
00079 inline int GetUCount() const {return mUCount;}
00080
00084 inline int GetVCount() const {return mVCount;}
00085
00089 inline EType GetPatchUType() const {return mUType;}
00090
00094 inline EType GetPatchVType () const {return mVType;}
00095
00101 void SetStep(int pUStep, int pVStep);
00102
00106 inline int GetUStep() const {return mUStep;}
00107
00111 inline int GetVStep() const {return mVStep;}
00112
00117 void SetClosed(bool pU, bool pV);
00118
00122 inline bool GetUClosed() const {return mUClosed;}
00123
00127 inline bool GetVClosed() const {return mVClosed;}
00128
00135 void SetUCapped(bool pUBottom, bool pUTop);
00136
00140 inline bool GetUCappedBottom() const {return mUCappedBottom;}
00141
00145 inline bool GetUCappedTop() const {return mUCappedTop;}
00146
00153 void SetVCapped(bool pVBottom, bool pVTop);
00154
00158 inline bool GetVCappedBottom() const {return mVCappedBottom;}
00159
00163 inline bool GetVCappedTop() const {return mVCappedTop;}
00164
00166
00176 virtual bool ContentWriteTo(FbxStream& pStream) const;
00177
00183 virtual bool ContentReadFrom(const FbxStream& pStream);
00185
00186
00187
00188
00189 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00190 virtual FbxObject& Copy(const FbxObject& pObject);
00191
00192 protected:
00193 virtual void Construct(const FbxPatch* pFrom);
00194 virtual void Destruct(bool pRecursive);
00195
00196 EType mUType, mVType;
00197 int mUCount, mVCount;
00198 int mUStep, mVStep;
00199 bool mUClosed, mVClosed;
00200 bool mUCappedBottom, mUCappedTop;
00201 bool mVCappedBottom, mVCappedTop;
00202
00203 FbxGeometry::ESurfaceMode mSurfaceMode;
00204 #endif
00205 };
00206
00207 #include <fbxsdk/fbxsdk_nsend.h>
00208
00209 #endif