GeomValidators_ShapeType::TypeOfShape GeomValidators_ShapeType::shapeType(const std::string& theType)
{
if (MyShapeTypes.size() == 0) {
- MyShapeTypes["empty"] = Empty;
- MyShapeTypes["vertex"] = Vertex;
- MyShapeTypes["edge"] = Edge;
- MyShapeTypes["line"] = Line;
- MyShapeTypes["circle"] = Circle;
- MyShapeTypes["face"] = Face;
- MyShapeTypes["solid"] = Solid;
- MyShapeTypes["plane"] = Plane;
+ MyShapeTypes["empty"] = Empty;
+ MyShapeTypes["vertex"] = Vertex;
+ MyShapeTypes["edge"] = Edge;
+ MyShapeTypes["line"] = Line;
+ MyShapeTypes["circle"] = Circle;
+ MyShapeTypes["wire"] = Wire;
+ MyShapeTypes["face"] = Face;
+ MyShapeTypes["plane"] = Plane;
+ MyShapeTypes["shell"] = Shell;
+ MyShapeTypes["solid"] = Solid;
+ MyShapeTypes["compsolid"] = CompSolid;
+ MyShapeTypes["compound"] = Compound;
}
std::string aType = std::string(theType.c_str());
if (MyShapeTypes.find(aType) != MyShapeTypes.end())
return MyShapeTypes[aType];
-
+
Events_Error::send("Shape type defined in XML is not implemented!");
return AnyShape;
}
}
else {
switch (theShapeType) {
+ case Vertex:
+ aValid = theShape->isVertex();
+ break;
case Edge:
aValid = theShape->isEdge();
break;
- case Line:
- aValid = theShape->isEdge() && !GeomAPI_Curve(theShape).isCircle();
+ case Line:
+ aValid = theShape->isEdge() && !GeomAPI_Curve(theShape).isCircle();
break;
- case Circle:
- aValid = theShape->isEdge() && GeomAPI_Curve(theShape).isCircle();
+ case Circle:
+ aValid = theShape->isEdge() && GeomAPI_Curve(theShape).isCircle();
break;
- case Vertex:
- aValid = theShape->isVertex();
+ case Wire:
+ aValid = theShape->shapeType() == GeomAPI_Shape::WIRE;
+ break;
+ case Face:
+ aValid = theShape->isFace();
+ break;
+ case Shell:
+ aValid = theShape->shapeType() == GeomAPI_Shape::SHELL;
+ break;
+ case Solid:
+ aValid = theShape->isSolid() || theShape->isCompSolid() ||
+ theShape->isCompoundOfSolids();
+ break;
+ case CompSolid:
+ aValid = theShape->shapeType() == GeomAPI_Shape::COMPSOLID;
+ break;
+ case Compound:
+ aValid = theShape->isCompound();
+ break;
+ default:
+ aValid = false;
break;
- case Solid:
- aValid = theShape->isSolid() || theShape->isCompSolid() ||
- theShape->isCompoundOfSolids();
- break;
- case Face:
- aValid = theShape->isFace();
- break;
- case Compound:
- aValid = theShape->isCompound();
- break;
- default:
- aValid = false;
- break;
}
}
return aValid;