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 __XSIKNOT_H__
00018 #define __XSIKNOT_H__
00019
00020 #include <xsi_siobject.h>
00021 #include <xsi_doublearray.h>
00022
00023 namespace XSI {
00024
00025 class CKnotArray;
00026 class CControlPointRefArray;
00027 class CNurbsSampleRefArray;
00028
00029
00030
00067
00068 class SICPPSDKDECL CKnotArray : public SIObject
00069 {
00070 public:
00072 CKnotArray();
00073
00075 ~CKnotArray();
00076
00080 CKnotArray( const CKnotArray& in_array );
00081
00085 CKnotArray( const CRef& in_ref );
00086
00092 CKnotArray& operator=(const CKnotArray& in_obj);
00093
00099 CKnotArray& operator=(const CRef& in_ref);
00100
00105 bool IsA(siClassID in_classID) const;
00106
00110 siClassID GetClassID() const;
00111
00118 double GetItem( LONG in_index ) const;
00119
00123 CDoubleArray& GetArray() const;
00124
00128 LONG GetCount() const;
00129
00135 CStatus GetClosed(bool& out_bClosed) const;
00136
00142 CStatus GetDegree(LONG& out_lDegree) const;
00143
00149 CStatus GetParameterization
00150 (
00151 siKnotParameterization& out_siParameterization
00152 ) const;
00153
00160 CStatus GetMultiplicity(double in_dKnotValue,LONG& out_lMultiplicity)const;
00161
00162 private:
00163 mutable CDoubleArray m_aKnotValues;
00164 };
00165
00166 };
00167
00168 #endif // __XSIKNOT_H__