00001
00011
00012
00013 #if (_MSC_VER > 1000) || defined(SGI_COMPILER)
00014 #pragma once
00015 #endif
00016
00017 #ifndef __XSIENVELOPE_H__
00018 #define __XSIENVELOPE_H__
00019
00020 #include <xsi_operator.h>
00021 #include <xsi_doublearray.h>
00022 #include <xsi_cluster.h>
00023 #include <xsi_clusterproperty.h>
00024
00025 namespace XSI {
00026
00027 struct CColor;
00028
00029
00047
00048 class SICPPSDKDECL Envelope : public Operator
00049 {
00050 public:
00052 Envelope();
00053
00055 ~Envelope();
00056
00060 Envelope(const CRef& in_ref);
00061
00065 Envelope(const Envelope& in_obj);
00066
00071 bool IsA( siClassID in_ClassID) const;
00072
00076 siClassID GetClassID() const;
00077
00083 Envelope& operator=(const Envelope& in_obj);
00084
00090 Envelope& operator=(const CRef& in_ref);
00091
00102 CRefArray GetDeformers() const;
00103
00186 CClusterPropertyElementArray GetWeights( double in_dFrame ) const;
00187
00192 CClusterElementArray GetElements( double in_dFrame ) const;
00193
00200 CDoubleArray GetDeformerWeights( const X3DObject &in_Deformer, double in_dFrame ) const;
00201
00275 CStatus SetDeformerWeights( X3DObject &in_Deformer, const CDoubleArray &in_Array );
00276
00284 CStatus GetDeformerColor( const X3DObject &in_Deformer, CColor &io_Color ) const;
00285
00293 CStatus SetDeformerColor( const X3DObject &in_Deformer, const CColor &in_Color );
00294
00295 private:
00296 Envelope * operator&() const;
00297 Envelope * operator&();
00298 };
00299
00300 };
00301
00302 #endif // __XSIENVELOPE_H__