BVB Source Codes

CRYENGINE Show SelectionTree.h Source code

Return Download CRYENGINE: download SelectionTree.h Source code - Download CRYENGINE Source code - Type:.h
  1. // Copyright 2001-2016 Crytek GmbH / Crytek Group. All rights reserved.
  2.  
  3. #ifndef __SelectionTree_h__
  4. #define __SelectionTree_h__
  5.  
  6. #pragma once
  7.  
  8. /*
  9.    This file implements the runtime portion of the selection tree.
  10.    It is also used as the tree template, and new trees are just assignments of this one.
  11.  */
  12.  
  13. #include "BlockyXml.h"
  14. #include "SelectionTreeNode.h"
  15. #include "SelectionVariables.h"
  16.  
  17. typedef uint32 SelectionTreeTemplateID;
  18.  
  19. class SelectionTreeTemplate;
  20. class SelectionTree
  21. {
  22.         typedef SelectionNodeID NodeID;
  23. public:
  24.         SelectionTree();
  25.         SelectionTree(const SelectionTreeTemplateID& templateID);
  26.         SelectionTree(const SelectionTree& selectionTree);
  27.  
  28.         void                           Clear();
  29.         void                           Reset();
  30.  
  31.         const SelectionNodeID&         Evaluate(const SelectionVariables& variables);
  32.  
  33.         SelectionNodeID                AddNode(const SelectionTreeNode& node);
  34.         SelectionTreeNode&             GetNode(const NodeID& nodeID);
  35.         const SelectionTreeNode&       GetNode(const NodeID& nodeID) const;
  36.         const SelectionNodeID&         GetCurrentNodeID() const;
  37.  
  38.         const SelectionTreeTemplateID& GetTemplateID() const;
  39.         const SelectionTreeTemplate&   GetTemplate() const;
  40.  
  41.         uint32                         GetNodeCount() const;
  42.         const SelectionTreeNode& GetNodeAt(uint32 index) const;
  43.  
  44.         void                     ReserveNodes(uint32 nodeCount);
  45.         bool                     Empty() const;
  46.         void                     Swap(SelectionTree& other);
  47.         void                     Validate();
  48.  
  49.         void                     Serialize(TSerialize ser);
  50.  
  51.         void                     DebugDraw() const;
  52.  
  53. private:
  54.         SelectionTreeTemplateID m_templateID;
  55.         SelectionTreeNodes      m_nodes;
  56.         NodeID                  m_currentNodeID;
  57. };
  58.  
  59. #endif
  60.  
downloadSelectionTree.h Source code - Download CRYENGINE Source code
Related Source Codes/Software:
postal - 2017-06-11
reactide - Reactide is the first dedicated IDE for React web ... 2017-06-11
rkt - rkt is a pod-native container engine for Linux. It... 2017-06-11
uWebSockets - Tiny WebSockets https://for... 2017-06-11
realworld - TodoMVC for the RealWorld - Exemplary fullstack Me... 2017-06-11
CRYENGINE - CRYENGINE is a powerful real-time game development... 2017-06-11
goreplay - GoReplay is an open-source tool for capturing and ... 2017-06-10
pyenv - Simple Python version management 2017-06-10
redux-saga - An alternative side effect model for Redux apps ... 2017-06-10
angular-starter - 2017-06-10

 Back to top