xsi_nurbssample.h Source File
 
 
 
xsi_nurbssample.h
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__