00001 //***************************************************************************** 00011 //***************************************************************************** 00012 00013 #if (_MSC_VER > 1000) || defined(SGI_COMPILER) 00014 #pragma once 00015 #endif 00016 00017 #ifndef __XSIPOLYGONNODE_H__ 00018 #define __XSIPOLYGONNODE_H__ 00019 00020 #include <xsi_sample.h> 00021 #include <xsi_math.h> 00022 00023 namespace XSI { 00024 00025 //***************************************************************************** 00049 //***************************************************************************** 00050 00051 class SICPPSDKDECL PolygonNode : public Sample 00052 { 00053 public: 00055 PolygonNode(); 00056 00058 ~PolygonNode(); 00059 00063 PolygonNode(const CRef& in_ref); 00064 00068 PolygonNode(const PolygonNode& in_obj); 00069 00074 bool IsA( siClassID in_ClassID) const; 00075 00079 siClassID GetClassID() const; 00080 00086 PolygonNode& operator=(const PolygonNode& in_obj); 00087 00093 PolygonNode& operator=(const CRef& in_ref); 00094 00098 LONG GetIndex() const; 00099 00104 MATH::CVector3 GetNormal(bool& io_bValid) const; 00105 00106 private: 00107 PolygonNode * operator&() const; 00108 PolygonNode * operator&(); 00109 }; 00110 00111 //***************************************************************************** 00156 //***************************************************************************** 00157 00158 class SICPPSDKDECL CPolygonNodeRefArray : public CSampleRefArray 00159 { 00160 public: 00161 CPolygonNodeRefArray(); 00162 00166 CPolygonNodeRefArray( const CPolygonNodeRefArray& in_array ); 00167 00172 CRef GetItem( LONG in_index ) const; 00173 00178 CRef GetItem( const CString& in_name ) const; 00179 00183 LONG GetCount() const; 00184 00188 bool IsValid() const; 00189 00193 MATH::CVector3Array GetNormalArray() const; 00194 }; 00195 00196 00197 }; 00198 00199 #endif // __XSIPOLYGONNODE_H__