Sim C++

Sim C++ finds similarities within the code files.

File 1 File 2
src/Geom/GeometryShapeChecker.h: line 148-201 src/Geom/GeometryShapeChecker.h: line 202-255[144]
break; case BRepCheck_InvalidPointOnCurve: error_msg << ";Invalid point on curve break; case BRepCheck_InvalidPointOnCurveOnS error_msg << ";Invalid point on curve break; case BRepCheck_InvalidPointOnSurface: error_msg << ";Invalid point on surfa break; case BRepCheck_No3DCurve: error_msg << ";No 3D curve"; break; case BRepCheck_Multiple3DCurve: error_msg << ";Multiple 3D curve"; break; case BRepCheck_Invalid3DCurve: error_msg << ";Invalid 3D curve"; break; case BRepCheck_NoCurveOnSurface: error_msg << ";No curve on surface"; break; case BRepCheck_InvalidCurveOnSurface: error_msg << ";Invalid curve on surfa break; case BRepCheck_InvalidCurveOnClosedSu error_msg << ";Invalid curve on close break; case BRepCheck_InvalidSameRangeFlag: error_msg << ";Invalid same-range fla break; case BRepCheck_InvalidSameParameterFl error_msg << ";Invalid same-parameter break; case BRepCheck_InvalidDegeneratedFlag error_msg << ";Invalid degenerated fl break; case BRepCheck_FreeEdge: error_msg << ";Free edge"; break; case BRepCheck_InvalidMultiConnexity: error_msg << ";Invalid multi-connexit break; case BRepCheck_InvalidRange: error_msg << ";Invalid range"; break; case BRepCheck_EmptyWire: error_msg << ";Empty wire"; break; case BRepCheck_RedundantEdge: error_msg << ";Redundant edge"; break; case BRepCheck_SelfIntersectingWire: error_msg << ";Self-intersecting wire break; case BRepCheck_NoSurface: error_msg << ";No surface"; break; case BRepCheck_InvalidWire: error_msg << ";Invalid wires"; break; case BRepCheck_RedundantWire: error_msg << ";Redundant wires"; break; case BRepCheck_IntersectingWires: error_msg << ";Intersecting wires"; break; case BRepCheck_InvalidImbricationOfWi error_msg << ";Invalid imbrication of break; case BRepCheck_InvalidImbricationOfSh error_msg << ";BRepCheck_InvalidImbri break; case BRepCheck_EmptyShell: error_msg << ";Empty shell"; break; case BRepCheck_RedundantFace: error_msg << ";Redundant face"; break; case BRepCheck_UnorientableShape: error_msg << ";Unorientable shape"; break; case BRepCheck_NotClosed: error_msg << ";Not closed"; break; case BRepCheck_NotConnected: error_msg << ";Not connected"; break; case BRepCheck_SubshapeNotInShape: error_msg << ";Subshape not in shape" break; case BRepCheck_BadOrientation: error_msg << ";Bad orientation"; break; case BRepCheck_BadOrientationOfSubsha error_msg << ";Bad orientation of sub break; case BRepCheck_InvalidToleranceValue: error_msg << ";Invalid tolerance valu break; case BRepCheck_EnclosedRegion: error_msg << ";Enclosed region"; break; case BRepCheck_InvalidPolygonOnTriang error_msg << ";Invalid polygon on tri break; case BRepCheck_CheckFail: error_msg << ";Check failed";
src/Geom/GeometryReader.h: line 686-689 src/Geom/GeometryReader.h: line 690-693[94]
for (xp.Init(aShape, TopAbs_FACE, Top this->myOtherShapes[xp.Current().Hash for (xp.Init(aShape, TopAbs_WIRE, Top this->myOtherShapes[xp.Current().Hash for (xp.Init(aShape, TopAbs_EDGE, Top this->myOtherShapes[xp.Current().Hash for (xp.Init(aShape, TopAbs_VERTEX, T this->myOtherShapes[xp.Current().Hash
src/Geom/GeometryTypes.h: line 70-82 src/Geom/GeometryTypes.h: line 97-110[90]
Vertex = TopAbs_VERTEX }; NLOHMANN_JSON_SERIALIZE_ENUM(ShapeTyp {ShapeType::Shape, "Shape"}, {ShapeType::Compound, "Compound"}, {ShapeType::CompSolid, "CompSolid"}, {ShapeType::Solid, "Solid"}, {ShapeType::Shell, "Shell"}, {ShapeType::Wire, "Wire"}, {ShapeType::Face, "Face"}, {ShapeType::Edge, "Edge"}, {ShapeType::Vertex, "Vertex"}, }); TessellationError = 512 ///< failed t }; // then CollisionInfo can be implicit NLOHMANN_JSON_SERIALIZE_ENUM(ShapeErr {ShapeErrorType::NoError, "NoError"}, {ShapeErrorType::VolumeTooSmall, "Vol {ShapeErrorType::ItemInvisible, "Item {ShapeErrorType::BOPCheckFailed, "BOP {ShapeErrorType::Interference, "Inter {ShapeErrorType::Coincidence, "Coinci {ShapeErrorType::Enclosure, "Enclosur {ShapeErrorType::UnknownError, "Unkno {ShapeErrorType::TessellationError, " });
src/PPP/Processor.h: line 300-315 src/PPP/Processor.h: line 371-387 [81]
template const T attribu { if (myCharacteristics.contains(name)) { json& a = myCharacteristics[name]; if (a.contains("value")) { return a["value"].get(); // parame } else { return a.get(); } } else { template const T paramet { // unit conversion may be necessary l if (myConfig.contains(name)) { json& a = myConfig[name]; if (a.contains("value")) { return a["value"].get(); /// param } else { return a.get(); /// key-value pair } } else {
src/PPP/AsynchronousDispatcher.h: line 88-102 src/PPP/ParallelAccessor.h: line 164-178[76]
auto it = myRemainedItems.cbegin(); const auto& iend = myRemainedItems.ce for (ItemIndexType i = 0; i < nProduc { while (it != iend && isLocked(*it)) { it++; } if (it != iend) { myQueue.push(*it); lockItem(*it); it++; } } auto it = myRemainedItems.cbegin(); const auto& iend = myRemainedItems.ce for (ItemIndexType i = 0; i < myBatch { while (it != iend && isLocked(*it)) / { it++; } if (it != iend) { tmp.push_back(*it); lockItem(*it); it++; } }
src/PPP/ParallelAccessor.h: line 164-178 src/PPP/AsynchronousDispatcher.h: line 88-102[76]
auto it = myRemainedItems.cbegin(); const auto& iend = myRemainedItems.ce for (ItemIndexType i = 0; i < myBatch { while (it != iend && isLocked(*it)) / { it++; } if (it != iend) { tmp.push_back(*it); lockItem(*it); it++; } } auto it = myRemainedItems.cbegin(); const auto& iend = myRemainedItems.ce for (ItemIndexType i = 0; i < nProduc { while (it != iend && isLocked(*it)) { it++; } if (it != iend) { myQueue.push(*it); lockItem(*it); it++; } }
src/Geom/GeometryShapeChecker.h: line 202-228 src/Geom/GeometryShapeChecker.h: line 229-255[72]
break; case BRepCheck_NoSurface: error_msg << ";No surface"; break; case BRepCheck_InvalidWire: error_msg << ";Invalid wires"; break; case BRepCheck_RedundantWire: error_msg << ";Redundant wires"; break; case BRepCheck_IntersectingWires: error_msg << ";Intersecting wires"; break; case BRepCheck_InvalidImbricationOfWi error_msg << ";Invalid imbrication of break; case BRepCheck_InvalidImbricationOfSh error_msg << ";BRepCheck_InvalidImbri break; case BRepCheck_EmptyShell: error_msg << ";Empty shell"; break; case BRepCheck_RedundantFace: error_msg << ";Redundant face"; break; case BRepCheck_UnorientableShape: error_msg << ";Unorientable shape"; break; case BRepCheck_NotClosed: error_msg << ";Not closed"; break; case BRepCheck_NotConnected: error_msg << ";Not connected"; break; case BRepCheck_SubshapeNotInShape: error_msg << ";Subshape not in shape" break; case BRepCheck_BadOrientation: error_msg << ";Bad orientation"; break; case BRepCheck_BadOrientationOfSubsha error_msg << ";Bad orientation of sub break; case BRepCheck_InvalidToleranceValue: error_msg << ";Invalid tolerance valu break; case BRepCheck_EnclosedRegion: error_msg << ";Enclosed region"; break; case BRepCheck_InvalidPolygonOnTriang error_msg << ";Invalid polygon on tri break; case BRepCheck_CheckFail: error_msg << ";Check failed";
src/PPP/ThreadPoolExecutor.h: line 52-64 src/PPP/Executor.h: line 59-71 [71]
virtual void process() override { myProcessor->prepareInput(); const size_t NItems = myProcessor->in if (NItems == 0) { LOG_F(ERROR, "item count is zero in d } auto ip = myProcessor->attributeattribute virtual void process() override { myProcessor->prepareInput(); const size_t NItems = myProcessor->in if (NItems == 0) { LOG_F(ERROR, "no items are loaded for } auto ip = myProcessor->attributeattributeisCoupledOperation()
src/PPP/Executor.h: line 59-71 src/PPP/ThreadPoolExecutor.h: line 52-64[71]
virtual void process() override { myProcessor->prepareInput(); const size_t NItems = myProcessor->in if (NItems == 0) { LOG_F(ERROR, "no items are loaded for } auto ip = myProcessor->attributeattributeisCoupledOperation() virtual void process() override { myProcessor->prepareInput(); const size_t NItems = myProcessor->in if (NItems == 0) { LOG_F(ERROR, "item count is zero in d } auto ip = myProcessor->attributeattribute
src/Geom/GeometryProcessor.h: line 117-126 src/Geom/GeometryProcessor.h: line 126-134[62]
ShapeErrorType itemError(const ItemIn { if (myShapeErrors->find((*myShapeIDs) return (*myShapeErrors)[(*myShapeIDs) else return ShapeErrorType::NoError; } /// test before use the value of the inline const std::optional inline const std::optionalfind((*myShapeIDs)[in return (*myColorMap)[(*myShapeIDs)[in else return std::nullopt; } /// inline const std::optional
src/PPP/Processor.h: line 321-335 src/PPP/Processor.h: line 337-346 [59]
} /** Dependency management meta data r some processor must run after depende if some missing properties found in p this API cooperate with the `produced todo: register meta information in de */ std::vector requiredProp { std::vector myDependenci if (myCharacteristics.contains("requi { myDependencies = myCharacteristics["r } } /// a vector of names for properties std::vector producedProp { std::vector myProducts; if (myCharacteristics.contains("produ { myProducts = myCharacteristics["produ }
src/Geom/GeometryReader.h: line 103-107 src/Geom/GeometryReader.h: line 179-183[58]
if (Utilities::hasFileExt(file_name, Utilities::hasFileExt(file_name, "igs { this->readXCAFDoc(file_name); this->loadXCAFDoc(); if (Utilities::hasFileExt(file_name, Utilities::hasFileExt(file_name, "igs { this->readXCAFDoc(file_name); this->loadXCAFDoc(metadata);
src/Geom/GeometryTypes.h: line 94-104 src/PPP/WorkflowController.h: line 10-20[57]
Coincidence = 64, ///< identical shap Enclosure = 128, ///< a smaller shape UnknownError = 256, ///< equal to Col TessellationError = 512 ///< failed t }; // then CollisionInfo can be implicit NLOHMANN_JSON_SERIALIZE_ENUM(ShapeErr {ShapeErrorType::NoError, "NoError"}, {ShapeErrorType::VolumeTooSmall, "Vol {ShapeErrorType::ItemInvisible, "Item {ShapeErrorType::BOPCheckFailed, "BOP Unknown = 0, ///< default value, unkn Pipeline = 1, ///< single data source Tree = 2, ///< single data source, mu Graph = 3 ///< Directed acyclic graph }; NLOHMANN_JSON_SERIALIZE_ENUM(Topology {TopologyType::Unknown, "Unknown"}, {TopologyType::Pipeline, "Pipeline"}, {TopologyType::Tree, "True"}, {TopologyType::Graph, "Graph"},
src/PPP/WorkflowController.h: line 10-20 src/Geom/GeometryTypes.h: line 67-76[57]
Unknown = 0, ///< default value, unkn Pipeline = 1, ///< single data source Tree = 2, ///< single data source, mu Graph = 3 ///< Directed acyclic graph }; NLOHMANN_JSON_SERIALIZE_ENUM(Topology {TopologyType::Unknown, "Unknown"}, {TopologyType::Pipeline, "Pipeline"}, {TopologyType::Tree, "True"}, {TopologyType::Graph, "Graph"}, Wire = TopAbs_WIRE, Face = TopAbs_FACE, Edge = TopAbs_EDGE, Vertex = TopAbs_VERTEX }; NLOHMANN_JSON_SERIALIZE_ENUM(ShapeTyp {ShapeType::Shape, "Shape"}, {ShapeType::Compound, "Compound"}, {ShapeType::CompSolid, "CompSolid"}, {ShapeType::Solid, "Solid"},
src/Geom/GeometryProcessor.h: line 126-132 src/Geom/GeometryProcessor.h: line 134-140[53]
inline const std::optionalfind((*myShapeIDs)[in return (*myColorMap)[(*myShapeIDs)[in else return std::nullopt; } inline const std::optional { if (myMaterialMap->find((*myShapeIDs) return (*myMaterialMap)[(*myShapeIDs) else return std::nullopt; }
src/Geom/GeometryTypes.h: line 253-256 src/Geom/GeometryTypes.h: line 257-260[52]
j.at("volume").get_to(p.volume); j.at("area").get_to(p.area); j.at("perimeter").get_to(p.perimeter) j.at("tolerance").get_to(p.tolerance) j.at("solidCount").get_to(p.solidCoun j.at("faceCount").get_to(p.faceCount) j.at("edgeCount").get_to(p.edgeCount) j.at("centerOfMass").get_to(p.centerO
src/Geom/GeometryReader.h: line 737-740 src/Geom/GeometryReader.h: line 740-743[51]
sout << " ======= input geometry summ sout << " length of solids: " << mySo sout << " length of shells: " << mySh sout << " length of compounds: " << m sout << " length of compounds: " << m sout << " length of name map: " << my sout << " length of color map: " << m sout << " length of material map: " <
src/PPP/Parameter.h: line 51-52 src/Geom/GeometryTypes.h: line 245-247[49]
return json{{"type", p.type}, {"name" {"range", p.range}, {"unit", p.unit}, j = json{{"volume", p.volume}, {"area {"perimeter", p.perimeter}, {"toleran {"solidCount", p.solidCount}, {"faceC
src/PPP/SparseMatrix.h: line 80-86 src/PPP/SparseMatrix.h: line 93-99 [49]
bool hasElement(const size_t row, con { if (mat.size() >= row) { for (const auto& it : (*mat[row])) { if (col == it.first) T getElement(const size_t row, const { if (mat.size() >= row) { for (const auto& it : (*mat[row])) { if (col == it.first)
src/Geom/GeometrySearchBuilder.h: line 9-27 src/PPP/TypeDefs.h: line 37-55 [48]
using namespace PPP; /** * to specify search input criteria an * * CONSIDER: boundbox tree may be buil * need a relative tolerance like to j * */ enum class ShapeSearchType { UniqueId, ///!< geometry ID hashed fr GeometryFile, ///!< read the geometry BoundBox, ///!< axis align bound box, }; NLOHMANN_JSON_SERIALIZE_ENUM(ShapeSea {ShapeSearchType::UniqueId, "UniqueId {ShapeSearchType::GeometryFile, "Geom {ShapeSearchType::BoundBox, "BoundBox }); using namespace magic_enum; /** * Processing on CPU should be impleme * GPU is not supported yet (tensorflo * currently, only CPU is implemented. * */ enum class DevicePreference { CPU, ///< item count is small, but pr GPU, ///< GPU acceleration, suitable FPGA, ///< good for realtime data pro }; NLOHMANN_JSON_SERIALIZE_ENUM(DevicePr {DevicePreference::CPU, "CPU"}, {DevicePreference::GPU, "GPU"}, {DevicePreference::FPGA, "FPGA"}, });
src/PPP/TypeDefs.h: line 37-55 src/Geom/GeometrySearchBuilder.h: line 9-27[48]
using namespace magic_enum; /** * Processing on CPU should be impleme * GPU is not supported yet (tensorflo * currently, only CPU is implemented. * */ enum class DevicePreference { CPU, ///< item count is small, but pr GPU, ///< GPU acceleration, suitable FPGA, ///< good for realtime data pro }; NLOHMANN_JSON_SERIALIZE_ENUM(DevicePr {DevicePreference::CPU, "CPU"}, {DevicePreference::GPU, "GPU"}, {DevicePreference::FPGA, "FPGA"}, }); using namespace PPP; /** * to specify search input criteria an * * CONSIDER: boundbox tree may be buil * need a relative tolerance like to j * */ enum class ShapeSearchType { UniqueId, ///!< geometry ID hashed fr GeometryFile, ///!< read the geometry BoundBox, ///!< axis align bound box, }; NLOHMANN_JSON_SERIALIZE_ENUM(ShapeSea {ShapeSearchType::UniqueId, "UniqueId {ShapeSearchType::GeometryFile, "Geom {ShapeSearchType::BoundBox, "BoundBox });
src/Geom/GeometryReader.h: line 765-770 src/Geom/GeometryReader.h: line 771-776[48]
myOutputData->emplace("mySolidIDs", s myOutputData->emplace("myShapeErrors" // those three types are not used in myOutputData->emplace("myShells", std myOutputData->emplace("myCompounds", myOutputData->emplace("myOtherShapes" // STEP214 meta data myOutputData->emplace("myColorMap", s myOutputData->emplace("myMaterialMap" myOutputData->emplace
src/Geom/GeometryTypes.h: line 15-22 src/Geom/GeometryTypes.h: line 28-34[48]
j = nlohmann::json{xmin, ymin, zmin, } /// Bnd_Box: Standard_Real xmin, ymin, inline void from_json(const nlohmann::j { std::vector v = j; b.Update(v[0], v[1], v[2], v[3], v[4] j = nlohmann::json{p.Red(), p.Green() } /// json array [R, G, B, A]; Quantity_C inline void from_json(const nlohmann::j { std::vector v = j; b.SetValues(v[0], v[1], v[2], Quantit
src/Geom/GeometryProcessor.h: line 109-112 src/Geom/GeometryProcessor.h: line 117-120[47]
inline const std::string itemName(con { if (myNameMap->find((*myShapeIDs)[ind return (*myNameMap)[(*myShapeIDs)[ind ShapeErrorType itemError(const ItemIn { if (myShapeErrors->find((*myShapeIDs) return (*myShapeErrors)[(*myShapeIDs)
src/Geom/GeometryTypes.h: line 132-139 src/PPP/Logger.h: line 15-22 [47]
NLOHMANN_JSON_SERIALIZE_ENUM(Collisio {NoCollision, "NoCollision"}, {Clearance, "Clearance"}, {FaceContact, "FaceContact"}, {EdgeContact, "EdgeContact"}, {VertexContact, "VertexContact"}, {Interference, "Interference"}, {Coincidence, "Coincidence"}, NLOHMANN_JSON_SERIALIZE_ENUM(NamedVer {Verbosity_OFF, "OFF"}, {Verbosity_FATAL, "FATAL"}, /// progr {Verbosity_ERROR, "ERROR"}, /// red t {Verbosity_WARNING, "WARNING"}, /// y {Verbosity_INFO, "INFO"}, /// default {Verbosity_1, "PROGRESS"}, /// 1 for {Verbosity_2, "DEBUG"}, /// 2 for log
src/PPP/Logger.h: line 15-22 src/Geom/GeometryTypes.h: line 132-139[47]
NLOHMANN_JSON_SERIALIZE_ENUM(NamedVer {Verbosity_OFF, "OFF"}, {Verbosity_FATAL, "FATAL"}, /// progr {Verbosity_ERROR, "ERROR"}, /// red t {Verbosity_WARNING, "WARNING"}, /// y {Verbosity_INFO, "INFO"}, /// default {Verbosity_1, "PROGRESS"}, /// 1 for {Verbosity_2, "DEBUG"}, /// 2 for log NLOHMANN_JSON_SERIALIZE_ENUM(Collisio {NoCollision, "NoCollision"}, {Clearance, "Clearance"}, {FaceContact, "FaceContact"}, {EdgeContact, "EdgeContact"}, {VertexContact, "VertexContact"}, {Interference, "Interference"}, {Coincidence, "Coincidence"},
src/PPP/Processor.h: line 422-433 src/PPP/Processor.h: line 442-452 [47]
template const T paramet { Parameter p; if (myConfig.contains(name)) { const json& a = myConfig[name]; p = Parameter::fromJson(a); } else { LOG_F(ERROR, "parameter `%s` is not found in confi template const T paramet { Parameter p; if (myConfig.contains(name)) { const json& a = myConfig[name]; p = Parameter::fromJson(a); } else { LOG_F(WARNING, "parameter `%s` is not
src/Geom/GeometryTypes.h: line 105-110 src/PPP/TypeDefs.h: line 109-114 [47]
{ShapeErrorType::Interference, "Inter {ShapeErrorType::Coincidence, "Coinci {ShapeErrorType::Enclosure, "Enclosur {ShapeErrorType::UnknownError, "Unkno {ShapeErrorType::TessellationError, " }); {IndexPattern::LowerTriangle, "LowerT {IndexPattern::DenseMatrix, "DenseMat {IndexPattern::SparseMatrix, "SparseM {IndexPattern::FilteredMatrix, "Filte {IndexPattern::PartitionIdVector, "Pa });
src/Geom/GeometryReader.h: line 690-691 src/Geom/GeometryReader.h: line 692-693[47]
for (xp.Init(aShape, TopAbs_EDGE, Top this->myOtherShapes[xp.Current().Hash for (xp.Init(aShape, TopAbs_VERTEX, T this->myOtherShapes[xp.Current().Hash
src/PPP/Processor.h: line 445-452 src/PPP/Processor.h: line 477-484 [46]
if (myConfig.contains(name)) { const json& a = myConfig[name]; p = Parameter::fromJson(a); } else { LOG_F(WARNING, "parameter `%s` is not if (gConfig.contains(name)) { const json& a = gConfig[name]; p = Parameter::fromJson(a); } else { LOG_F(ERROR, "parameter %s is not fou
src/Geom/GeometryPropertyBuilder.h: line 48-62 src/Geom/GeometrySearchBuilder.h: line 105-129[45]
virtual void prepareOutput() override { // volumeCheck(); // dump(dataStoragePath("gproperties_ // report, save and display erroneous if (myConfig.contains("output")) { auto file_name = dataStoragePath(para writeMetaData(file_name); } else { LOG_F(WARNING, "user must provided ou } myOutputData->emplace("myGeometryProp virtual void prepareOutput() override { if (myConfig.contains("output")) { auto file_name = dataStoragePath(para writeResult(file_name); } else { LOG_F(WARNING, "user must provided ou } /* if (suppressMatched) { for (size_t r = 0; r < myFilterCount; { const auto& matched = myMatchedResult { // done in writeResult() } } } */ myOutputData->emplace
src/Geom/GeometrySearchBuilder.h: line 105-129 src/Geom/GeometryPropertyBuilder.h: line 48-62[45]
virtual void prepareOutput() override { if (myConfig.contains("output")) { auto file_name = dataStoragePath(para writeResult(file_name); } else { LOG_F(WARNING, "user must provided ou } /* if (suppressMatched) { for (size_t r = 0; r < myFilterCount; { const auto& matched = myMatchedResult { // done in writeResult() } } } */ myOutputData->emplace virtual void prepareOutput() override { // volumeCheck(); // dump(dataStoragePath("gproperties_ // report, save and display erroneous if (myConfig.contains("output")) { auto file_name = dataStoragePath(para writeMetaData(file_name); } else { LOG_F(WARNING, "user must provided ou } myOutputData->emplace("myGeometryProp
src/Geom/GeometrySearchBuilder.h: line 86-90 src/Geom/CollisionDetector.h: line 70-75[41]
GeometryProcessor::prepareInput(); if (myInputData->contains("myShapeOri myShapeOrientedBoundBoxes = myInputDa myGeometryProperties = myInputData->g myShapeBoundBoxes = myInputData->get< if (myInputData->contains("myShapeOri myShapeOrientedBoundBoxes = myInputDa myGeometryProperties = myInputData->g
src/Geom/CollisionDetector.h: line 70-75 src/Geom/GeometrySearchBuilder.h: line 86-90[41]
myShapeBoundBoxes = myInputData->get< if (myInputData->contains("myShapeOri myShapeOrientedBoundBoxes = myInputDa myGeometryProperties = myInputData->g GeometryProcessor::prepareInput(); if (myInputData->contains("myShapeOri myShapeOrientedBoundBoxes = myInputDa myGeometryProperties = myInputData->g
src/PPP/Parameter.h: line 30-33 src/PPP/Parameter.h: line 34-37 [40]
p.value = j["value"].get(); if (j.contains("name")) p.name = j["name"].get() if (j.contains("doc")) p.doc = j["doc"].get(); if (j.contains("unit")) p.unit = j["unit"].get() if (j.contains("range"))
src/Geom/GeometryTypes.h: line 245-248 src/PPP/Parameter.h: line 51-52 [40]
j = json{{"volume", p.volume}, {"area {"perimeter", p.perimeter}, {"toleran {"solidCount", p.solidCount}, {"faceC {"edgeCount", p.edgeCount}, {"centerO return json{{"type", p.type}, {"name" {"range", p.range}, {"unit", p.unit},
src/PPP/TypeDefs.h: line 99-109 src/Geom/GeometrySearchBuilder.h: line 19-26[39]
DenseMatrix, ///< 2D traverse, both o /// coupled operation SparseMatrix, ///< must provide a ind FilteredMatrix, ///< executor will ca }; NLOHMANN_JSON_SERIALIZE_ENUM(IndexPat {IndexPattern::Linear, "Linear"}, {IndexPattern::UpperTriangle, "UpperT {IndexPattern::LowerTriangle, "LowerT UniqueId, ///!< geometry ID hashed fr GeometryFile, ///!< read the geometry BoundBox, ///!< axis align bound box, }; NLOHMANN_JSON_SERIALIZE_ENUM(ShapeSea {ShapeSearchType::UniqueId, "UniqueId {ShapeSearchType::GeometryFile, "Geom {ShapeSearchType::BoundBox, "BoundBox
src/PPP/TypeDefs.h: line 110-114 src/PPP/WorkflowController.h: line 17-21[38]
{IndexPattern::DenseMatrix, "DenseMat {IndexPattern::SparseMatrix, "SparseM {IndexPattern::FilteredMatrix, "Filte {IndexPattern::PartitionIdVector, "Pa }); {TopologyType::Unknown, "Unknown"}, {TopologyType::Pipeline, "Pipeline"}, {TopologyType::Tree, "True"}, {TopologyType::Graph, "Graph"}, });
src/Geom/GeometryReader.h: line 479-483 src/Geom/GeometryReader.h: line 502-507[38]
if (Utilities::hasFileExt(file_name, { STEPCAFControl_Reader aReader; aReader.SetColorMode(true); aReader.SetNameMode(true); else if (Utilities::hasFileExt(file_n { // IGESControl_Controller::Init(); IGESCAFControl_Reader aReader; aReader.SetColorMode(true); aReader.SetNameMode(true);
src/Geom/GeometryReader.h: line 113-119 src/Geom/GeometryReader.h: line 185-191[37]
else if (Utilities::hasFileExt(file_n { this->readManifestFile(file_name); } else if (Utilities::hasFileExt(file_n { readBrep(file_name); else if (Utilities::hasFileExt(file_n { this->readFreeCADFile(file_name); } else if (Utilities::hasFileExt(file_n { readBrep(file_name, metadata);
src/Geom/OccUtils.h: line 54-66 src/Geom/OccUtils.h: line 94-97 [37]
GeomExport std::map /// based on axis-aligned boundbox ma GeomExport Standard_Boolean isCoincid /// two-step unifying: first unify ed /// deprecated: use glueFaces() inste GeomExport TopoDS_Shape unifyFaces(co /// the input shapes to be glued shou /// adapted from Geom module of Salom /// see the function `glueFaces` in G GeomExport TopoDS_Shape glueFaces(con GeomExport Standard_Real tolerance(co GeomExport Standard_Real distance(con GeomExport UniqueIdType uniqueId(cons GeomExport UniqueIdType uniqueId(cons
src/Geom/GeometryTypes.h: line 60-70 src/Geom/GeometryTypes.h: line 114-124[36]
enum class ShapeType { Shape = TopAbs_SHAPE, Compound = TopAbs_COMPOUND, CompSolid = TopAbs_COMPSOLID, Solid = TopAbs_SOLID, Shell = TopAbs_SHELL, Wire = TopAbs_WIRE, Face = TopAbs_FACE, Edge = TopAbs_EDGE, Vertex = TopAbs_VERTEX enum CollisionType { NoCollision = 0, ///< not related, XO Clearance = 1, ///< within a gap thre VertexContact = 2, ///< only share ve EdgeContact = 4, ///< share edge, but FaceContact = 8, ///< face contact, t WeakInterference = 16, ///< small int Interference = 32, ///< overlapping, Coincidence = 64, ///< identical shap Enclosure = 128, ///< a smaller shape
src/Geom/GeometryReader.h: line 263-269 src/Geom/GeometryReader.h: line 408-414[36]
} else { const char* ns = p["name"].get } else { const char* ns = p["name"].get
src/PPP/ThreadPoolExecutor.h: line 223-229 src/PPP/ThreadPoolExecutor.h: line 249-257[36]
for (auto indexer : ids[t]) // if the { if (dim == 2) myProcessor->processItemPair(indexer[ else myProcessor->processItem(indexer[0]); } for (auto indexer : ids) // if there { if (dim == 2) myProcessor->processItemPair(indexer[ else myProcessor->processItem(indexer[0]); // loglevel 1 means PROGRESS, disable // VLOG_F(PROGRESS, "processing pair }
src/Geom/GeometryProcessor.h: line 103-104 src/Geom/GeometryProcessor.h: line 111-112[36]
if (myShapeErrors && myShapeErrors->f return (*myShapeErrors)[(*myShapeIDs) if (myNameMap->find((*myShapeIDs)[ind return (*myNameMap)[(*myShapeIDs)[ind
src/Geom/GeometryReader.h: line 107-113 src/Geom/GeometryReader.h: line 183-189[36]
this->loadXCAFDoc(); } else if (Utilities::hasFileExt(file_n { this->readFreeCADFile(file_name); } else if (Utilities::hasFileExt(file_n this->loadXCAFDoc(metadata); } else if (Utilities::hasFileExt(file_n { this->readFreeCADFile(file_name); } else if (Utilities::hasFileExt(file_n
src/PPP/Processor.h: line 371-379 src/PPP/Processor.h: line 396-404 [35]
template const T paramet { // unit conversion may be necessary l if (myConfig.contains(name)) { json& a = myConfig[name]; if (a.contains("value")) { return a["value"].get(); /// param const json parameterJson(const std::s { // unit conversion may be necessary l if (myConfig.contains(name)) { json& a = myConfig[name]; if (a.contains("value")) { return a["value"]; /// parameter form
src/Geom/GeometryShapeChecker.h: line 341-344 src/Geom/GeometryShapeChecker.h: line 359-363[35]
const BOPAlgo_ListOfCheckResult& BOPR BOPAlgo_ListIteratorOfListOfCheckResu for (size_t j = 0; BOPResultsIt.More( { const auto& faultyShapes1 = result.Ge TopTools_ListIteratorOfListOfShape fa for (size_t k = 0; faultyShapes1It.Mo {
src/PPP/CommandLineProcessor.h: line 100-111 src/Geom/ProcessorSample.h: line 50-60[35]
virtual void prepareOutput() override { myOutputData->emplace virtual void prepareOutput() override { myOutputData->emplace
src/Geom/GeometryWriter.h: line 2-28 src/Geom/GeometryReader.h: line 2-55[35]
#ifndef PPP_GEOMETRY_WRITER_H #define PPP_GEOMETRY_WRITER_H #include "GeometryProcessor.h" #include "OccUtils.h" #include "PPP/Writer.h" namespace Geom { using namespace PPP; /// \ingroup Geom /** * \brief write out processed geometry */ class GeometryWriter : public Writer { TYPESYSTEM_HEADER(); private: /// @{ Handle(XCAFDoc_ShapeTool) myShapeTool Handle(XCAFDoc_ColorTool) myColorTool Handle(XCAFDoc_MaterialTool) myMateri #ifndef PPP_GEOMETRY_READER_H #define PPP_GEOMETRY_READER_H #include "GeometryData.h" #include "GeometryProcessor.h" #include "PPP/Reader.h" #include "OpenCascadeAll.h" namespace Geom { using namespace PPP; /// \ingroup Geom /** * read geometry file and generate Geo * must be in sequential mode, should * for the input manifest of multiple * * Aupported geometry file formats * + step/stp AP214(with material and * + IGES/igs: OpenCASCADE XCAF reader * + FreeCAD native format *.FCStd * + parallel preproessor output: *.br * + manifest.json textual format: a l * this json file must ended with "man * ```json * [{ * "material": "one_material", * "filename": "absolute_path or path_ * }, * { * "material": "another material", * "filename": "absolute_path or path_ * }] * ``` * Note: 1. filename key can be any st * but recommend to use just "filename * 2. currently all input geometry for */ class GeometryReader : public Reader { TYPESYSTEM_HEADER(); private: // some info/objects should be obtain // const PipelineController* myProces /// @{ Handle(XCAFApp_Application) hApp; // Handle(TDocStd_Document) hDoc; // lea Handle(XCAFDoc_ShapeTool) myShapeTool
src/Geom/GeometryReader.h: line 329-334 src/Geom/GeometryReader.h: line 409-414[35]
else { const char* ns = p["name"].get else { const char* ns = p["name"].get
src/Geom/ProcessorSample.h: line 50-60 src/PPP/CommandLineProcessor.h: line 100-111[35]
virtual void prepareOutput() override { myOutputData->emplace virtual void prepareOutput() override { myOutputData->emplace
src/Geom/GeometryReader.h: line 2-55 src/Geom/GeometryWriter.h: line 2-28[35]
#ifndef PPP_GEOMETRY_READER_H #define PPP_GEOMETRY_READER_H #include "GeometryData.h" #include "GeometryProcessor.h" #include "PPP/Reader.h" #include "OpenCascadeAll.h" namespace Geom { using namespace PPP; /// \ingroup Geom /** * read geometry file and generate Geo * must be in sequential mode, should * for the input manifest of multiple * * Aupported geometry file formats * + step/stp AP214(with material and * + IGES/igs: OpenCASCADE XCAF reader * + FreeCAD native format *.FCStd * + parallel preproessor output: *.br * + manifest.json textual format: a l * this json file must ended with "man * ```json * [{ * "material": "one_material", * "filename": "absolute_path or path_ * }, * { * "material": "another material", * "filename": "absolute_path or path_ * }] * ``` * Note: 1. filename key can be any st * but recommend to use just "filename * 2. currently all input geometry for */ class GeometryReader : public Reader { TYPESYSTEM_HEADER(); private: // some info/objects should be obtain // const PipelineController* myProces /// @{ Handle(XCAFApp_Application) hApp; // Handle(TDocStd_Document) hDoc; // lea Handle(XCAFDoc_ShapeTool) myShapeTool #ifndef PPP_GEOMETRY_WRITER_H #define PPP_GEOMETRY_WRITER_H #include "GeometryProcessor.h" #include "OccUtils.h" #include "PPP/Writer.h" namespace Geom { using namespace PPP; /// \ingroup Geom /** * \brief write out processed geometry */ class GeometryWriter : public Writer { TYPESYSTEM_HEADER(); private: /// @{ Handle(XCAFDoc_ShapeTool) myShapeTool Handle(XCAFDoc_ColorTool) myColorTool Handle(XCAFDoc_MaterialTool) myMateri
src/PPP/ProcessorResult.h: line 16-20 src/Geom/GeometryTypes.h: line 172-175[34]
}; inline void to_json(json& j, const Pr { j = json{{"status", p.status}, {"resu }; inline void to_json(json& j, const Co { j = json{{"firstIndex", p.first}, {"s
src/Geom/GeometryTypes.h: line 238-245 src/PPP/ProcessorResult.h: line 16-20[34]
}; /// enable automatic data conversion /// https://github.com/nlohmann/json# /// from_json() may not safe, use wit inline void to_json(json& j, const Ge { j = json{{"volume", p.volume}, {"area }; inline void to_json(json& j, const Pr { j = json{{"status", p.status}, {"resu
src/Geom/GeometryReader.h: line 484-489 src/Geom/GeometryReader.h: line 507-514[34]
aReader.SetMatMode(true); // aReader.SetLayerMode(true); if (aReader.ReadFile((Standard_CStrin { throw OSD_Exception("cannot read STEP } aReader.SetNameMode(true); // aReader.SetMatMode(true); // no su // IGESControl_Reader aReader; if (aReader.ReadFile((Standard_CStrin { throw OSD_Exception("cannot read IGES }
src/Geom/GeometryReader.h: line 350-352 src/PPP/Processor.h: line 501-503 [33]
fs::path fc_parser_path = Processor:: if (not fs::exists(fc_parser_path)) { fs::path py_monitor_path = Processor: if (not fs::exists(py_monitor_path)) {
src/Geom/GeometryTypes.h: line 175-175 src/Geom/GeometryTypes.h: line 245-246[33]
j = json{{"firstIndex", p.first}, {"s j = json{{"volume", p.volume}, {"area {"perimeter", p.perimeter}, {"toleran
src/Geom/GeometryReader.h: line 206-211 src/Geom/GeometryReader.h: line 313-318[33]
int solidCount = 0; TopExp_Explorer Ex(shape, TopAbs_SOLI while (Ex.More()) { const TopoDS_Shape& s = Ex.Current(); json pp = p; int solidCount = 0; TopExp_Explorer Ex(shape, TopAbs_SOLI while (Ex.More()) { const TopoDS_Shape& s = Ex.Current(); UniqueIdType gid = OccUtils::uniqueId
src/PPP/Processor.h: line 501-503 src/Geom/GeometryReader.h: line 350-352[33]
fs::path py_monitor_path = Processor: if (not fs::exists(py_monitor_path)) { fs::path fc_parser_path = Processor:: if (not fs::exists(fc_parser_path)) {
src/Geom/CollisionDetector.h: line 39-41 src/Geom/GeometrySearchBuilder.h: line 60-62[32]
std::shared_ptr> std::shared_ptr> std::shared_ptr> std::shared_ptr>
src/Geom/GeometryShapeChecker.h: line 229-240 src/Geom/GeometryShapeChecker.h: line 241-252[32]
break; case BRepCheck_NotClosed: error_msg << ";Not closed"; break; case BRepCheck_NotConnected: error_msg << ";Not connected"; break; case BRepCheck_SubshapeNotInShape: error_msg << ";Subshape not in shape" break; case BRepCheck_BadOrientation: error_msg << ";Bad orientation"; break; case BRepCheck_BadOrientationOfSubsha error_msg << ";Bad orientation of sub break; case BRepCheck_InvalidToleranceValue: error_msg << ";Invalid tolerance valu break; case BRepCheck_EnclosedRegion: error_msg << ";Enclosed region"; break; case BRepCheck_InvalidPolygonOnTriang error_msg << ";Invalid polygon on tri
src/Geom/GeometrySearchBuilder.h: line 60-62 src/Geom/CollisionDetector.h: line 39-41[32]
std::shared_ptr> std::shared_ptr> std::shared_ptr> std::shared_ptr>
src/Geom/CollisionDetector.h: line 163-165 src/Geom/CollisionDetector.h: line 172-174[31]
void dealGeneralFuseException(const s const std::vector item CollisionType solveErrorByDistanceChe const std::vector origI const std::vector orig size_t countType(const ItemIndexType
src/Geom/GeometrySearchBuilder.h: line 129-137 src/Geom/ProcessorSample.h: line 52-60[30]
myOutputData->emplace myOutputData->emplace
src/Geom/GeometrySearchBuilder.h: line 186-190 src/Geom/GeometrySearchBuilder.h: line 191-195[30]
const UniqueIdType uid = myUniqueIds[ matched[index] = matchUniqueId(s, uid } else if (myShapeSearchType == ShapeSe { const Bnd_Box& box = myBoundBoxes[r]; matched[index] = matchBoundBox(index, } else if (myShapeSearchType == ShapeSe {
src/Geom/CollisionDetector.h: line 133-136 src/Geom/CollisionDetector.h: line 136-138[30]
static bool hasCollision(const TopoDS /** using fusion volume to detect col static CollisionInfo detectCollision( std::vector volumes, d std::vector volumes, d static CollisionType detectCollisionT std::vector volumes, d
src/Geom/GeometryWriter.h: line 164-168 src/Geom/GeometryReader.h: line 116-119[30]
} else if (Utilities::hasFileExt(file_n { // LOG_F(INFO, "export Dataset pointe Handle(TDocStd_Document) aDoc = creat } else if (Utilities::hasFileExt(file_n { readBrep(file_name);
src/Geom/GeometryReader.h: line 770-774 src/Geom/GeometryReader.h: line 774-776[30]
myOutputData->emplace("myCompounds", myOutputData->emplace("myOtherShapes" // STEP214 meta data myOutputData->emplace("myColorMap", s myOutputData->emplace("myColorMap", s myOutputData->emplace("myMaterialMap" myOutputData->emplace
src/Geom/GeometryPropertyBuilder.h: line 108-114 src/Geom/GeometryPropertyBuilder.h: line 123-132[30]
} /// this dump only geometry propertie void dump(const std::string file_name { std::ofstream o(file_name); o << '[' << std::endl; } /// write meta data in json for solid /// suppressed Item will not have met /// if there is no name information, /// if there is no coloar or material void writeMetaData(const std::string { std::ofstream o(file_name); o << '[' << std::endl;
src/Geom/GeometryReader.h: line 187-190 src/Geom/GeometryReader.h: line 499-503[30]
this->readFreeCADFile(file_name); } else if (Utilities::hasFileExt(file_n { ret = aReader.Transfer(hDoc); // pi->EndScope(); } else if (Utilities::hasFileExt(file_n {
src/Geom/GeometryWriter.h: line 160-162 src/Geom/GeometryReader.h: line 189-191[30]
if (Utilities::hasFileExt(file_name, { exportCompound(file_name, scale); else if (Utilities::hasFileExt(file_n { readBrep(file_name, metadata);
src/Geom/GeometryReader.h: line 218-220 src/Geom/GeometryReader.h: line 265-267[30]
{ const char* ns = p["name"].get { const char* ns = p["name"].get
src/PPP/ProcessorTemplate.h: line 115-124 src/PPP/CommandLineProcessor.h: line 102-112[30]
myOutputData->emplace(myResultName, s } /** * \brief process data item in paralle * @param index: index to get/set item */ virtual void processItem(const ItemIn { myResultData[index] = myItemProcessor myOutputData->emplace
src/PPP/OperatorProxy.h: line 69-78 src/Geom/GeometryOperatorProxy.h: line 24-32[29]
} /// report the content virtual void report(const json& msg) { for (auto& op : myOperators) { // send request to show, then send fi op->report(msg); } } virtual void display(const json& msg) { for (auto& op : myOperators) { // send request to show, then send fi op->display(msg); }
src/PPP/OperatorProxy.h: line 59-68 src/PPP/OperatorProxy.h: line 69-78[29]
} /// display the content virtual void display(const json& msg) { for (auto& op : myOperators) { // send request to show, then send fi op->display(msg); } } /// report the content virtual void report(const json& msg) { for (auto& op : myOperators) { // send request to show, then send fi op->report(msg); }
src/Geom/GeometryShapeChecker.h: line 318-324 src/Geom/GeometryShapeChecker.h: line 330-335[29]
BOPCheck.SetShape1(BOPCopy); // BOPCheck.SetOperation(); // by def // all settings are false by default. BOPCheck.ArgumentTypeMode() = argumen BOPCheck.SelfInterMode() = selfInterM BOPCheck.SmallEdgeMode() = smallEdgeM BOPCheck.RebuildFaceMode() = rebuildF BOPCheck.SetRunParallel(!runSingleThr BOPCheck.TangentMode() = tangentMode; BOPCheck.MergeVertexMode() = mergeVer BOPCheck.MergeEdgeMode() = mergeEdgeM BOPCheck.CurveOnSurfaceMode() = curve
src/Geom/GeometryOperatorProxy.h: line 24-32 src/PPP/OperatorProxy.h: line 59-68[29]
} virtual void display(const json& msg) { for (auto& op : myOperators) { // send request to show, then send fi op->display(msg); } } /// display the content virtual void display(const json& msg) { for (auto& op : myOperators) { // send request to show, then send fi op->display(msg); }
src/PPP/Utilities.h: line 73-75 src/PPP/Utilities.h: line 84-86 [28]
}; template typ } template typ
src/PPP/UniqueId.h: line 114-117 src/PPP/UniqueId.h: line 118-121 [28]
for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { for (int k = 0; k < 3; k++) { for (int l = 0; l < 3; l++) {
src/PPP/CouplingMatrixBuilder.h: line 25-32 src/Geom/GeometryProcessor.h: line 32-40[28]
std::shared_ptr myTargetPr public: CouplingMatrixBuilder() { myCharacteristics["coupled"] = false; myCharacteristics["indexPattern"] = I myCharacteristics["producedProperties std::shared_ptr
src/Geom/GeometryProcessor.h: line 32-40 src/PPP/CouplingMatrixBuilder.h: line 25-32[28]
std::shared_ptr std::shared_ptr myTargetPr public: CouplingMatrixBuilder() { myCharacteristics["coupled"] = false; myCharacteristics["indexPattern"] = I myCharacteristics["producedProperties
src/Geom/GeometryTypes.h: line 168-175 src/Geom/GeometryTypes.h: line 192-201[28]
, value(_value) , type(_type) { } }; inline void to_json(json& j, const Co { j = json{{"firstIndex", p.first}, {"s : name(_name) , density(_density) { } }; inline void to_json(json& j, const Ma { // j = json{{"name", p.name}, {"densi j = p.name; // tmp change the output
src/Geom/GeometryTypes.h: line 207-210 src/Geom/GeometryTypes.h: line 251-254[28]
if (j.contains("name")) { j.at("name").get_to(p.name); j.at("density").get_to(p.density); inline void from_json(const json& j, { j.at("volume").get_to(p.volume); j.at("area").get_to(p.area);
src/Geom/GeometryData.h: line 34-38 src/Geom/GeometryData.h: line 39-43[27]
if (contains("myShapes")) { auto shapes = getConstsize(); } else if (contains("mySolids")) // als { auto shapes = getConstsize(); }
src/Geom/GeometryReader.h: line 761-764 src/PPP/Reader.h: line 35-37 [27]
myOutputData->setValue("my myOutputData->setItemCount(mySolids.s // emplace equal to the two step abov myOutputData->emplace("mySolids", std myOutputData = std::make_sharedsetItemCount(myFilePath myOutputData->emplace("myFilePaths",
src/Geom/OccUtils.h: line 89-92 src/Geom/OccUtils.h: line 92-95 [27]
GeomExport bool floatEqual(double a, GeomExport GeometryProperty geometryP GeomExport Standard_Real area(const T GeomExport Standard_Real perimeter(co GeomExport Standard_Real perimeter(co GeomExport Standard_Real volume(const GeomExport Standard_Real tolerance(co GeomExport Standard_Real distance(con
src/Geom/GeometryPropertyBuilder.h: line 104-105 src/Geom/GeometryShapeChecker.h: line 95-96[27]
auto df = generateDumpName("dump_smal OccUtils::saveShape({item(i)}, df); auto df = generateDumpName("dump_BOPC OccUtils::saveShape({item(i)}, df);
src/Geom/GeometryShapeChecker.h: line 95-96 src/Geom/GeometryPropertyBuilder.h: line 104-105[27]
auto df = generateDumpName("dump_BOPC OccUtils::saveShape({item(i)}, df); auto df = generateDumpName("dump_smal OccUtils::saveShape({item(i)}, df);
src/PPP/Parameter.h: line 34-35 src/PPP/Parameter.h: line 36-37 [27]
p.doc = j["doc"].get(); if (j.contains("unit")) p.unit = j["unit"].get() if (j.contains("range"))
src/Geom/GeometryReader.h: line 774-775 src/Geom/GeometryPropertyBuilder.h: line 62-63[27]
myOutputData->emplace("myColorMap", s myOutputData->emplace("myMaterialMap" myOutputData->emplace("myGeometryProp myOutputData->emplace("myGeometryUniq
src/PPP/Reader.h: line 35-37 src/Geom/GeometryReader.h: line 761-764[27]
myOutputData = std::make_sharedsetItemCount(myFilePath myOutputData->emplace("myFilePaths", myOutputData->setValue("my myOutputData->setItemCount(mySolids.s // emplace equal to the two step abov myOutputData->emplace("mySolids", std
src/Geom/OccUtils.h: line 80-84 src/Geom/OccUtils.h: line 85-89 [27]
GeomExport bool isBndBoxOverlapped(co /** gap can control overlapping, near GeomExport bool isBndBoxOverlapped(co /** detect if two shapes taking up th GeomExport bool isBndBoxCoincident(co Standard_Real reltolerance = 1e-2); GeomExport bool isBndBoxCoincident(co Standard_Real reltolerance = 1e-2); GeomExport bool floatEqual(double a,
src/Geom/GeometryPropertyBuilder.h: line 62-63 src/Geom/GeometryReader.h: line 764-765[27]
myOutputData->emplace("myGeometryProp myOutputData->emplace("myGeometryUniq myOutputData->emplace("mySolids", std myOutputData->emplace("mySolidIDs", s
src/PPP/ThreadPoolExecutor.h: line 183-188 src/PPP/AsynchronousDispatcher.h: line 72-77[26]
for (unsigned int t = 0; t < myWorker { std::vector ids; for (ItemIndexType i = 0; i < NItems; { if ((*myPartitionIds)[i] == t) const indexers consume(const ItemInde { std::vector a; for (ItemIndexType i = 0; i < nProduc { if (myQueue.size() > 0)
src/Geom/GeometryReader.h: line 660-661 src/Geom/GeometryReader.h: line 678-679[26]
for (xp.Init(aShape, TopAbs_SOLID); x { for (xp.Init(aShape, TopAbs_COMPOUND) {
src/Geom/GeometryWriter.h: line 103-106 src/Geom/GeometryReader.h: line 743-745[26]
sout << "count of result solids is " LOG_F(INFO, "%s", sout.str().c_str()) } sout << " length of material map: " < LOG_F(INFO, "%s", sout.str().c_str()) }
src/Geom/GeometryReader.h: line 55-60 src/Geom/GeometryWriter.h: line 26-31[26]
Handle(XCAFDoc_ShapeTool) myShapeTool Handle(XCAFDoc_ColorTool) myColorTool Handle(XCAFDoc_MaterialTool) myMateri std::vector myShapeLabels; std::set myRefShapes; Handle(XCAFDoc_ShapeTool) myShapeTool Handle(XCAFDoc_ColorTool) myColorTool Handle(XCAFDoc_MaterialTool) myMateri std::vector myShapeLabels; std::set myRefShape
src/Geom/GeometryReader.h: line 501-503 src/Geom/GeometryWriter.h: line 164-166[26]
} else if (Utilities::hasFileExt(file_n { } else if (Utilities::hasFileExt(file_n {
src/Geom/GeometryReader.h: line 743-745 src/Geom/GeometryWriter.h: line 103-106[26]
sout << " length of material map: " < LOG_F(INFO, "%s", sout.str().c_str()) } sout << "count of result solids is " LOG_F(INFO, "%s", sout.str().c_str()) }
src/PPP/CommandLineProcessor.h: line 87-93 src/Geom/CollisionDetector.h: line 75-78[26]
blocking = parameter("blocking" // input and output preparation /// prepare private properties like ` /// therefore accessing item will not myItemInputs.resize(myInputData->item myItemOutputs.resize(myInputData->ite myGeometryProperties = myInputData->g // resize() avoid reallocate memeroy myAdjacencyMatrix.resize(myInputData- myCollisionInfos.resize(myInputData->
src/Geom/GeometryTypes.h: line 257-258 src/Geom/GeometryTypes.h: line 259-260[26]
j.at("solidCount").get_to(p.solidCoun j.at("faceCount").get_to(p.faceCount) j.at("edgeCount").get_to(p.edgeCount) j.at("centerOfMass").get_to(p.centerO
src/PPP/AsynchronousDispatcher.h: line 72-77 src/PPP/ThreadPoolExecutor.h: line 183-188[26]
const indexers consume(const ItemInde { std::vector a; for (ItemIndexType i = 0; i < nProduc { if (myQueue.size() > 0) for (unsigned int t = 0; t < myWorker { std::vector ids; for (ItemIndexType i = 0; i < NItems; { if ((*myPartitionIds)[i] == t)
src/Geom/OccUtils.h: line 66-71 src/Geom/OccUtils.h: line 71-74 [25]
GeomExport TopoDS_Shape glueFaces(con GeomExport TopoDS_Compound createCompound(const ItemContainerTyp std::shared_ptr std::shared_ptr
src/PPP/CouplingMatrixBuilder.h: line 77-81 src/PPP/CouplingMatrixBuilder.h: line 87-90[25]
virtual void processItem(const std::s { const std::size_t NItems = myInputDat /// upper triangle for the matrix, al for (std::size_t j = index + 1; j < N virtual void process() override final { const std::size_t NItems = myInputDat for (std::size_t index = 0; index < N
src/PPP/SparseMatrix.h: line 163-166 src/PPP/UniqueId.h: line 159-163 [25]
os << std::setw(4); for (size_t i = 0; i < mat.size(); i+ { json jrow = json(); assert(values.size() == ID_ITEM_COUNT for (size_t i = 0; i < values.size(); { UniqueIdType tmp = double2uint16(valu
src/PPP/Reader.h: line 23-28 src/Geom/GeometryReader.h: line 74-82[25]
VectorType myFilePaths; public: virtual void process() override { std::string file_name = myConfig["dat MapType my // MapType mySupp /// @} public: virtual void process() override { std::string file_name = myConfig["dat
src/PPP/Writer.h: line 24-26 src/Geom/GeometryWriter.h: line 59-61[25]
if (!fs::path(file_name).is_absolute( file_name = dataStoragePath(file_name if (file_name.size() && myOutputData- if (not fs::path(file_name).is_absolu file_name = dataStoragePath(file_name if (file_name.size())
src/Geom/GeometryReader.h: line 74-82 src/PPP/Reader.h: line 23-28 [25]
MapType my // MapType mySupp /// @} public: virtual void process() override { std::string file_name = myConfig["dat VectorType myFilePaths; public: virtual void process() override { std::string file_name = myConfig["dat
src/Geom/GeometryReader.h: line 680-682 src/Geom/GeometryReader.h: line 693-694[25]
this->myCompounds[xp.Current().HashCo // solids should have been extracted } this->myOtherShapes[xp.Current().Hash }
src/Geom/GeometryProcessor.h: line 159-161 src/Geom/GeometrySearchBuilder.h: line 87-90[25]
myShapes = myInputData->getgetget if (myInputData->contains("myShapeOri myShapeOrientedBoundBoxes = myInputDa myGeometryProperties = myInputData->g
src/PPP/UniqueId.h: line 159-163 src/PPP/SparseMatrix.h: line 163-166[25]
assert(values.size() == ID_ITEM_COUNT for (size_t i = 0; i < values.size(); { UniqueIdType tmp = double2uint16(valu os << std::setw(4); for (size_t i = 0; i < mat.size(); i+ { json jrow = json();
src/Geom/GeometryWriter.h: line 59-61 src/PPP/Writer.h: line 24-26 [25]
if (not fs::path(file_name).is_absolu file_name = dataStoragePath(file_name if (file_name.size()) if (!fs::path(file_name).is_absolute( file_name = dataStoragePath(file_name if (file_name.size() && myOutputData-
src/Geom/GeometryReader.h: line 673-673 src/Geom/GeometryReader.h: line 678-678[25]
for (xp.Init(aShape, TopAbs_SHELL); x for (xp.Init(aShape, TopAbs_COMPOUND)
src/PPP/Context.h: line 27-30 src/PPP/Context.h: line 43-46 [25]
inline static const std::string worki { return Context::singleton()->myConfig } inline static std::size_t threadCount { return Context::singleton()->myConfig }
src/Geom/GeometryPropertyBuilder.h: line 123-132 src/PPP/SparseMatrix.h: line 153-162[24]
} /// write meta data in json for solid /// suppressed Item will not have met /// if there is no name information, /// if there is no coloar or material void writeMetaData(const std::string { std::ofstream o(file_name); o << '[' << std::endl; } /// write sparse matrix into a json f /// [{"colIndex": value, "colIndex": void toJson(const std::string file_na { /* tested but only for json textual f std::ofstream os(file_name); os << "[\n";
src/Geom/GeometryReader.h: line 674-674 src/Geom/GeometryReader.h: line 680-680[24]
this->myShells[xp.Current().HashCode( this->myCompounds[xp.Current().HashCo
src/PPP/CouplingMatrixBuilder.h: line 60-69 src/Geom/BoundBoxBuilder.h: line 41-45[24]
} /** * \brief preparing work in serial mod */ virtual void prepareOutput() override { // todo: if called in pipeline explic // myCouplingMatrix.writeMatrixMarket myOutputData->emplace("myCouplingMatr } virtual void prepareOutput() override { myOutputData->emplace("myShapeBoundBo
src/Geom/BoundBoxBuilder.h: line 41-45 src/PPP/CouplingMatrixBuilder.h: line 60-69[24]
} virtual void prepareOutput() override { myOutputData->emplace("myShapeBoundBo } /** * \brief preparing work in serial mod */ virtual void prepareOutput() override { // todo: if called in pipeline explic // myCouplingMatrix.writeMatrixMarket myOutputData->emplace("myCouplingMatr
src/Geom/GeometrySearchBuilder.h: line 160-169 src/Geom/GeometrySearchBuilder.h: line 192-201[24]
myFilterCount = myBoundBoxes.size(); } else if (myShapeSearchType == ShapeSe { // todo: single filename full path or } else { LOG_F(WARNING, "Geometry search input } matched[index] = matchBoundBox(index, } else if (myShapeSearchType == ShapeSe { // todo } else { LOG_F(WARNING, "Geometry search input }
src/PPP/SparseMatrix.h: line 153-162 src/Geom/GeometryPropertyBuilder.h: line 108-114[24]
} /// write sparse matrix into a json f /// [{"colIndex": value, "colIndex": void toJson(const std::string file_na { /* tested but only for json textual f std::ofstream os(file_name); os << "[\n"; } /// this dump only geometry propertie void dump(const std::string file_name { std::ofstream o(file_name); o << '[' << std::endl;
src/PPP/Processor.h: line 85-94 src/PPP/Processor.h: line 95-104 [24]
inline const Config characteristics() { return myCharacteristics; } /// deprecated this in favour of Proc void setInputInformation(std::shared_ { myInfo = info; } std::shared_ptr getOutpu { return myInfo; } /// set by builder void setOperator(std::shared_ptr