- Main Page
- Classes
- Files
- Directories

- File List
- File Members

# fbxpatch.h

Go to the documentation of this file.

    00001 /****************************************************************************************
    00002
    00003    Copyright (C) 2013 Autodesk, Inc.
    00004    All rights reserved.
    00005
    00006    Use of this software is subject to the terms of the Autodesk license agreement
    00007    provided at the time of installation or download, or which otherwise accompanies
    00008    this software in either electronic or hard copy form.
    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 ** WARNING! Anything beyond these lines is for internal use, may not be documented and is subject to change without notice! **
    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 /* !DOXYGEN_SHOULD_SKIP_THIS *****************************************************************************************/
    00205 };
    00206
    00207 #include <fbxsdk/fbxsdk_nsend.h>
    00208
    00209 #endif /* _FBXSDK_SCENE_GEOMETRY_PATCH_H_ */