37 lines
2.2 KiB
C++
37 lines
2.2 KiB
C++
#pragma once
|
|
#include <string>
|
|
#include "../Defines.h"
|
|
class OctreeConverter
|
|
{
|
|
|
|
public:
|
|
// Calls ConvertTo for the required tree type based on the settings
|
|
static bool Convert();
|
|
|
|
// Given some destination type, tries to find some cache file that can be converted
|
|
static bool ConvertTo(std::string destinationType, unsigned8 destinationDepth, std::string dagFileName, bool verbose = false);
|
|
// Given a source and destination type, converts one to the other and stores the converted tree. Returns true if conversion succeeded
|
|
static bool Convert(std::string sourceType, std::string destinationType, unsigned8 sourceDepth, unsigned8 destinationDepth, std::string dagFileName, bool verbose = false);
|
|
static bool CanConvert(std::string sourceType, std::string destinationType, unsigned8 sourceDepth, unsigned8 destinationDept);
|
|
private:
|
|
|
|
static bool ConvertToStandard(std::string sourceType, unsigned8 sourceDepth, unsigned8 destinationDepth, std::string dagFileName, bool verbose = false);
|
|
static bool ConvertToHierarchicalColored(std::string sourceType, std::string destinationType, unsigned8 sourceDepth, unsigned8 destinationDepth, std::string dagFileName, bool verbose = false);
|
|
static bool ConvertToHierarchicalColorShift(std::string sourceType, std::string destinationType, unsigned8 sourceDepth, unsigned8 destinationDepth, std::string dagFileName, bool verbose = false);
|
|
static bool ConvertToUniqueIndex(std::string sourceType, std::string destinationType, unsigned8 sourceDepth, unsigned8 destinationDepth, std::string dagFileName, bool verbose = false);
|
|
|
|
static bool ConvertToOnlyMaterials(std::string sourceType, std::string destinationType, unsigned8 sourceDepth, unsigned8 destinationDepth, std::string dagFileName, bool verbose = false);
|
|
static bool ConvertToOnlyColors(std::string sourceType, std::string destinationType, unsigned8 destinationDepth, std::string dagFilename, bool verbose = false);
|
|
|
|
struct FileInfo{
|
|
|
|
std::string filename;
|
|
unsigned64 filesize;
|
|
std::string treeType;
|
|
unsigned8 depth;
|
|
|
|
FileInfo(std::string filename, std::string treetype, unsigned8 depth, unsigned64 filesize) : filename(filename), filesize(filesize), treeType(treetype), depth(depth) { }
|
|
};
|
|
};
|
|
|