fbxline.h

Go to the documentation of this file.
00001 /****************************************************************************************
00002  
00003    Copyright (C) 2012 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_LINE_H_
00014 #define _FBXSDK_SCENE_GEOMETRY_LINE_H_
00015 
00016 #include <fbxsdk/fbxsdk_def.h>
00017 
00018 #include <fbxsdk/scene/geometry/fbxgeometry.h>
00019 
00020 #include <fbxsdk/core/math/fbxvector4.h>
00021 #include <fbxsdk/core/math/fbxvector2.h>
00022 
00023 #include <fbxsdk/core/base/fbxarray.h>
00024 
00025 #include <fbxsdk/fbxsdk_nsbegin.h>
00026 
00027 class FbxLine;
00028 class FbxManager;
00029 
00041 class FBXSDK_DLL FbxLine : public FbxGeometry
00042 {
00043     FBXSDK_OBJECT_DECLARE(FbxLine,FbxGeometry);
00044 
00045 public:
00049     virtual FbxNodeAttribute::EType GetAttributeType() const;
00050 
00054     void Reset();
00055 
00059     void SetIndexArraySize(int pCount);
00060 
00064     int GetIndexArraySize() const;
00065 
00069     inline FbxArray<int>* GetIndexArray() { return &mPointArray;}
00070 
00077     bool SetPointIndexAt(int pValue, int pIndex, bool pAsEndPoint = false);
00078 
00083     int GetPointIndexAt(int pIndex) const;
00084 
00090     bool AddPointIndex(int pValue, bool pAsEndPoint = false);
00091 
00095     inline FbxArray<int>* GetEndPointArray() { return &mEndPointArray;}
00096 
00115     bool AddEndPoint(int pPointIndex);
00116 
00132     int GetEndPointAt(int pEndPointIndex) const;
00133 
00137     int GetEndPointCount() const;
00138 
00142     FbxPropertyT<FbxBool> Renderable;
00143 
00145 //
00146 //  WARNING!
00147 //
00148 //  Anything beyond these lines may not be documented accurately and is
00149 //  subject to change without notice.
00150 //
00152 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00153 
00154     virtual FbxObject& Copy(const FbxObject& pObject);
00155 
00156 protected:
00157     FbxLine(FbxManager& pManager, char const* pName);
00158 
00159     virtual bool ConstructProperties(bool pForceSet);
00160     virtual void Destruct(bool pRecursive, bool pDependents);
00161 
00162 private:
00163     FbxArray<int> mPointArray;
00164     FbxArray<int> mEndPointArray;
00165 
00166 #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS
00167 
00168 };
00169 
00170 #include <fbxsdk/fbxsdk_nsend.h>
00171 
00172 #endif /* _FBXSDK_SCENE_GEOMETRY_LINE_H_ */