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 #ifdef _MSC_VER
00026 #pragma warning(disable:4251)
00027 #endif
00028 
00029 namespace XSI {
00030 
00031 //*****************************************************************************
00106 //*****************************************************************************
00107 
00108 class SICPPSDKDECL CClusterPropertyBuilder : public CBase
00109 {
00110 public:
00111 
00113     CClusterPropertyBuilder();
00114 
00116     ~CClusterPropertyBuilder();
00117 
00121     CClusterPropertyBuilder(const CRef& in_ref);
00122 
00126     CClusterPropertyBuilder(const CClusterPropertyBuilder& in_obj);
00127 
00132     bool IsA( siClassID in_ClassID) const;
00133 
00137     siClassID GetClassID() const;
00138 
00144     CClusterPropertyBuilder& operator=(const CClusterPropertyBuilder& in_obj);
00145 
00151     CClusterPropertyBuilder& operator=(const CRef& in_ref);
00152 
00160     CRef AddUV();
00161 
00171     CRef AddUV( CString& io_strPropName, CString& io_strClusterName );
00172 
00186     CRef AddUserNormal(bool in_bCompleteCluster=true);
00187 
00203     CRef AddUserNormal(
00204         CString&    io_strPropName,
00205         CString&    io_strClusterName,
00206         bool        in_bCompleteCluster=true );
00207 
00214     CRef AddUserMotion();
00215 
00224     CRef AddUserMotion( CString& io_strPropName, CString& io_strClusterName );
00225 
00233     CRef AddVertexColor();
00234 
00243     CRef AddVertexColor( CString& io_strPropName, CString& io_strClusterName );
00244 
00260     CRef AddWeightMap(bool in_bCompleteCluster=true);
00261 
00277     CRef AddWeightMap(
00278         CString&    io_strPropName,
00279         CString&    io_strClusterName,
00280         bool        in_bCompleteCluster=true );
00281 
00393     CRef AddEnvelopeWeight(
00394         const CRefArray&    in_deformers,
00395         bool                in_bCompleteCluster=true );
00396 
00506     CRef AddEnvelopeWeight(
00507         const CRefArray&    in_deformers,
00508         CString&            io_strPropName,
00509         CString&            io_strClusterName,
00510         bool                in_bCompleteCluster=true );
00511 
00529     CRef AddShapeKey(
00530         XSI::siShapeReferenceMode   in_refMode = XSI::siShapeObjectReferenceMode,
00531         bool                        in_bCompleteCluster=true );
00532 
00552     CRef AddShapeKey(
00553         XSI::siShapeReferenceMode   in_refMode,
00554         CString&                    io_strPropName,
00555         CString&                    io_strClusterName,
00556         bool                        in_bCompleteCluster=true );
00557 
00572     CRef AddUserDataMap(
00573         XSI::siClusterType  in_clsType,
00574         bool                in_bCompleteCluster=true );
00575 
00593     CRef AddUserDataMap(
00594         XSI::siClusterType  in_clsType,
00595         CString&            io_strPropName,
00596         CString&            io_strClusterName,
00597         bool                in_bCompleteCluster=true );
00598 
00599     private:
00600     CClusterPropertyBuilder * operator&() const;
00601     CClusterPropertyBuilder * operator&();
00602 };
00603 
00604 };
00605 
00606 #endif // __XSICLSPROPBUILDER_H__