Salome HOME
projects
/
modules
/
shaper.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'Dev_1.1.0' of newgeom:newgeom into Dev_1.1.0
[modules/shaper.git]
/
src
/
PartSet
/
PartSet_Tools.cpp
diff --git
a/src/PartSet/PartSet_Tools.cpp
b/src/PartSet/PartSet_Tools.cpp
index 82675355b292f78aeec6255f5ac6ad880d81757a..b488201750a4866ff82aa1ff3d150af14b2a2223 100644
(file)
--- a/
src/PartSet/PartSet_Tools.cpp
+++ b/
src/PartSet/PartSet_Tools.cpp
@@
-465,13
+465,16
@@
ResultPtr PartSet_Tools::createFixedObjectByExternal(const TopoDS_Shape& theShap
// Create line
aMyFeature = theSketch->addFeature(SketchPlugin_Line::ID());
} else if (aAdaptor.GetType() == GeomAbs_Circle) {
// Create line
aMyFeature = theSketch->addFeature(SketchPlugin_Line::ID());
} else if (aAdaptor.GetType() == GeomAbs_Circle) {
- if (aAdaptor.IsClosed()) {
- // Create circle
- aMyFeature = theSketch->addFeature(SketchPlugin_Circle::ID());
- } else {
+ std::shared_ptr<GeomAPI_Edge> anEdge = std::shared_ptr<GeomAPI_Edge>(new GeomAPI_Edge);
+ anEdge->setImpl(new TopoDS_Shape(theShape));
+ if (anEdge->isArc()) {
// Create arc
aMyFeature = theSketch->addFeature(SketchPlugin_Arc::ID());
}
// Create arc
aMyFeature = theSketch->addFeature(SketchPlugin_Arc::ID());
}
+ else {
+ // Create circle
+ aMyFeature = theSketch->addFeature(SketchPlugin_Circle::ID());
+ }
}
if (aMyFeature) {
DataPtr aData = aMyFeature->data();
}
if (aMyFeature) {
DataPtr aData = aMyFeature->data();