mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-22 21:32:29 +00:00
Fixed a crash when accessing the wrappedValue of a simple type in a SELECT
This commit is contained in:
@@ -130,7 +130,7 @@ bool IfcGeom::convert(const Ifc2x3::IfcPolygonalBoundedHalfSpace::ptr& l, TopoDS
|
|||||||
convert(l->Position(),trsf);
|
convert(l->Position(),trsf);
|
||||||
TopoDS_Shape extrusion = BRepPrimAPI_MakePrism(BRepBuilderAPI_MakeFace(wire),gp_Vec(0,0,20000.0));
|
TopoDS_Shape extrusion = BRepPrimAPI_MakePrism(BRepBuilderAPI_MakeFace(wire),gp_Vec(0,0,20000.0));
|
||||||
gp_Trsf down; down.SetTranslation(gp_Vec(0,0,-10000.0));
|
gp_Trsf down; down.SetTranslation(gp_Vec(0,0,-10000.0));
|
||||||
extrusion.Move(trsf*down);
|
extrusion.Move(down*trsf);
|
||||||
shape = BRepAlgoAPI_Cut(extrusion,halfspace);
|
shape = BRepAlgoAPI_Cut(extrusion,halfspace);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -363,7 +363,9 @@ TokenArgument::operator std::vector<float>() const { throw IfcException("Argumen
|
|||||||
TokenArgument::operator std::vector<int>() const { throw IfcException("Argument is not a list of ints"); }
|
TokenArgument::operator std::vector<int>() const { throw IfcException("Argument is not a list of ints"); }
|
||||||
TokenArgument::operator std::vector<std::string>() const { throw IfcException("Argument is not a list of strings"); }
|
TokenArgument::operator std::vector<std::string>() const { throw IfcException("Argument is not a list of strings"); }
|
||||||
TokenArgument::operator IfcUtil::IfcSchemaEntity() const { return Ifc::EntityById(TokenFunc::asInt(token)); }
|
TokenArgument::operator IfcUtil::IfcSchemaEntity() const { return Ifc::EntityById(TokenFunc::asInt(token)); }
|
||||||
TokenArgument::operator SHARED_PTR<IfcUtil::IfcAbstractSelect>() const { return SHARED_PTR<IfcUtil::IfcAbstractSelect>( new IfcUtil::IfcEntitySelect(*this) ); }
|
TokenArgument::operator SHARED_PTR<IfcUtil::IfcAbstractSelect>() const {
|
||||||
|
return SHARED_PTR<IfcUtil::IfcAbstractSelect>( new IfcUtil::IfcEntitySelect(*this) );
|
||||||
|
}
|
||||||
TokenArgument::operator IfcEntities() const { throw IfcException("Argument is not a list of entities"); }
|
TokenArgument::operator IfcEntities() const { throw IfcException("Argument is not a list of entities"); }
|
||||||
unsigned int TokenArgument::Size() const { return 1; }
|
unsigned int TokenArgument::Size() const { return 1; }
|
||||||
ArgumentPtr TokenArgument::operator [] (unsigned int i) const { throw IfcException("Argument is not a list of arguments"); }
|
ArgumentPtr TokenArgument::operator [] (unsigned int i) const { throw IfcException("Argument is not a list of arguments"); }
|
||||||
@@ -379,8 +381,12 @@ EntityArgument::operator std::string() const { throw IfcException("Argument is n
|
|||||||
EntityArgument::operator std::vector<float>() const { throw IfcException("Argument is not a list of floats"); }
|
EntityArgument::operator std::vector<float>() const { throw IfcException("Argument is not a list of floats"); }
|
||||||
EntityArgument::operator std::vector<int>() const { throw IfcException("Argument is not a list of ints"); }
|
EntityArgument::operator std::vector<int>() const { throw IfcException("Argument is not a list of ints"); }
|
||||||
EntityArgument::operator std::vector<std::string>() const { throw IfcException("Argument is not a list of strings"); }
|
EntityArgument::operator std::vector<std::string>() const { throw IfcException("Argument is not a list of strings"); }
|
||||||
EntityArgument::operator IfcUtil::IfcSchemaEntity() const { return entity; }
|
EntityArgument::operator IfcUtil::IfcSchemaEntity() const {
|
||||||
EntityArgument::operator SHARED_PTR<IfcUtil::IfcAbstractSelect>() const { return SHARED_PTR<IfcUtil::IfcAbstractSelect>( new IfcUtil::IfcArgumentSelect(entity->type(),entity->entity->getArgument(0)) ); }
|
return SHARED_PTR<IfcUtil::IfcAbstractSelect>( new IfcUtil::IfcArgumentSelect(entity->type(),entity->entity->getArgument(0)) );
|
||||||
|
}
|
||||||
|
EntityArgument::operator SHARED_PTR<IfcUtil::IfcAbstractSelect>() const {
|
||||||
|
return SHARED_PTR<IfcUtil::IfcAbstractSelect>( new IfcUtil::IfcArgumentSelect(entity->type(),entity->entity->getArgument(0)) );
|
||||||
|
}
|
||||||
EntityArgument::operator IfcEntities() const { throw IfcException("Argument is not a list of entities"); }
|
EntityArgument::operator IfcEntities() const { throw IfcException("Argument is not a list of entities"); }
|
||||||
unsigned int EntityArgument::Size() const { return 1; }
|
unsigned int EntityArgument::Size() const { return 1; }
|
||||||
ArgumentPtr EntityArgument::operator [] (unsigned int i) const { throw IfcException("Argument is not a list of arguments"); }
|
ArgumentPtr EntityArgument::operator [] (unsigned int i) const { throw IfcException("Argument is not a list of arguments"); }
|
||||||
|
|||||||
Reference in New Issue
Block a user