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__