XSINurbsTrimList.h

Go to the documentation of this file.
00001 //***************************************************************************************
00002 // File supervisor: Crosswalk team
00012 //***************************************************************************************
00013 
00014 #ifndef _XSINURBSTRIMLIST_H
00015 #define _XSINURBSTRIMLIST_H
00016 
00017 #include "Template.h"
00018 
00019 class CSLCurveList;
00020 
00027 class XSIEXPORT CSLNurbsTrim
00028     : public CSLTemplate
00029 {
00030 public:
00032     enum EProjectionType
00033     {
00034         SI_UV,      
00035         SI_WORLD    
00036     };
00037 
00041     SI_Error Synchronize();
00042 
00048     CSLNurbsTrim(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate);
00049 
00051     virtual ~CSLNurbsTrim();
00052 
00056     ETemplateType Type(){ return XSI_NURBS_TRIM; }
00057 
00061     SI_Bool GetBoundaryFlag();
00062 
00066     SI_Void SetBoundaryFlag( SI_Bool in_Flag );
00067 
00071     EProjectionType GetProjectionType();
00072 
00076     SI_Void SetProjectionType( EProjectionType in_Type );
00077 
00078 
00080     // Trim Functionality /////////////////////////////////////////////////
00082 
00086     CSLCurveList* CurveList() { return m_pTrimCurveList; };
00087 
00088     // Connection functions
00089     CSLCurveList* ConnectCurveList(CSLCurveList*);
00090     virtual SI_Error Fix();
00091 
00092 private:
00093     CSLCurveList*   m_pTrimCurveList;
00094     CSLBoolProxy    m_Boundary;
00095     CSLEnumProxy<EProjectionType, SI_WORLD> m_Projection;
00096 
00097     SI_Void *m_pReserved;
00098 };
00099 
00100 #endif