mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-17 10:59:17 +00:00
to_string() option, no shared_ptr in OpaqueCoord, add ConvResShape::vertices(), newell instead of simple cross product, create_epeck(double/str)
This commit is contained in:
@@ -58,6 +58,8 @@
|
||||
}
|
||||
}
|
||||
|
||||
%newobject IfcGeom::Representation::BRep::item;
|
||||
|
||||
%newobject IfcGeom::ConversionResultShape::halfspaces;
|
||||
%newobject IfcGeom::ConversionResultShape::box;
|
||||
%newobject IfcGeom::ConversionResultShape::solid;
|
||||
@@ -65,8 +67,18 @@
|
||||
%newobject IfcGeom::ConversionResultShape::subtract;
|
||||
%newobject IfcGeom::ConversionResultShape::intersect;
|
||||
%newobject IfcGeom::ConversionResultShape::moved;
|
||||
|
||||
%newobject IfcGeom::ConversionResultShape::area;
|
||||
%newobject IfcGeom::ConversionResultShape::volume;
|
||||
%newobject IfcGeom::ConversionResultShape::length;
|
||||
|
||||
%newobject nary_union;
|
||||
|
||||
%newobject IfcGeom::OpaqueNumber::operator+;
|
||||
%newobject IfcGeom::OpaqueNumber::operator-;
|
||||
%newobject IfcGeom::OpaqueNumber::operator*;
|
||||
%newobject IfcGeom::OpaqueNumber::operator/;
|
||||
|
||||
%include "../ifcgeom/ifc_geom_api.h"
|
||||
%include "../ifcgeom/Converter.h"
|
||||
%include "../ifcgeom/ConversionResult.h"
|
||||
@@ -640,15 +652,23 @@ struct ShapeRTTI : public boost::static_visitor<PyObject*>
|
||||
%template(OpaqueCoordinate_3) IfcGeom::OpaqueCoordinate<3>;
|
||||
%template(OpaqueCoordinate_4) IfcGeom::OpaqueCoordinate<4>;
|
||||
|
||||
%newobject create_epeck;
|
||||
|
||||
%inline %{
|
||||
std::shared_ptr<IfcGeom::OpaqueNumber> create_epeck(int i) {
|
||||
return std::make_shared<ifcopenshell::geometry::NumberEpeck>(i);
|
||||
IfcGeom::OpaqueNumber* create_epeck(int i) {
|
||||
return new ifcopenshell::geometry::NumberEpeck(i);
|
||||
}
|
||||
IfcGeom::OpaqueNumber* create_epeck(double d) {
|
||||
return new ifcopenshell::geometry::NumberEpeck(d);
|
||||
}
|
||||
IfcGeom::OpaqueNumber* create_epeck(const std::string& s) {
|
||||
return new ifcopenshell::geometry::NumberEpeck(typename CGAL::Epeck::FT::ET(s));
|
||||
}
|
||||
%}
|
||||
|
||||
%inline %{
|
||||
IfcGeom::ConversionResultShape* nary_union(PyObject* sequence) {
|
||||
CGAL::Nef_nary_union_3< CGAL::Nef_polyhedron_3<Kernel_> > accum;
|
||||
CGAL::Nef_nary_union_3< CGAL::Nef_polyhedron_3<CGAL::Epeck> > accum;
|
||||
for(Py_ssize_t i = 0; i < PySequence_Size(sequence); ++i) {
|
||||
PyObject* element = PySequence_GetItem(sequence, i);
|
||||
void* argp1 = nullptr;
|
||||
|
||||
@@ -52,9 +52,7 @@
|
||||
%include "std_vector.i"
|
||||
%include "std_string.i"
|
||||
%include "exception.i"
|
||||
%include "std_shared_ptr.i"
|
||||
|
||||
%shared_ptr(IfcGeom::OpaqueNumber);
|
||||
%ignore IfcGeom::NumberNativeDouble;
|
||||
%ignore ifcopenshell::geometry::Converter;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user