00001 //*************************************************************************************** 00002 // File supervisor: Crosswalk team 00012 //*************************************************************************************** 00013 00014 #ifndef _XSINURBSPROJECTIONLIST_H 00015 #define _XSINURBSPROJECTIONLIST_H 00016 00017 #include "Template.h" 00018 00019 class CSLCurveList; 00020 00027 class XSIEXPORT CSLNurbsProjection 00028 : public CSLTemplate 00029 { 00030 public: 00032 enum EProjectionType 00033 { 00034 SI_UV, 00035 SI_WORLD 00036 }; 00037 00041 SI_Error Synchronize(); 00042 00043 SI_Error Fix(); 00044 00050 CSLNurbsProjection(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate); 00051 00053 virtual ~CSLNurbsProjection(); 00054 00058 ETemplateType Type(){ return XSI_NURBS_PROJECTION; } 00059 00063 EProjectionType GetProjectionType(); 00064 00068 SI_Void SetProjectionType( EProjectionType in_Type ); 00069 00071 // Projection Functionality ///////////////////////////////////////////////// 00073 00077 CSLCurveList* CurveList(); 00078 00079 CSLCurveList* ConnectCurveList( CSLCurveList* in_pNewCurveList ); 00080 00081 private: 00082 CSLCurveList* m_pProjCurveList; 00083 CSLEnumProxy<EProjectionType, SI_WORLD> m_Projection; 00084 00085 SI_Void *m_pReserved; 00086 }; 00087 00088 #endif