XSINurbsProjectionList.h

Go to the documentation of this file.
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