XSIClusterInfo.h

Go to the documentation of this file.
00001 //***************************************************************************************
00002 // File supervisor: Crosswalk team
00012 //***************************************************************************************
00013 
00014 #ifndef _XSICLUSTERINFO_H
00015 #define _XSICLUSTERINFO_H
00016 
00017 #include "Template.h"
00018 
00024 class XSIEXPORT CSLXSIClusterInfo
00025     : public CSLTemplate
00026 {
00027 // Methods
00028 public:
00029 
00031     enum EClusterType
00032     {
00033         SI_POLYGON,             
00034         SI_FACE,                
00035         SI_SURFACE_CURVE,       
00036         SI_KNOT_CURVE_U,        
00037         SI_KNOT_CURVE_V,        
00038         SI_BOUNDARY,            
00039         SI_VERTEX,              
00040         SI_EDGE,                
00041         SI_POLYGON_NODE,        
00042         SI_SAMPLED_POINT,       
00043         SI_KNOT,                
00044         SI_TRIM_CURVE,          
00045         SI_ISO_LINE_U,          
00046         SI_ISO_LINE_V,          
00047         SI_ISO_POINT,           
00048         SI_ISO_LINE,            
00049         SI_SUB_SURFACE,         
00050         SI_SUB_CURVE,           
00051     };
00052 
00059     CSLXSIClusterInfo
00060     (
00061         CSLScene* in_pScene,
00062         CSLModel* in_pModel,
00063         CdotXSITemplate *in_pTemplate,
00064         EClusterType in_DefaultEClusterType = SI_VERTEX
00065     );
00066 
00068     virtual ~CSLXSIClusterInfo();
00069 
00073     void SetClusterType( EClusterType in_Type ) { m_ClusterType = in_Type; };
00074 
00078     EClusterType GetClusterType();
00079 
00083     virtual CSLTemplate::ETemplateType Type();
00084 
00085     virtual SI_Error Synchronize();
00086 
00087     // Members
00088 private:
00089     CSLStrEnumProxy<EClusterType, SI_SUB_CURVE> m_ClusterType;
00090 
00091     // This member is here to allow future improvement of the class.
00092     SI_Void *m_pReserved;
00093 };
00094 
00095 #endif
00096