00001
00011
00012
00013 #if (_MSC_VER > 1000) || defined(SGI_COMPILER)
00014 #pragma once
00015 #endif
00016
00017 #ifndef __XSICLSPROPBUILDER_H__
00018 #define __XSICLSPROPBUILDER_H__
00019
00020 #include <xsi_base.h>
00021 #include <xsi_value.h>
00022 #include <xsi_status.h>
00023 #include <xsi_longarray.h>
00024
00025 #pragma warning(disable:4251)
00026
00027 namespace XSI {
00028
00029
00104
00105
00106 class SICPPSDKDECL CClusterPropertyBuilder : public CBase
00107 {
00108 public:
00109
00111 CClusterPropertyBuilder();
00112
00114 ~CClusterPropertyBuilder();
00115
00119 CClusterPropertyBuilder(const CRef& in_ref);
00120
00124 CClusterPropertyBuilder(const CClusterPropertyBuilder& in_obj);
00125
00130 bool IsA( siClassID in_ClassID) const;
00131
00135 siClassID GetClassID() const;
00136
00142 CClusterPropertyBuilder& operator=(const CClusterPropertyBuilder& in_obj);
00143
00149 CClusterPropertyBuilder& operator=(const CRef& in_ref);
00150
00158 CRef AddUV();
00159
00169 CRef AddUV( CString& io_strPropName, CString& io_strClusterName );
00170
00184 CRef AddUserNormal(bool in_bCompleteCluster=true);
00185
00201 CRef AddUserNormal(
00202 CString& io_strPropName,
00203 CString& io_strClusterName,
00204 bool in_bCompleteCluster=true );
00205
00213 CRef AddVertexColor();
00214
00223 CRef AddVertexColor( CString& io_strPropName, CString& io_strClusterName );
00224
00240 CRef AddWeightMap(bool in_bCompleteCluster=true);
00241
00257 CRef AddWeightMap(
00258 CString& io_strPropName,
00259 CString& io_strClusterName,
00260 bool in_bCompleteCluster=true );
00261
00373 CRef AddEnvelopeWeight(
00374 const CRefArray& in_deformers,
00375 bool in_bCompleteCluster=true );
00376
00486 CRef AddEnvelopeWeight(
00487 const CRefArray& in_deformers,
00488 CString& io_strPropName,
00489 CString& io_strClusterName,
00490 bool in_bCompleteCluster=true );
00491
00509 CRef AddShapeKey(
00510 XSI::siShapeReferenceMode in_refMode = XSI::siShapeObjectReferenceMode,
00511 bool in_bCompleteCluster=true );
00512
00532 CRef AddShapeKey(
00533 XSI::siShapeReferenceMode in_refMode,
00534 CString& io_strPropName,
00535 CString& io_strClusterName,
00536 bool in_bCompleteCluster=true );
00537
00552 CRef AddUserDataMap(
00553 XSI::siClusterType in_clsType,
00554 bool in_bCompleteCluster=true );
00555
00573 CRef AddUserDataMap(
00574 XSI::siClusterType in_clsType,
00575 CString& io_strPropName,
00576 CString& io_strClusterName,
00577 bool in_bCompleteCluster=true );
00578
00579 private:
00580 CClusterPropertyBuilder * operator&() const;
00581 CClusterPropertyBuilder * operator&();
00582 };
00583
00584 };
00585
00586 #endif // __XSICLSPROPBUILDER_H__