xsi_clusterpropertybuilder.h

Go to the documentation of this file.
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__