Go to the documentation of this file.00001
00011
00012
00013 #if (_MSC_VER > 1000) || defined(SGI_COMPILER)
00014 #pragma once
00015 #endif
00016
00017 #ifndef __XSINURBSSAMPLE_H__
00018 #define __XSINURBSSAMPLE_H__
00019
00020 #include <xsi_sample.h>
00021
00022 namespace XSI {
00023
00024
00025
00061
00062
00063 class SICPPSDKDECL NurbsSample : public Sample
00064 {
00065 public:
00067 NurbsSample();
00068
00070 ~NurbsSample();
00071
00075 NurbsSample(const CRef& in_ref);
00076
00080 NurbsSample(const NurbsSample& in_obj);
00081
00086 bool IsA( siClassID in_ClassID) const;
00087
00091 siClassID GetClassID() const;
00092
00098 NurbsSample& operator=(const NurbsSample& in_obj);
00099
00105 NurbsSample& operator=(const CRef& in_ref);
00106
00112 CStatus GetU(double& out_dUValue)const;
00113
00119 CStatus GetV(double& out_dVValue)const;
00120
00126 CStatus GetUSamplingCoordinate(LONG& out_lUSamplingCoordinate)const;
00127
00133 CStatus GetVSamplingCoordinate(LONG& out_lVSamplingCoordinate)const;
00134
00140 CStatus GetUNormalized(double& out_dUNormalizedValue)const;
00141
00147 CStatus GetVNormalized(double& out_dVNormalizedValue)const;
00148
00149
00150 private:
00151 NurbsSample * operator&() const;
00152 NurbsSample * operator&();
00153 };
00154
00155
00184
00185 class SICPPSDKDECL CNurbsSampleRefArray : public CSampleRefArray
00186 {
00187 public:
00189 CNurbsSampleRefArray();
00190
00194 CNurbsSampleRefArray( const CNurbsSampleRefArray& in_array );
00195
00200 CRef GetItem( LONG in_index ) const;
00201
00206 CRef GetItem( const CString& in_name ) const;
00207
00211 LONG GetCount() const;
00212
00216 bool IsValid() const;
00217
00223 CStatus GetUSamplingCount(LONG& out_lUSamplingCount)const;
00224
00230 CStatus GetVSamplingCount(LONG& out_lVSamplingCount)const;
00231
00240 CStatus GetIndexFromUVSamplingCoordinate
00241 (
00242 LONG in_lUSamplingCoordinate,
00243 LONG in_lVSamplingCoordinate,
00244 LONG& out_lIndex
00245 )const;
00246
00253 CStatus GetIndexArrayFromUVSamplingCoordinateArray
00254 (
00255 CLongArray& in_aUVSamplingCoordinate,
00256 CLongArray& out_aIndices
00257 )const;
00258
00265 CStatus GetUVSamplingCoordinateArray
00266 (
00267 CLongArray& in_aIndices,
00268 CLongArray& out_aUVSamplingCoordinate
00269 )const;
00270
00271 private:
00272 void* m_ptr;
00273 };
00274
00275 };
00276
00277 #endif // __XSINURBSSAMPLE_H__