# xsi_envelope.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 __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__