#ifndef _MFnDependencyNode #define _MFnDependencyNode // //- // ========================================================================== // Copyright (C) Alias Systems, a division of Silicon Graphics Limited. // All rights reserved. These coded instructions, statements and computer // programs contain unpublished information proprietary to Alias Systems, // a division of Silicon Graphics Limited, which is protected by the // Canadian and US federal copyright law and may not be disclosed to third // parties or copied or duplicated, in whole or in part, without prior // written consent of Alias Systems, a division of Silicon Graphics Limited // ========================================================================== //+ // // CLASS: MFnDependencyNode // // ***************************************************************************** // // CLASS DESCRIPTION (MFnDependencyNode) // // MFnDependencyNode allows the creation and manipulation of dependency // graph nodes. Traversal of the dependency graph is possible using the // getConnections method. // // This function set does not support creation or removal of connections. // MDGModifier should be used for that purpose. // // ***************************************************************************** #if defined __cplusplus // ***************************************************************************** // INCLUDED HEADER FILES #include #include #include // ***************************************************************************** // DECLARATIONS class MPlugArray; class MPlug; class MTypeId; class MPxNode; class MObjectArray; // ***************************************************************************** // CLASS DECLARATION (MFnDependencyNode) /// Dependency node function set /** MFnNumericData allows the manipulation of nodes in the dependency graph */ #ifdef _WIN32 #pragma warning(disable: 4522) #endif // _WIN32 class OPENMAYA_EXPORT MFnDependencyNode : public MFnBase { declareMFn(MFnDependencyNode, MFnBase); public: /// enum MAttrClass { /// kGlobalDynamicAttr = 1, /// kLocalDynamicAttr, // kNormalAttr, // kInvalidAttr }; /// MObject create( const MTypeId &typeId, MStatus* ReturnStatus = NULL ); /// MObject create( const MTypeId &typeId, const MString& name, MStatus* ReturnStatus = NULL ); /// MObject create( const MString &type, MStatus* ReturnStatus = NULL ); /// MObject create( const MString &type, const MString& name, MStatus* ReturnStatus = NULL ); /// MTypeId typeId( MStatus* ReturnStatus = NULL ) const; /// MString typeName( MStatus* ReturnStatus = NULL ) const; /// MString name( MStatus * ReturnStatus = NULL ) const; /// MString setName( const MString &name, MStatus * ReturnStatus = NULL ); /// MStatus getConnections( MPlugArray& array ) const; /// unsigned attributeCount( MStatus* ReturnStatus=NULL) const; /// MObject attribute( unsigned index, MStatus* ReturnStatus=NULL) const; /// MObject reorderedAttribute( unsigned index, MStatus* ReturnStatus=NULL) const; /// MObject attribute( const MString& attrName, MStatus* ReturnStatus=NULL) const; /// MAttrClass attributeClass( const MObject& attr, MStatus* ReturnStatus=NULL) const; /// MStatus getAffectedAttributes ( const MObject& attr, MObjectArray& affectedAttributes ) const; /// MStatus getAffectedByAttributes ( const MObject& attr, MObjectArray& affectedByAttributes ) const; /// MPlug findPlug( const MObject & attr, MStatus* ReturnStatus=NULL) const; /// MPlug findPlug( const MString & attrName, MStatus* ReturnStatus=NULL) const; /// MStatus addAttribute( const MObject & attr, MAttrClass type = kLocalDynamicAttr ); /// MStatus removeAttribute( const MObject & attr, MAttrClass type = kLocalDynamicAttr ); /// MPxNode * userNode( MStatus* ReturnStatus=NULL ) const; /// bool isFromReferencedFile(MStatus* ReturnStatus=NULL) const; /// bool isShared(MStatus* ReturnStatus=NULL) const; /// bool hasUniqueName(MStatus* ReturnStatus=NULL) const; /// MString parentNamespace(MStatus* ReturnStatus=NULL) const; /// bool isLocked(MStatus* ReturnStatus=NULL) const; /// MStatus setLocked( bool locked ); /// static MString classification( const MString & nodeTypeName ); /// bool isNewAttribute( const MObject& attr, MStatus* ReturnStatus=NULL) const; /// static unsigned allocateFlag( const MString pluginName, MStatus* ReturnStatus=NULL ); /// static MStatus deallocateFlag(const MString pluginName, unsigned flag); /// static MStatus deallocateAllFlags(const MString pluginName); /// MStatus setFlag(unsigned flag, bool state); /// bool isFlagSet(unsigned flag, MStatus* ReturnStatus=NULL) const; /// bool isDefaultNode(MStatus* ReturnStatus=NULL) const; /// bool canBeWritten(MStatus* ReturnStatus=NULL) const; protected: // No protected members private: // No private members }; #ifdef _WIN32 #pragma warning(default: 4522) #endif // _WIN32 // ***************************************************************************** #endif /* __cplusplus */ #endif /* _MFnDependencyNode */