Go to the documentation of this file. 1 #ifndef CscEntityModelGlTFLoader_h
2 #define CscEntityModelGlTFLoader_h
9 #define CONSCIENCE_NODE_PREFIX "Conscience_"
10 #define CONSCIENCE_NODE_PREFIX_COMPRESSED "CS_"
26 unique_ptr<CscLogger> logger = CscLogger::getForCategory(
"CscEntityModelGlTFLoader");
29 template <
class TOutputData>
34 vector<pair<unsigned, CscJsonObjectReader *>> nodesJson = parser.
findNodesStartingBy(context, {fullPrefix, compressedPrefix});
38 for (
int i = 0;
i < nodesJson.size();
i++) {
41 unsigned nodeIndex = nodesJson.at(
i).first;
45 if (searchName ==
"") {
50 auto prefixEndPos = searchName.find(
"_", searchName.find(
"_") + 1);
51 if (prefixEndPos != string::npos) {
52 searchName.replace(0, prefixEndPos + 1, fullPrefix);
55 vector<string> *nodeNameTokens =
splitString(searchName,
"_");
59 double width = globalBBox.
max.
x - globalBBox.
min.
x;
60 double height = globalBBox.
max.
y - globalBBox.
min.
y;
61 double length = globalBBox.
max.
z - globalBBox.
min.
z;
64 int outputId = stoi(nodeNameTokens->at(2));
65 string pureNameIn =
"Conscience_" + nodeType +
"_" +
to_string(outputId);
67 auto temp =
new TOutputData(
71 dataList.push_back(temp);
73 delete nodeNameTokens;
double x
Definition: Csc3dTypes.h:368
NLOHMANN_BASIC_JSON_TPL_DECLARATION std::string to_string(const NLOHMANN_BASIC_JSON_TPL &j)
user-defined to_string function for JSON values
Definition: json.hpp:26470
Definition: CscGlTFParser.h:57
The CscPoint3d class represents a point in three-dimensional space. It is primarily used to denote a ...
Definition: Csc3dTypes.h:24
void computeBoundingBoxAndVerticesAndPolygons(GltfParseContext &context, BoundingBox &globalBBox, bool collectVerticesAndPolygons, vector< const CscPoint3d * > *vertices, vector< const CscPolygon * > *polygons, unsigned nodeIndex, CscJsonObjectReader &node)
Definition: CscGlTFParser.cpp:513
void sortByName(vector< pair< unsigned, CscJsonObjectReader * >> &nodes)
Definition: CscGlTFParser.cpp:589
Definition: CscEntityModel.h:54
Vec3 min
Definition: CscGlTFParser.h:58
vector< string > * splitString(const string &inputString, const string &delimiter, bool escapeDelimiterWithBackslash)
Definition: conscience_util.cpp:235
Definition: CscGlTFParser.h:28
CscEntityModelGlTFLoader()
Definition: CscEntityModelGlTFLoader.cpp:34
CscEntityModel * parseFromPath(const fs::path &filePath)
Definition: CscEntityModelGlTFLoader.cpp:39
#define CONSCIENCE_NODE_PREFIX_COMPRESSED
Definition: CscEntityModelGlTFLoader.h:10
Definition: CscGlTFParser.h:73
Vec3 max
Definition: CscGlTFParser.h:59
vector< pair< unsigned, CscJsonObjectReader * > > findNodesStartingBy(GltfParseContext &context, const vector< string > &searchNamePrefixes)
Definition: CscGlTFParser.cpp:523
Definition: CscEntityModelGlTFLoader.cpp:32
#define LOGGER_INFO(message)
Definition: conscience_log.h:199
double y
Definition: Csc3dTypes.h:368
#define CONSCIENCE_NODE_PREFIX
Definition: CscEntityModelGlTFLoader.h:9
#define LOGGER_ERROR(message)
Definition: conscience_log.h:201
Definition: CscEntityModelGlTFLoader.h:19
optional< string > getStringValue(const string &key)
Definition: json.cpp:206
double z
Definition: Csc3dTypes.h:368
int i
Definition: HybridAStar.cpp:191