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 |
template |
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->attribute |
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->attribute |
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->attribute |
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->attribute |
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::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 |
}
/// a vector of names for properties
std::vector |
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::optional |
inline const std::optional |
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 |
j = nlohmann::json{p.Red(), p.Green()
}
/// json array [R, G, B, A]; Quantity_C
inline void from_json(const nlohmann::j
{
std::vector |
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 |
template |
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 |
if (gConfig.contains(name))
{
const json& a = gConfig[name];
p = Parameter |
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 |
p.doc = j["doc"].get |
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 |
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 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 |
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 |
src/Geom/CollisionDetector.h: line 163-165 | src/Geom/CollisionDetector.h: line 172-174[31] |
void dealGeneralFuseException(const s
const std::vector |
const std::vector |
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 |
std::vector |
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 |
}
template |
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 |
std::shared_ptr |
src/Geom/GeometryProcessor.h: line 32-40 | src/PPP/CouplingMatrixBuilder.h: line 25-32[28] |
std::shared_ptr |
std::shared_ptr |
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 = getConst |
else if (contains("mySolids")) // als
{
auto shapes = getConst |
src/Geom/GeometryReader.h: line 761-764 | src/PPP/Reader.h: line 35-37 [27] |
myOutputData->setValue |
myOutputData = std::make_shared |
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 |
p.unit = j["unit"].get |
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_shared |
myOutputData->setValue |
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 |
const indexers consume(const ItemInde
{
std::vector |
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 |
Handle(XCAFDoc_ShapeTool) myShapeTool
Handle(XCAFDoc_ColorTool) myColorTool
Handle(XCAFDoc_MaterialTool) myMateri
std::vector |
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 |
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 |
for (unsigned int t = 0; t < myWorker
{
std::vector |
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 |
MapType |
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 |
VectorType |
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->get |
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 |