00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef _XSICLUSTERINFO_H
00013 #define _XSICLUSTERINFO_H
00014
00015 #include "Template.h"
00016
00020 class XSIEXPORT CSLXSIClusterInfo
00021 : public CSLTemplate
00022 {
00023
00024 public:
00025
00027 enum EClusterType
00028 {
00029 SI_POLYGON,
00030 SI_FACE,
00031 SI_SURFACE_CURVE,
00032 SI_KNOT_CURVE_U,
00033 SI_KNOT_CURVE_V,
00034 SI_BOUNDARY,
00035 SI_VERTEX,
00036 SI_EDGE,
00037 SI_POLYGON_NODE,
00038 SI_SAMPLED_POINT,
00039 SI_KNOT,
00040 SI_TRIM_CURVE,
00041 SI_ISO_LINE_U,
00042 SI_ISO_LINE_V,
00043 SI_ISO_POINT,
00044 SI_ISO_LINE,
00045 SI_SUB_SURFACE,
00046 SI_SUB_CURVE,
00047 };
00048
00050
00056 CSLXSIClusterInfo
00057 (
00058 CSLScene* in_pScene,
00059 CSLModel* in_pModel,
00060 CdotXSITemplate *in_pTemplate,
00061 EClusterType in_DefaultEClusterType = SI_VERTEX
00062 );
00063
00065 virtual ~CSLXSIClusterInfo();
00066
00068
00071 void SetClusterType( EClusterType in_Type ) { m_ClusterType = in_Type; };
00072
00074
00077 EClusterType GetClusterType();
00078
00079 virtual CSLTemplate::ETemplateType Type();
00080
00081 virtual SI_Error Synchronize();
00082
00083
00084 private:
00085 CSLStrEnumProxy<EClusterType, SI_SUB_CURVE> m_ClusterType;
00086
00087
00088 SI_Void *m_pReserved;
00089 };
00090
00091 #endif
00092