AnimGraph.h 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. /*
  2. * Copyright (c) Contributors to the Open 3D Engine Project.
  3. * For complete copyright and license terms please see the LICENSE at the root of this distribution.
  4. *
  5. * SPDX-License-Identifier: Apache-2.0 OR MIT
  6. *
  7. */
  8. namespace EMotionFX
  9. {
  10. class AnimGraph
  11. {
  12. public:
  13. //void RecursiveReinit();
  14. //bool InitAfterLoading();
  15. //void UpdateUniqueData();
  16. MOCK_CONST_METHOD0(GetFileName, const char*());
  17. //const AZStd::string& GetFileNameString() const;
  18. //void SetFileName(const char* fileName);
  19. //AnimGraphStateMachine* GetRootStateMachine() const;
  20. //void SetRootStateMachine(AnimGraphStateMachine* stateMachine);
  21. //AnimGraphNode* RecursiveFindNodeByName(const char* nodeName) const;
  22. //bool IsNodeNameUnique(const AZStd::string& newNameCandidate, const AnimGraphNode* forNode) const;
  23. MOCK_CONST_METHOD1(RecursiveFindNodeById, AnimGraphNode*(AnimGraphNodeId));
  24. MOCK_CONST_METHOD1(RecursiveFindTransitionById, AnimGraphStateTransition*(AnimGraphConnectionId));
  25. MOCK_CONST_METHOD2(RecursiveCollectNodesOfType, void(const AZ::TypeId& nodeType, AZStd::vector<AnimGraphNode*>* outNodes));
  26. MOCK_CONST_METHOD2(RecursiveCollectTransitionConditionsOfType, void(const AZ::TypeId& conditionType, AZStd::vector<AnimGraphTransitionCondition*>* outConditions));
  27. MOCK_METHOD2(RecursiveCollectObjectsOfType, void(const AZ::TypeId& objectType, AZStd::vector<AnimGraphObject*>& outObjects));
  28. MOCK_METHOD2(RecursiveCollectObjectsAffectedBy, void(AnimGraph* animGraph, AZStd::vector<AnimGraphObject*>& outObjects));
  29. //uint32 RecursiveCalcNumNodes() const;
  30. //void RecursiveCalcStatistics(Statistics& outStatistics) const;
  31. //uint32 RecursiveCalcNumNodeConnections() const;
  32. //void DecreaseInternalAttributeIndices(size_t decreaseEverythingHigherThan);
  33. //AZStd::string GenerateNodeName(const AZStd::unordered_set<AZStd::string>& nameReserveList, const char* prefix = "Node") const;
  34. MOCK_CONST_METHOD0(GetNumParameters, size_t());
  35. MOCK_CONST_METHOD0(GetNumValueParameters, size_t());
  36. MOCK_CONST_METHOD1(FindParameter, const Parameter*(size_t index));
  37. MOCK_CONST_METHOD1(FindValueParameter, const ValueParameter*(size_t index));
  38. MOCK_CONST_METHOD0(RecursivelyGetGroupParameters, GroupParameterVector());
  39. MOCK_CONST_METHOD0(RecursivelyGetValueParameters, const ValueParameterVector&());
  40. MOCK_CONST_METHOD0(GetChildParameters, const ParameterVector&());
  41. MOCK_CONST_METHOD0(GetChildValueParameters, ValueParameterVector());
  42. MOCK_CONST_METHOD1(FindParameterByName, const Parameter*(const AZStd::string& paramName));
  43. MOCK_CONST_METHOD1(FindValueParameterByName, const ValueParameter*(const AZStd::string& paramName));
  44. MOCK_CONST_METHOD1(FindGroupParameterByName, const GroupParameter*(const AZStd::string& groupName));
  45. MOCK_CONST_METHOD1(FindParentGroupParameter, const GroupParameter*(const Parameter* parameter));
  46. MOCK_CONST_METHOD1(FindParameterIndexByName, AZ::Outcome<size_t>(const AZStd::string& paramName));
  47. MOCK_CONST_METHOD1(FindValueParameterIndexByName, AZ::Outcome<size_t>(const AZStd::string& paramName));
  48. //MOCK_CONST_METHOD1(FindParameterIndex, AZ::Outcome<size_t>(const Parameter* parameter));
  49. MOCK_CONST_METHOD1(FindParameterIndex, AZ::Outcome<size_t>(Parameter* parameter));
  50. MOCK_CONST_METHOD1(FindValueParameterIndex, AZ::Outcome<size_t>(const ValueParameter* parameter));
  51. MOCK_CONST_METHOD1(FindRelativeParameterIndex, AZ::Outcome<size_t>(const Parameter* parameter));
  52. MOCK_METHOD2(AddParameter, bool(Parameter* parameter, const GroupParameter* parent));
  53. MOCK_METHOD3(InsertParameter, bool(size_t index, Parameter* parameter, const GroupParameter* parent));
  54. MOCK_METHOD2(RenameParameter, bool(Parameter* parameter, const AZStd::string& newName));
  55. MOCK_METHOD1(RemoveParameter, bool(Parameter* parameter));
  56. MOCK_METHOD1(TakeParameterFromParent, bool(const Parameter* parameter));
  57. MOCK_CONST_METHOD0(GetID, uint32());
  58. MOCK_METHOD1(SetID, void(uint32 id));
  59. MOCK_METHOD1(SetDirtyFlag, void(bool dirty));
  60. MOCK_CONST_METHOD0(GetDirtyFlag, bool());
  61. //void SetAutoUnregister(bool enabled);
  62. //bool GetAutoUnregister() const;
  63. //void SetIsOwnedByRuntime(bool isOwnedByRuntime);
  64. //bool GetIsOwnedByRuntime() const;
  65. //void SetIsOwnedByAsset(bool isOwnedByAsset);
  66. //bool GetIsOwnedByAsset() const;
  67. //uint32 GetNumNodeGroups() const;
  68. //AnimGraphNodeGroup* GetNodeGroup(uint32 index) const;
  69. //AnimGraphNodeGroup* FindNodeGroupByName(const char* groupName) const;
  70. //uint32 FindNodeGroupIndexByName(const char* groupName) const;
  71. //void AddNodeGroup(AnimGraphNodeGroup* nodeGroup);
  72. //void RemoveNodeGroup(uint32 index, bool delFromMem = true);
  73. //void RemoveAllNodeGroups(bool delFromMem = true);
  74. //AnimGraphNodeGroup* FindNodeGroupForNode(AnimGraphNode* animGraphNode) const;
  75. //void FindAndRemoveCycles(AZStd::string* outRemovedConnectionsMessage = nullptr);
  76. //bool GetRetargetingEnabled() const;
  77. //void SetRetargetingEnabled(bool enabled);
  78. //void RemoveAllObjectData(AnimGraphObject* object, bool delFromMem);
  79. //void AddObject(AnimGraphObject* object);
  80. //void RemoveObject(AnimGraphObject* object);
  81. //uint32 GetNumObjects() const;
  82. //AnimGraphObject* GetObject(uint32 index) const;
  83. //void ReserveNumObjects(uint32 numObjects);
  84. //uint32 GetNumNodes() const;
  85. //AnimGraphNode* GetNode(uint32 index) const;
  86. //void ReserveNumNodes(uint32 numNodes);
  87. //uint32 CalcNumMotionNodes() const;
  88. MOCK_CONST_METHOD0(GetNumAnimGraphInstances, size_t());
  89. MOCK_CONST_METHOD1(GetAnimGraphInstance, AnimGraphInstance*(size_t index));
  90. MOCK_METHOD1(ReserveNumAnimGraphInstances, void(size_t numInstances));
  91. MOCK_METHOD1(AddAnimGraphInstance, void(AnimGraphInstance* animGraphInstance));
  92. MOCK_METHOD1(RemoveAnimGraphInstance, void(AnimGraphInstance* animGraphInstance));
  93. //void Lock();
  94. //void Unlock();
  95. //bool SaveToFile(const AZStd::string& filename, AZ::SerializeContext* context) const;
  96. //void RemoveInvalidConnections(bool logWarnings=false);
  97. };
  98. } // namespace EMotionFX