#pragma once #include "FileWriterInterface.h" namespace tecplot { namespace ___3933 { class IntervalTree { UNCOPYABLE_CLASS(IntervalTree); public: typedef ___2090::SubzoneIndex_t TreeIndex_t; typedef std::vector 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 m_treeNodes; TreeIndex_t m_maxNumIntervalsReserved; TreeIndex_t m_curNumIntervals; std::vector m_minimums; std::vector m_maximums; TreeIndex_t m_numAlDhEntries; TreeIndexVector m_alEntries; TreeIndexVector m_dhEntries; double medianOfVector(std::vector &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); }; } }