xsi_projectitem.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 __XSIPROJECTITEM_H__
    00018 #define __XSIPROJECTITEM_H__
    00019
    00020 #include <xsi_siobject.h>
    00021 #include <xsi_value.h>
    00022 #include <xsi_parameter.h>
    00023
    00024 namespace XSI {
    00025
    00026 class Model;
    00027 class X3DObject;
    00028 class PPGLayout;
    00029 class ICEAttribute;
    00030
    00031 //*****************************************************************************
    00043 //*****************************************************************************
    00044
    00045 class SICPPSDKDECL ProjectItem : public SIObject
    00046 {
    00047 public:
    00049     ProjectItem();
    00050
    00052     ~ProjectItem();
    00053
    00057     ProjectItem(const CRef& in_ref);
    00058
    00062     ProjectItem(const ProjectItem& in_obj);
    00063
    00068     bool IsA( siClassID in_ClassID) const;
    00069
    00073     siClassID GetClassID() const;
    00074
    00080     ProjectItem& operator=(const ProjectItem& in_obj);
    00081
    00087     ProjectItem& operator=(const CRef& in_ref);
    00088
    00092     CString GetFamilies() const;
    00093
    00097     siCapabilities GetCapabilities() const;
    00098
    00108     CStatus PutCapabilityFlag( siCapabilities in_flag, bool in_bEnable ) ;
    00109
    00110
    00117     bool GetSelected
    00118     (
    00119         siBranchFlag in_branchFlag = siNode
    00120     ) const;
    00121
    00130     CStatus PutSelected
    00131     (
    00132         bool in_newState,
    00133         siBranchFlag in_branchFlag = siNode
    00134     );
    00135
    00141     CRefArray GetOwners() const;
    00142
    00156     CParameterRefArray& GetParameters() const;
    00157
    00162     Model GetModel() const;
    00163
    00175     bool IsRelationship(siPSetRelationship in_PSetRelationship) const;
    00176
    00182     bool BelongsTo( const CString& in_family) const;
    00183
    00184
    00189     bool IsKindOf(const CString& in_objectType) const;
    00190
    00201     bool IsAnimated
    00202     (
    00203         siSourceType    in_sourceType = siAnySource,
    00204         bool            in_bLocal = false
    00205     ) const;
    00206
    00218     CRefArray GetAnimatedParameters
    00219     (
    00220         siSourceType    in_sourceType = siAnySource,
    00221         bool            in_bLocal = false
    00222     ) const;
    00223
    00229     CRef EvaluateAt( double in_dFrame = DBL_MAX);
    00230
    00253     CStatus PutParameterValue( const CString& in_scriptname, bool in_val, double in_time = DBL_MAX );
    00254
    00266     CStatus PutParameterValue( const CString& in_scriptname, double in_val, double in_time = DBL_MAX);
    00267
    00279     CStatus PutParameterValue( const CString& in_scriptname, float in_val, double in_time = DBL_MAX );
    00280
    00292     CStatus PutParameterValue( const CString& in_scriptname, short in_val, double in_time = DBL_MAX );
    00293
    00305     CStatus PutParameterValue( const CString& in_scriptname, LONG in_val, double in_time = DBL_MAX );
    00306
    00320     CStatus PutParameterValue( const CString& in_scriptname, LLONG in_val, double in_time = DBL_MAX );
    00321
    00333     CStatus PutParameterValue( const CString& in_scriptname, const CValue& in_val, double in_time = DBL_MAX );
    00334
    00346     CStatus PutParameterValue( const CString& in_scriptname, const CRef& in_val, double in_time = DBL_MAX );
    00347
    00359     CStatus PutParameterValue( const CString& in_scriptname, const CString& in_val, double in_time = DBL_MAX );
    00360
    00376     CValue GetParameterValue( const CString& in_scriptname, double in_time=DBL_MAX )const;
    00377
    00389     Parameter GetParameter( const CString& in_scriptname ) const;
    00390
    00396     PPGLayout GetPPGLayout() const ;
    00397
    00402     siLockType GetLockType();
    00407     siLockLevel GetLockLevel();
    00412     bool IsLocked();
    00413
    00419     CStatus SetLock(siLockLevel  in_level=siLockLevelAll);
    00420
    00427     CStatus UnSetLock(siLockLevel in_level=siLockLevelAll, const CString&in_password=CString() );
    00428
    00441     CRefArray GetTaggedParameters
    00442     (
    00443         siTags      in_tags = siTagAll,
    00444         bool        in_bLocal = false
    00445     ) const;
    00446
    00459     CRefArray GetLockOwners
    00460     (
    00461         siLockLevel in_eLevel = siLockLevelAll,
    00462         bool        in_bLocal = false
    00463     ) const;
    00464
    00488     CRef AddScriptedOp(
    00489             const CString& in_code=L"",
    00490             const CRefArray& in_inputs = CRefArray(),
    00491             const CString& in_name=L"",
    00492             const CString& in_language=L"",
    00493             siConstructionMode in_mode = siConstructionModeDefault,
    00494             CStatus* out_pst = 0 );
    00495
    00519     CRef AddScriptedOpFromFile( const CString& in_filename = L"", const CRefArray& in_inputs = CRefArray(), const CString& in_name = L"", const CString& in_language = L"", siConstructionMode in_mode = siConstructionModeDefault, CStatus* out_pst = 0 );
    00520
    00535     CRef AddCustomOp(
    00536             const CString& in_type,
    00537             const CRefArray& in_inputs = CRefArray(),
    00538             const CString& in_name=L"",
    00539             siConstructionMode in_mode = siConstructionModeDefault,
    00540             CStatus* io_pst = 0 );
    00541
    00546     CRefArray GetLockOwners() const;
    00547
    00554     X3DObject GetParent3DObject() const;
    00555
    00566     siBranchFlag GetBranchFlag() const;
    00567
    00573     CRefArray GetICEAttributes() const;
    00574
    00727     ICEAttribute GetICEAttributeFromName( const CString& in_name ) const;
    00728
    00739     ICEAttribute AddICEAttribute( const CString& in_name, XSI::siICENodeDataType in_DataType, XSI::siICENodeStructureType in_StructureType, XSI::siICENodeContextType in_ContextType );
    00740
    00750     CStatus RemoveICEAttribute( const CString& in_name );
    00751
    00752
    00758     ULONG GetObjectID( ) const;
    00759
    00767     LONG    GetEvaluationID();
    00768
    00776     LONG    GetHierarchicalEvaluationID();
    00777
    00778     protected:
    00779     mutable CParameterRefArray m_paramArray;
    00780
    00781     private:
    00782     ProjectItem * operator&() const;
    00783     ProjectItem * operator&();
    00784
    00785 };
    00786
    00787 };
    00788
    00789 #endif // __XSIPROJECTITEM_H__