12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- #pragma once
- #include "FileWriterInterface.h"
- namespace tecplot
- {
- namespace ___3933
- {
- class IntervalTree
- {
- UNCOPYABLE_CLASS(IntervalTree);
- public:
- typedef ___2090::SubzoneIndex_t TreeIndex_t;
- typedef std::vector<TreeIndex_t> TreeIndexVector;
- static TreeIndex_t const BAD_TREE_INDEX = ___2090::INVALID_SUBZONE_OFFSET;
- static TreeIndex_t const MAX_TREE_INDEX = ___2090::MAX_SUBZONE_OFFSET;
- private:
- struct TreeNode
- {
- double strikeValue;
- TreeIndex_t ___3681;
- TreeIndex_t size;
- TreeIndex_t left;
- TreeIndex_t right;
- ___372 operator==(TreeNode const &___2888) const { return strikeValue == ___2888.strikeValue && ___3681 == ___2888.___3681 && size == ___2888.size && left == ___2888.left && right == ___2888.right; }
- };
- TreeIndex_t m_root;
- TreeIndex_t m_numTreeNodes;
- std::vector<TreeNode> m_treeNodes;
- TreeIndex_t m_maxNumIntervalsReserved;
- TreeIndex_t m_curNumIntervals;
- std::vector<double> m_minimums;
- std::vector<double> m_maximums;
- TreeIndex_t m_numAlDhEntries;
- TreeIndexVector m_alEntries;
- TreeIndexVector m_dhEntries;
- double medianOfVector(std::vector<double> &arrayValues, TreeIndex_t ___2795);
- TreeIndex_t constructNode(TreeIndexVector const &list, TreeIndex_t ___2812);
- void queryNode(TreeIndex_t nodeOffset, double ___4314, TreeIndexVector &intervalList);
- ___372 minAscendingCompare(TreeIndex_t i, TreeIndex_t ___2105);
- ___372 maxDescendingCompare(TreeIndex_t i, TreeIndex_t ___2105);
- static ___372 encodeAsciiTreeNodeValue(char *str, TreeNode const &treeNode);
- ___372 ___4550(FileWriterInterface &file, char const *___972, ___4636 ___1251);
- ___372 ___4479(FileWriterInterface &file, char const *___972, ___4636 ___1251);
- ___372 ___4505(FileWriterInterface &file, char const *___972, ___4636 ___1251);
- public:
- IntervalTree() : m_root(BAD_TREE_INDEX), m_numTreeNodes(0), m_maxNumIntervalsReserved(0), m_curNumIntervals(0), m_numAlDhEntries(0) {}
- ~IntervalTree() {}
- ___372 addInterval(double minValue, double maxValue);
- ___372 addIntervalsMinMaxArray(TreeIndex_t numMinMaxes, ___2481 const &arrayMinMaxes);
- void queryIntervals(double ___4314, TreeIndexVector &intervalList);
- ___372 constructTree();
- ___372 writeTreeToFile(FileWriterInterface &file, ___1172 zone);
- ___372 readTreeFromFile(FileWriterInterface &file);
- };
- }
- }
|