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__