#pragma once // =========================================================================== // Copyright 2018 Autodesk, Inc. All rights reserved. // // Use of this software is subject to the terms of the Autodesk license // agreement provided at the time of installation or download, or which // otherwise accompanies this software in either electronic or hard copy form. // =========================================================================== // #include #include #include #include #include #include #include OPENMAYA_MAJOR_NAMESPACE_OPEN // **************************************************************************** // CLASS DECLARATION (MGraphNodeIterator) //! \ingroup OpenMaya //! \brief Provides access to the cluster nodes in a given evaluation graph. class OPENMAYA_EXPORT MGraphNodeIterator { public: ~MGraphNodeIterator(); MGraphNodeIterator(const MCustomEvaluatorClusterNode* cluster, MStatus* ReturnStatus); OPENMAYA_AVAILABLE(2019) MGraphNodeIterator(const MTopologyClusterNode* topoCluster, MStatus* ReturnStatus); MGraphNodeIterator(const MGraphNodeIterator& iterator, MStatus* ReturnStatus=nullptr); MGraphNodeIterator& operator=(const MGraphNodeIterator& it); bool isDone(MStatus* ReturnStatus = NULL) const; MEvaluationNode currentEvaluationNode(MStatus* ReturnStatus = NULL) const; void next(MStatus* ReturnStatus = NULL) const; void reset(MStatus* ReturnStatus = NULL); static const char* className(); OPENMAYA_PRIVATE: const void* fGraphNodeIterator; }; OPENMAYA_NAMESPACE_CLOSE