00001
00002
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
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
00088 private:
00089 CSLStrEnumProxy<EClusterType, SI_SUB_CURVE> m_ClusterType;
00090
00091
00092 SI_Void *m_pReserved;
00093 };
00094
00095 #endif
00096