SZLOrderedPartitionedZoneWriter.h 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #pragma once
  2. #include "ThirdPartyHeadersBegin.h"
  3. #include <map>
  4. #include <vector>
  5. #include <boost/unordered_set.hpp>
  6. #include "ThirdPartyHeadersEnd.h"
  7. #include "SZLOrderedPartitionedZoneHeaderWriter.h"
  8. #include "IJKPartitionTree.h"
  9. #include "IJKZoneInfo.h"
  10. #include "PartitionTecUtilDecorator.h"
  11. #include "ZoneWriterAbstract.h"
  12. namespace tecplot
  13. {
  14. namespace ___3933
  15. {
  16. class ___1352;
  17. class ZoneInfoCache;
  18. class ItemSetIterator;
  19. class SZLOrderedPartitionedZoneWriter : public ___4709
  20. {
  21. public:
  22. SZLOrderedPartitionedZoneWriter(ItemSetIterator &varIter, ___4636 zone, ___4636 ___341, std::vector<___372> const &___4564, ___372 ___4499, ___37 &___36, ZoneInfoCache &zoneInfoCache);
  23. virtual ~SZLOrderedPartitionedZoneWriter();
  24. protected:
  25. typedef std::map<___2090::SubzoneOffset_t, std::vector<___2479>> SubzoneMinMaxMap;
  26. void applyCellMinMaxesToNeighborNodeSubzones(___2090::___2980 ___2977, std::vector<___1352> const &fieldDatas, std::vector<boost::shared_ptr<___1881>> &partitionInfos, ___1863 const &partitionTree);
  27. void getPartitionExtentsWithGhostNodes(___2090::___2980 ___2977, ___1844 &partitionMinIJK, ___1844 &partitionMaxIJK);
  28. void trimGhostNodes(___1844 &partitionMaxIJK);
  29. void getPartitionExtentsWithoutGhostNodes(___2090::___2980 ___2977, ___1844 &partitionMinIJK, ___1844 &partitionMaxIJK);
  30. void retrieveNodalFieldDataPtrsForPartition(___37 &partitionTecUtilDecorator, ___2090::___2980 ___2977, std::vector<___1352> &nodalFieldDatas);
  31. void throwIfBadIntersectionRange(___1855 const &intersectionRange, ___2090::___2980 ___2977, ___2090::___2980 neighborPartition);
  32. void getCellMinMaxes(std::vector<___2479> &cellMinMaxes, ___2227 ___462, ___1844 const &dimensions, std::vector<___1352> const &fieldDatas);
  33. virtual uint64_t zoneConnectivityFileSize(bool ___2002);
  34. virtual uint64_t zoneDataFileSize(bool ___2002);
  35. virtual uint64_t zoneHeaderFileSize(bool ___2002);
  36. virtual ___372 writeZoneConnectivity(FileWriterInterface &szpltFile);
  37. virtual ___372 writeZoneData(FileWriterInterface &szpltFile);
  38. virtual ___372 writeZoneHeader(FileWriterInterface &szpltFile);
  39. SZLOrderedPartitionedZoneHeaderWriter m_headerWriter;
  40. ZoneInfoCache &___2680;
  41. PartitionTecUtilDecorator m_partitionTecUtil;
  42. ___2240<int32_t> m_partitionFileNums;
  43. UInt64Array m_partitionHeaderFilePositions;
  44. UInt64Array m_partitionMinNodeNumbers;
  45. UInt64Array m_partitionMaxNodeNumbers;
  46. VarZoneMinMaxArray m_varPartitionMinMaxes;
  47. std::map<___4636, boost::shared_ptr<___4709>> m_partitionWriters;
  48. private:
  49. void exchangeGhostInfo(std::vector<boost::shared_ptr<___1881>> &partitionInfos, std::vector<___1864> const &___2981);
  50. void applyCellMinMaxesToNeighborsInRange(std::vector<___1864> const &neighborItems, ___2090::___2980 ___2977, ___1855 const &partitionRange, ___1844 const &partitionOffsetIJK, ___1844 const &partitionDimensionsIJK, std::vector<___1352> const &fieldDatas, std::vector<boost::shared_ptr<___1881>> &partitionInfos);
  51. void createPartitionWriters();
  52. };
  53. }
  54. }