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