mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-17 14:02:27 +00:00
OcctNoCleanTriangulation CacheShapes PermissiveShapeReuse setting; Cgal conditional copy during triangulation; occt cheaper check for triangulation existance #6712
This commit is contained in:
@@ -344,6 +344,12 @@ namespace ifcopenshell {
|
||||
static constexpr bool defaultvalue = false;
|
||||
};
|
||||
|
||||
struct PermissiveShapeReuse : public SettingBase<PermissiveShapeReuse, bool> {
|
||||
static constexpr const char* const name = "permissive-shape-reuse";
|
||||
static constexpr const char* const description = "Traverse geometry-level transformations and apply to product-level placement in order to increase reuse of geometries";
|
||||
static constexpr bool defaultvalue = false;
|
||||
};
|
||||
|
||||
struct ForceSpaceTransparency : public SettingBase<ForceSpaceTransparency, double> {
|
||||
static constexpr const char* const name = "force-space-transparency";
|
||||
static constexpr const char* const description = "Overrides transparency of spaces in geometry output.";
|
||||
@@ -423,6 +429,18 @@ namespace ifcopenshell {
|
||||
static constexpr const char* const description = "Try to emit original edge face boundary edges instead of recomputed ones based on face normal. Falls back to triangulated data in case of boolean operands and faces with holes.";
|
||||
static constexpr bool defaultvalue = false;
|
||||
};
|
||||
|
||||
struct OcctNoCleanTriangulation : public SettingBase<OcctNoCleanTriangulation, bool, true> {
|
||||
static constexpr const char* const name = "no-clean-triangulation";
|
||||
static constexpr const char* const description = "Don't clean triangulations, might cause memory leaks";
|
||||
static constexpr bool defaultvalue = false;
|
||||
};
|
||||
|
||||
struct CacheShapes : public SettingBase<CacheShapes, bool> {
|
||||
static constexpr const char* const name = "cache-shapes";
|
||||
static constexpr const char* const description = "Experimental as not all topology hash functions fully implemented";
|
||||
static constexpr bool defaultvalue = false;
|
||||
};
|
||||
}
|
||||
|
||||
namespace impl {
|
||||
@@ -598,7 +616,7 @@ namespace ifcopenshell {
|
||||
};
|
||||
|
||||
class IFC_GEOM_API Settings : public SettingsContainer<
|
||||
std::tuple<MesherLinearDeflection, MesherAngularDeflection, ReorientShells, LengthUnit, PlaneUnit, Precision, OutputDimensionality, LayersetFirst, DisableBooleanResult, NoWireIntersectionCheck, NoWireIntersectionTolerance, PrecisionFactor, DebugBooleanOperations, BooleanAttempt2d, SurfaceColour, WeldVertices, UseWorldCoords, UnifyShapes, UseMaterialNames, ConvertBackUnits, ContextIds, ContextTypes, ContextIdentifiers, IteratorOutput, DisableOpeningSubtractions, ApplyDefaultMaterials, DontEmitNormals, GenerateUvs, ApplyLayerSets, UseElementHierarchy, ValidateQuantities, EdgeArrows, BuildingLocalPlacement, SiteLocalPlacement, ForceSpaceTransparency, CircleSegments, KeepBoundingBoxes, ComputeCurvature, FunctionStepType, FunctionStepParam, NoParallelMapping, ModelOffset, ModelRotation, TriangulationType, CgalEmitOriginalEdges>
|
||||
std::tuple<MesherLinearDeflection, MesherAngularDeflection, ReorientShells, LengthUnit, PlaneUnit, Precision, OutputDimensionality, LayersetFirst, DisableBooleanResult, NoWireIntersectionCheck, NoWireIntersectionTolerance, PrecisionFactor, DebugBooleanOperations, BooleanAttempt2d, SurfaceColour, WeldVertices, UseWorldCoords, UnifyShapes, UseMaterialNames, ConvertBackUnits, ContextIds, ContextTypes, ContextIdentifiers, IteratorOutput, DisableOpeningSubtractions, ApplyDefaultMaterials, DontEmitNormals, GenerateUvs, ApplyLayerSets, UseElementHierarchy, ValidateQuantities, EdgeArrows, BuildingLocalPlacement, SiteLocalPlacement, ForceSpaceTransparency, CircleSegments, KeepBoundingBoxes, ComputeCurvature, FunctionStepType, FunctionStepParam, NoParallelMapping, PermissiveShapeReuse, ModelOffset, ModelRotation, TriangulationType, CgalEmitOriginalEdges, OcctNoCleanTriangulation, CacheShapes>
|
||||
>
|
||||
{};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user