MCPcopy Create free account
hub / github.com/IfcOpenShell/IfcOpenShell / getSurfaceStyle

Function getSurfaceStyle

src/ifcparse/IfcHierarchyHelper.cpp:482–498  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

480
481template <typename Schema>
482typename Schema::IfcSurfaceStyle* getSurfaceStyle(IfcHierarchyHelper<Schema>& file, double r, double g, double b, double a = 1.0) {
483 typename Schema::IfcColourRgb* colour = new typename Schema::IfcColourRgb(boost::none, r, g, b);
484 typename Schema::IfcSurfaceStyleRendering* rendering = a == 1.0
485 ? new typename Schema::IfcSurfaceStyleRendering(colour, boost::none, 0, 0, 0, 0, 0, 0, Schema::IfcReflectanceMethodEnum::IfcReflectanceMethod_FLAT)
486 : new typename Schema::IfcSurfaceStyleRendering(colour, 1.0 - a, 0, 0, 0, 0, 0, 0, Schema::IfcReflectanceMethodEnum::IfcReflectanceMethod_FLAT);
487
488 typename Schema::IfcSurfaceStyleElementSelect::list::ptr styles(new typename Schema::IfcSurfaceStyleElementSelect::list);
489 styles->push(rendering);
490 typename Schema::IfcSurfaceStyle* surface_style = new typename Schema::IfcSurfaceStyle(
491 boost::none, Schema::IfcSurfaceSide::IfcSurfaceSide_BOTH, styles);
492
493 file.addEntity(colour);
494 file.addEntity(rendering);
495 file.addEntity(surface_style);
496
497 return surface_style;
498}
499
500template <typename Schema>
501typename Schema::IfcPresentationStyleAssignment* addStyleAssignment_2x3(IfcHierarchyHelper<Schema>& file, double r, double g, double b, double a = 1.0) {

Callers

nothing calls this directly

Calls 2

addEntityMethod · 0.80
pushMethod · 0.45

Tested by

no test coverage detected