fix Coverity issues
This commit is contained in:
parent
d80c05e186
commit
d39bd4906b
|
@ -77,7 +77,7 @@ private:
|
||||||
throw Py::RuntimeError("No file extension");
|
throw Py::RuntimeError("No file extension");
|
||||||
|
|
||||||
throw Py::RuntimeError("Unknown file extension");
|
throw Py::RuntimeError("Unknown file extension");
|
||||||
return Py::None();
|
//return Py::None();
|
||||||
}
|
}
|
||||||
|
|
||||||
Py::Object insert(const Py::Tuple& args)
|
Py::Object insert(const Py::Tuple& args)
|
||||||
|
|
|
@ -62,7 +62,7 @@ using namespace Part;
|
||||||
TYPESYSTEM_SOURCE(Sketcher::Sketch, Base::Persistence)
|
TYPESYSTEM_SOURCE(Sketcher::Sketch, Base::Persistence)
|
||||||
|
|
||||||
Sketch::Sketch()
|
Sketch::Sketch()
|
||||||
: GCSsys(), ConstraintsCounter(0), isInitMove(false),
|
: SolveTime(0), GCSsys(), ConstraintsCounter(0), isInitMove(false), isFine(true),
|
||||||
defaultSolver(GCS::DogLeg),defaultSolverRedundant(GCS::DogLeg),debugMode(GCS::Minimal)
|
defaultSolver(GCS::DogLeg),defaultSolverRedundant(GCS::DogLeg),debugMode(GCS::Minimal)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -183,27 +183,27 @@ const char* nameByType(Sketch::GeoType type)
|
||||||
int Sketch::addGeometry(const Part::Geometry *geo, bool fixed)
|
int Sketch::addGeometry(const Part::Geometry *geo, bool fixed)
|
||||||
{
|
{
|
||||||
if (geo->getTypeId() == GeomPoint::getClassTypeId()) { // add a point
|
if (geo->getTypeId() == GeomPoint::getClassTypeId()) { // add a point
|
||||||
const GeomPoint *point = dynamic_cast<const GeomPoint*>(geo);
|
const GeomPoint *point = static_cast<const GeomPoint*>(geo);
|
||||||
// create the definition struct for that geom
|
// create the definition struct for that geom
|
||||||
return addPoint(*point, fixed);
|
return addPoint(*point, fixed);
|
||||||
} else if (geo->getTypeId() == GeomLineSegment::getClassTypeId()) { // add a line
|
} else if (geo->getTypeId() == GeomLineSegment::getClassTypeId()) { // add a line
|
||||||
const GeomLineSegment *lineSeg = dynamic_cast<const GeomLineSegment*>(geo);
|
const GeomLineSegment *lineSeg = static_cast<const GeomLineSegment*>(geo);
|
||||||
// create the definition struct for that geom
|
// create the definition struct for that geom
|
||||||
return addLineSegment(*lineSeg, fixed);
|
return addLineSegment(*lineSeg, fixed);
|
||||||
} else if (geo->getTypeId() == GeomCircle::getClassTypeId()) { // add a circle
|
} else if (geo->getTypeId() == GeomCircle::getClassTypeId()) { // add a circle
|
||||||
const GeomCircle *circle = dynamic_cast<const GeomCircle*>(geo);
|
const GeomCircle *circle = static_cast<const GeomCircle*>(geo);
|
||||||
// create the definition struct for that geom
|
// create the definition struct for that geom
|
||||||
return addCircle(*circle, fixed);
|
return addCircle(*circle, fixed);
|
||||||
} else if (geo->getTypeId() == GeomEllipse::getClassTypeId()) { // add a ellipse
|
} else if (geo->getTypeId() == GeomEllipse::getClassTypeId()) { // add a ellipse
|
||||||
const GeomEllipse *ellipse = dynamic_cast<const GeomEllipse*>(geo);
|
const GeomEllipse *ellipse = static_cast<const GeomEllipse*>(geo);
|
||||||
// create the definition struct for that geom
|
// create the definition struct for that geom
|
||||||
return addEllipse(*ellipse, fixed);
|
return addEllipse(*ellipse, fixed);
|
||||||
} else if (geo->getTypeId() == GeomArcOfCircle::getClassTypeId()) { // add an arc
|
} else if (geo->getTypeId() == GeomArcOfCircle::getClassTypeId()) { // add an arc
|
||||||
const GeomArcOfCircle *aoc = dynamic_cast<const GeomArcOfCircle*>(geo);
|
const GeomArcOfCircle *aoc = static_cast<const GeomArcOfCircle*>(geo);
|
||||||
// create the definition struct for that geom
|
// create the definition struct for that geom
|
||||||
return addArc(*aoc, fixed);
|
return addArc(*aoc, fixed);
|
||||||
} else if (geo->getTypeId() == GeomArcOfEllipse::getClassTypeId()) { // add an arc
|
} else if (geo->getTypeId() == GeomArcOfEllipse::getClassTypeId()) { // add an arc
|
||||||
const GeomArcOfEllipse *aoe = dynamic_cast<const GeomArcOfEllipse*>(geo);
|
const GeomArcOfEllipse *aoe = static_cast<const GeomArcOfEllipse*>(geo);
|
||||||
// create the definition struct for that geom
|
// create the definition struct for that geom
|
||||||
return addArcOfEllipse(*aoe, fixed);
|
return addArcOfEllipse(*aoe, fixed);
|
||||||
} else {
|
} else {
|
||||||
|
@ -594,19 +594,19 @@ Py::Tuple Sketch::getPyGeometry(void) const
|
||||||
Base::Vector3d temp(*(Points[it->startPointId].x),*(Points[it->startPointId].y),0);
|
Base::Vector3d temp(*(Points[it->startPointId].x),*(Points[it->startPointId].y),0);
|
||||||
tuple[i] = Py::asObject(new VectorPy(temp));
|
tuple[i] = Py::asObject(new VectorPy(temp));
|
||||||
} else if (it->type == Line) {
|
} else if (it->type == Line) {
|
||||||
GeomLineSegment *lineSeg = dynamic_cast<GeomLineSegment*>(it->geo->clone());
|
GeomLineSegment *lineSeg = static_cast<GeomLineSegment*>(it->geo->clone());
|
||||||
tuple[i] = Py::asObject(new LinePy(lineSeg));
|
tuple[i] = Py::asObject(new LinePy(lineSeg));
|
||||||
} else if (it->type == Arc) {
|
} else if (it->type == Arc) {
|
||||||
GeomArcOfCircle *aoc = dynamic_cast<GeomArcOfCircle*>(it->geo->clone());
|
GeomArcOfCircle *aoc = static_cast<GeomArcOfCircle*>(it->geo->clone());
|
||||||
tuple[i] = Py::asObject(new ArcOfCirclePy(aoc));
|
tuple[i] = Py::asObject(new ArcOfCirclePy(aoc));
|
||||||
} else if (it->type == Circle) {
|
} else if (it->type == Circle) {
|
||||||
GeomCircle *circle = dynamic_cast<GeomCircle*>(it->geo->clone());
|
GeomCircle *circle = static_cast<GeomCircle*>(it->geo->clone());
|
||||||
tuple[i] = Py::asObject(new CirclePy(circle));
|
tuple[i] = Py::asObject(new CirclePy(circle));
|
||||||
} else if (it->type == Ellipse) {
|
} else if (it->type == Ellipse) {
|
||||||
GeomEllipse *ellipse = dynamic_cast<GeomEllipse*>(it->geo->clone());
|
GeomEllipse *ellipse = static_cast<GeomEllipse*>(it->geo->clone());
|
||||||
tuple[i] = Py::asObject(new EllipsePy(ellipse));
|
tuple[i] = Py::asObject(new EllipsePy(ellipse));
|
||||||
} else if (it->type == ArcOfEllipse) {
|
} else if (it->type == ArcOfEllipse) {
|
||||||
GeomArcOfEllipse *ellipse = dynamic_cast<GeomArcOfEllipse*>(it->geo->clone());
|
GeomArcOfEllipse *ellipse = static_cast<GeomArcOfEllipse*>(it->geo->clone());
|
||||||
tuple[i] = Py::asObject(new ArcOfEllipsePy(ellipse));
|
tuple[i] = Py::asObject(new ArcOfEllipsePy(ellipse));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -922,7 +922,7 @@ int Sketch::addConstraint(const Constraint *constraint)
|
||||||
c.value, c.secondvalue);
|
c.value, c.secondvalue);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case None:
|
case Sketcher::None: // ambiguous enum value
|
||||||
case NumConstraintTypes:
|
case NumConstraintTypes:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -1993,13 +1993,13 @@ bool Sketch::updateGeometry()
|
||||||
for (std::vector<GeoDef>::const_iterator it=Geoms.begin(); it != Geoms.end(); ++it, i++) {
|
for (std::vector<GeoDef>::const_iterator it=Geoms.begin(); it != Geoms.end(); ++it, i++) {
|
||||||
try {
|
try {
|
||||||
if (it->type == Point) {
|
if (it->type == Point) {
|
||||||
GeomPoint *point = dynamic_cast<GeomPoint*>(it->geo);
|
GeomPoint *point = static_cast<GeomPoint*>(it->geo);
|
||||||
point->setPoint(Vector3d(*Points[it->startPointId].x,
|
point->setPoint(Vector3d(*Points[it->startPointId].x,
|
||||||
*Points[it->startPointId].y,
|
*Points[it->startPointId].y,
|
||||||
0.0)
|
0.0)
|
||||||
);
|
);
|
||||||
} else if (it->type == Line) {
|
} else if (it->type == Line) {
|
||||||
GeomLineSegment *lineSeg = dynamic_cast<GeomLineSegment*>(it->geo);
|
GeomLineSegment *lineSeg = static_cast<GeomLineSegment*>(it->geo);
|
||||||
lineSeg->setPoints(Vector3d(*Lines[it->index].p1.x,
|
lineSeg->setPoints(Vector3d(*Lines[it->index].p1.x,
|
||||||
*Lines[it->index].p1.y,
|
*Lines[it->index].p1.y,
|
||||||
0.0),
|
0.0),
|
||||||
|
@ -2014,7 +2014,7 @@ bool Sketch::updateGeometry()
|
||||||
// *myArc.start.y = *myArc.center.y + *myArc.rad * sin(*myArc.startAngle);
|
// *myArc.start.y = *myArc.center.y + *myArc.rad * sin(*myArc.startAngle);
|
||||||
// *myArc.end.x = *myArc.center.x + *myArc.rad * cos(*myArc.endAngle);
|
// *myArc.end.x = *myArc.center.x + *myArc.rad * cos(*myArc.endAngle);
|
||||||
// *myArc.end.y = *myArc.center.y + *myArc.rad * sin(*myArc.endAngle);
|
// *myArc.end.y = *myArc.center.y + *myArc.rad * sin(*myArc.endAngle);
|
||||||
GeomArcOfCircle *aoc = dynamic_cast<GeomArcOfCircle*>(it->geo);
|
GeomArcOfCircle *aoc = static_cast<GeomArcOfCircle*>(it->geo);
|
||||||
aoc->setCenter(Vector3d(*Points[it->midPointId].x,
|
aoc->setCenter(Vector3d(*Points[it->midPointId].x,
|
||||||
*Points[it->midPointId].y,
|
*Points[it->midPointId].y,
|
||||||
0.0)
|
0.0)
|
||||||
|
@ -2024,7 +2024,7 @@ bool Sketch::updateGeometry()
|
||||||
} else if (it->type == ArcOfEllipse) {
|
} else if (it->type == ArcOfEllipse) {
|
||||||
GCS::ArcOfEllipse &myArc = ArcsOfEllipse[it->index];
|
GCS::ArcOfEllipse &myArc = ArcsOfEllipse[it->index];
|
||||||
|
|
||||||
GeomArcOfEllipse *aoe = dynamic_cast<GeomArcOfEllipse*>(it->geo);
|
GeomArcOfEllipse *aoe = static_cast<GeomArcOfEllipse*>(it->geo);
|
||||||
|
|
||||||
Base::Vector3d center = Vector3d(*Points[it->midPointId].x, *Points[it->midPointId].y, 0.0);
|
Base::Vector3d center = Vector3d(*Points[it->midPointId].x, *Points[it->midPointId].y, 0.0);
|
||||||
Base::Vector3d f1 = Vector3d(*myArc.focus1.x, *myArc.focus1.y, 0.0);
|
Base::Vector3d f1 = Vector3d(*myArc.focus1.x, *myArc.focus1.y, 0.0);
|
||||||
|
@ -2044,7 +2044,7 @@ bool Sketch::updateGeometry()
|
||||||
aoe->setMajorAxisDir(fd);
|
aoe->setMajorAxisDir(fd);
|
||||||
aoe->setRange(*myArc.startAngle, *myArc.endAngle, /*emulateCCW=*/true);
|
aoe->setRange(*myArc.startAngle, *myArc.endAngle, /*emulateCCW=*/true);
|
||||||
} else if (it->type == Circle) {
|
} else if (it->type == Circle) {
|
||||||
GeomCircle *circ = dynamic_cast<GeomCircle*>(it->geo);
|
GeomCircle *circ = static_cast<GeomCircle*>(it->geo);
|
||||||
circ->setCenter(Vector3d(*Points[it->midPointId].x,
|
circ->setCenter(Vector3d(*Points[it->midPointId].x,
|
||||||
*Points[it->midPointId].y,
|
*Points[it->midPointId].y,
|
||||||
0.0)
|
0.0)
|
||||||
|
@ -2052,7 +2052,7 @@ bool Sketch::updateGeometry()
|
||||||
circ->setRadius(*Circles[it->index].rad);
|
circ->setRadius(*Circles[it->index].rad);
|
||||||
} else if (it->type == Ellipse) {
|
} else if (it->type == Ellipse) {
|
||||||
|
|
||||||
GeomEllipse *ellipse = dynamic_cast<GeomEllipse*>(it->geo);
|
GeomEllipse *ellipse = static_cast<GeomEllipse*>(it->geo);
|
||||||
|
|
||||||
Base::Vector3d center = Vector3d(*Points[it->midPointId].x, *Points[it->midPointId].y, 0.0);
|
Base::Vector3d center = Vector3d(*Points[it->midPointId].x, *Points[it->midPointId].y, 0.0);
|
||||||
Base::Vector3d f1 = Vector3d(*Ellipses[it->index].focus1.x, *Ellipses[it->index].focus1.y, 0.0);
|
Base::Vector3d f1 = Vector3d(*Ellipses[it->index].focus1.x, *Ellipses[it->index].focus1.y, 0.0);
|
||||||
|
|
|
@ -348,7 +348,10 @@ protected:
|
||||||
};
|
};
|
||||||
/// container element to store and work with the constraints of this sketch
|
/// container element to store and work with the constraints of this sketch
|
||||||
struct ConstrDef {
|
struct ConstrDef {
|
||||||
ConstrDef() : driving(true) {}
|
ConstrDef() : constr(0)
|
||||||
|
, driving(true)
|
||||||
|
, value(0)
|
||||||
|
, secondvalue(0) {}
|
||||||
Constraint * constr; // pointer to the constraint
|
Constraint * constr; // pointer to the constraint
|
||||||
bool driving;
|
bool driving;
|
||||||
double * value;
|
double * value;
|
||||||
|
|
|
@ -194,6 +194,7 @@ System::System()
|
||||||
, subSystems(0)
|
, subSystems(0)
|
||||||
, subSystemsAux(0)
|
, subSystemsAux(0)
|
||||||
, reference(0)
|
, reference(0)
|
||||||
|
, dofs(0)
|
||||||
, hasUnknowns(false)
|
, hasUnknowns(false)
|
||||||
, hasDiagnosis(false)
|
, hasDiagnosis(false)
|
||||||
, isInit(false)
|
, isInit(false)
|
||||||
|
|
|
@ -605,8 +605,10 @@ void CmdSketcherViewSketch::activated(int iMsg)
|
||||||
{
|
{
|
||||||
Gui::Document *doc = getActiveGuiDocument();
|
Gui::Document *doc = getActiveGuiDocument();
|
||||||
SketcherGui::ViewProviderSketch* vp = dynamic_cast<SketcherGui::ViewProviderSketch*>(doc->getInEdit());
|
SketcherGui::ViewProviderSketch* vp = dynamic_cast<SketcherGui::ViewProviderSketch*>(doc->getInEdit());
|
||||||
|
if (vp) {
|
||||||
doCommand(Gui,"Gui.ActiveDocument.ActiveView.setCameraOrientation(App.ActiveDocument.%s.Placement.Rotation.Q)"
|
doCommand(Gui,"Gui.ActiveDocument.ActiveView.setCameraOrientation(App.ActiveDocument.%s.Placement.Rotation.Q)"
|
||||||
,vp->getObject()->getNameInDocument());
|
,vp->getObject()->getNameInDocument());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CmdSketcherViewSketch::isActive(void)
|
bool CmdSketcherViewSketch::isActive(void)
|
||||||
|
|
|
@ -68,7 +68,7 @@ bool isCreateConstraintActive(Gui::Document *doc)
|
||||||
if (doc) {
|
if (doc) {
|
||||||
// checks if a Sketch Viewprovider is in Edit and is in no special mode
|
// checks if a Sketch Viewprovider is in Edit and is in no special mode
|
||||||
if (doc->getInEdit() && doc->getInEdit()->isDerivedFrom(SketcherGui::ViewProviderSketch::getClassTypeId())) {
|
if (doc->getInEdit() && doc->getInEdit()->isDerivedFrom(SketcherGui::ViewProviderSketch::getClassTypeId())) {
|
||||||
if (dynamic_cast<SketcherGui::ViewProviderSketch*>(doc->getInEdit())
|
if (static_cast<SketcherGui::ViewProviderSketch*>(doc->getInEdit())
|
||||||
->getSketchMode() == ViewProviderSketch::STATUS_NONE) {
|
->getSketchMode() == ViewProviderSketch::STATUS_NONE) {
|
||||||
if (Gui::Selection().countObjectsOfType(Sketcher::SketchObject::getClassTypeId()) > 0)
|
if (Gui::Selection().countObjectsOfType(Sketcher::SketchObject::getClassTypeId()) > 0)
|
||||||
return true;
|
return true;
|
||||||
|
@ -124,13 +124,6 @@ void openEditDatumDialog(Sketcher::SketchObject* sketch, int ConstrNbr)
|
||||||
}
|
}
|
||||||
|
|
||||||
// e.g. an angle or a distance X or Y applied on a line or two vertexes
|
// e.g. an angle or a distance X or Y applied on a line or two vertexes
|
||||||
if (Constr->Type == Sketcher::Angle ||
|
|
||||||
((Constr->Type == Sketcher::DistanceX || Constr->Type == Sketcher::DistanceY) &&
|
|
||||||
(Constr->FirstPos == Sketcher::none || Constr->Second != Sketcher::Constraint::GeoUndef)))
|
|
||||||
// hide negative sign
|
|
||||||
init_val.setValue(datum);
|
|
||||||
|
|
||||||
else // show negative sign
|
|
||||||
init_val.setValue(datum);
|
init_val.setValue(datum);
|
||||||
|
|
||||||
ui_ins_datum.labelEdit->setValue(init_val);
|
ui_ins_datum.labelEdit->setValue(init_val);
|
||||||
|
@ -214,7 +207,7 @@ void finishDistanceConstraint(Gui::Command* cmd, Sketcher::SketchObject* sketch,
|
||||||
Gui::Document *doc = cmd->getActiveGuiDocument();
|
Gui::Document *doc = cmd->getActiveGuiDocument();
|
||||||
float sf = 1.f;
|
float sf = 1.f;
|
||||||
if (doc && doc->getInEdit() && doc->getInEdit()->isDerivedFrom(SketcherGui::ViewProviderSketch::getClassTypeId())) {
|
if (doc && doc->getInEdit() && doc->getInEdit()->isDerivedFrom(SketcherGui::ViewProviderSketch::getClassTypeId())) {
|
||||||
SketcherGui::ViewProviderSketch *vp = dynamic_cast<SketcherGui::ViewProviderSketch*>(doc->getInEdit());
|
SketcherGui::ViewProviderSketch *vp = static_cast<SketcherGui::ViewProviderSketch*>(doc->getInEdit());
|
||||||
sf = vp->getScaleFactor();
|
sf = vp->getScaleFactor();
|
||||||
|
|
||||||
constr->LabelDistance = 2. * sf;
|
constr->LabelDistance = 2. * sf;
|
||||||
|
@ -509,11 +502,11 @@ int SketchSelection::setUp(void)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
SketchObj = dynamic_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
SketchObj = static_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
||||||
SketchSubNames = selection[0].getSubNames();
|
SketchSubNames = selection[0].getSubNames();
|
||||||
} else if(selection.size() == 2) {
|
} else if(selection.size() == 2) {
|
||||||
if(selection[0].getObject()->getTypeId().isDerivedFrom(Sketcher::SketchObject::getClassTypeId())){
|
if(selection[0].getObject()->getTypeId().isDerivedFrom(Sketcher::SketchObject::getClassTypeId())){
|
||||||
SketchObj = dynamic_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
SketchObj = static_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
||||||
// check if the none sketch object is the support of the sketch
|
// check if the none sketch object is the support of the sketch
|
||||||
if(selection[1].getObject() != SketchObj->Support.getValue()){
|
if(selection[1].getObject() != SketchObj->Support.getValue()){
|
||||||
ErrorMsg = QObject::tr("Only sketch and its support is allowed to select");
|
ErrorMsg = QObject::tr("Only sketch and its support is allowed to select");
|
||||||
|
@ -525,7 +518,7 @@ int SketchSelection::setUp(void)
|
||||||
SupportSubNames = selection[1].getSubNames();
|
SupportSubNames = selection[1].getSubNames();
|
||||||
|
|
||||||
} else if (selection[1].getObject()->getTypeId().isDerivedFrom(Sketcher::SketchObject::getClassTypeId())) {
|
} else if (selection[1].getObject()->getTypeId().isDerivedFrom(Sketcher::SketchObject::getClassTypeId())) {
|
||||||
SketchObj = dynamic_cast<Sketcher::SketchObject*>(selection[1].getObject());
|
SketchObj = static_cast<Sketcher::SketchObject*>(selection[1].getObject());
|
||||||
// check if the none sketch object is the support of the sketch
|
// check if the none sketch object is the support of the sketch
|
||||||
if(selection[0].getObject() != SketchObj->Support.getValue()){
|
if(selection[0].getObject() != SketchObj->Support.getValue()){
|
||||||
ErrorMsg = QObject::tr("Only sketch and its support is allowed to select");
|
ErrorMsg = QObject::tr("Only sketch and its support is allowed to select");
|
||||||
|
@ -580,7 +573,7 @@ void CmdSketcherConstrainHorizontal::activated(int iMsg)
|
||||||
|
|
||||||
// get the needed lists and objects
|
// get the needed lists and objects
|
||||||
const std::vector<std::string> &SubNames = selection[0].getSubNames();
|
const std::vector<std::string> &SubNames = selection[0].getSubNames();
|
||||||
Sketcher::SketchObject* Obj = dynamic_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
Sketcher::SketchObject* Obj = static_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
||||||
const std::vector< Sketcher::Constraint * > &vals = Obj->Constraints.getValues();
|
const std::vector< Sketcher::Constraint * > &vals = Obj->Constraints.getValues();
|
||||||
|
|
||||||
std::vector<int> ids;
|
std::vector<int> ids;
|
||||||
|
@ -677,7 +670,7 @@ void CmdSketcherConstrainVertical::activated(int iMsg)
|
||||||
|
|
||||||
// get the needed lists and objects
|
// get the needed lists and objects
|
||||||
const std::vector<std::string> &SubNames = selection[0].getSubNames();
|
const std::vector<std::string> &SubNames = selection[0].getSubNames();
|
||||||
Sketcher::SketchObject* Obj = dynamic_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
Sketcher::SketchObject* Obj = static_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
||||||
const std::vector< Sketcher::Constraint * > &vals = Obj->Constraints.getValues();
|
const std::vector< Sketcher::Constraint * > &vals = Obj->Constraints.getValues();
|
||||||
|
|
||||||
std::vector<int> ids;
|
std::vector<int> ids;
|
||||||
|
@ -773,7 +766,7 @@ void CmdSketcherConstrainLock::activated(int iMsg)
|
||||||
|
|
||||||
// get the needed lists and objects
|
// get the needed lists and objects
|
||||||
const std::vector<std::string> &SubNames = selection[0].getSubNames();
|
const std::vector<std::string> &SubNames = selection[0].getSubNames();
|
||||||
Sketcher::SketchObject* Obj = dynamic_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
Sketcher::SketchObject* Obj = static_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
||||||
|
|
||||||
if (SubNames.size() != 1) {
|
if (SubNames.size() != 1) {
|
||||||
QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Wrong selection"),
|
QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Wrong selection"),
|
||||||
|
@ -875,7 +868,7 @@ void CmdSketcherConstrainCoincident::activated(int iMsg)
|
||||||
|
|
||||||
// get the needed lists and objects
|
// get the needed lists and objects
|
||||||
const std::vector<std::string> &SubNames = selection[0].getSubNames();
|
const std::vector<std::string> &SubNames = selection[0].getSubNames();
|
||||||
Sketcher::SketchObject* Obj = dynamic_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
Sketcher::SketchObject* Obj = static_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
||||||
|
|
||||||
if (SubNames.size() < 2) {
|
if (SubNames.size() < 2) {
|
||||||
QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Wrong selection"),
|
QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Wrong selection"),
|
||||||
|
@ -967,7 +960,7 @@ void CmdSketcherConstrainDistance::activated(int iMsg)
|
||||||
|
|
||||||
// get the needed lists and objects
|
// get the needed lists and objects
|
||||||
const std::vector<std::string> &SubNames = selection[0].getSubNames();
|
const std::vector<std::string> &SubNames = selection[0].getSubNames();
|
||||||
Sketcher::SketchObject* Obj = dynamic_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
Sketcher::SketchObject* Obj = static_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
||||||
|
|
||||||
if (SubNames.size() < 1 || SubNames.size() > 2) {
|
if (SubNames.size() < 1 || SubNames.size() > 2) {
|
||||||
QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Wrong selection"),
|
QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Wrong selection"),
|
||||||
|
@ -1037,7 +1030,7 @@ void CmdSketcherConstrainDistance::activated(int iMsg)
|
||||||
const Part::Geometry *geom = Obj->getGeometry(GeoId2);
|
const Part::Geometry *geom = Obj->getGeometry(GeoId2);
|
||||||
if (geom->getTypeId() == Part::GeomLineSegment::getClassTypeId()) {
|
if (geom->getTypeId() == Part::GeomLineSegment::getClassTypeId()) {
|
||||||
const Part::GeomLineSegment *lineSeg;
|
const Part::GeomLineSegment *lineSeg;
|
||||||
lineSeg = dynamic_cast<const Part::GeomLineSegment*>(geom);
|
lineSeg = static_cast<const Part::GeomLineSegment*>(geom);
|
||||||
Base::Vector3d pnt1 = lineSeg->getStartPoint();
|
Base::Vector3d pnt1 = lineSeg->getStartPoint();
|
||||||
Base::Vector3d pnt2 = lineSeg->getEndPoint();
|
Base::Vector3d pnt2 = lineSeg->getEndPoint();
|
||||||
Base::Vector3d d = pnt2-pnt1;
|
Base::Vector3d d = pnt2-pnt1;
|
||||||
|
@ -1071,7 +1064,7 @@ void CmdSketcherConstrainDistance::activated(int iMsg)
|
||||||
const Part::Geometry *geom = Obj->getGeometry(GeoId1);
|
const Part::Geometry *geom = Obj->getGeometry(GeoId1);
|
||||||
if (geom->getTypeId() == Part::GeomLineSegment::getClassTypeId()) {
|
if (geom->getTypeId() == Part::GeomLineSegment::getClassTypeId()) {
|
||||||
const Part::GeomLineSegment *lineSeg;
|
const Part::GeomLineSegment *lineSeg;
|
||||||
lineSeg = dynamic_cast<const Part::GeomLineSegment*>(geom);
|
lineSeg = static_cast<const Part::GeomLineSegment*>(geom);
|
||||||
double ActLength = (lineSeg->getEndPoint()-lineSeg->getStartPoint()).Length();
|
double ActLength = (lineSeg->getEndPoint()-lineSeg->getStartPoint()).Length();
|
||||||
|
|
||||||
openCommand("add length constraint");
|
openCommand("add length constraint");
|
||||||
|
@ -1148,7 +1141,7 @@ void CmdSketcherConstrainPointOnObject::activated(int iMsg)
|
||||||
|
|
||||||
// get the needed lists and objects
|
// get the needed lists and objects
|
||||||
const std::vector<std::string> &SubNames = selection[0].getSubNames();
|
const std::vector<std::string> &SubNames = selection[0].getSubNames();
|
||||||
Sketcher::SketchObject* Obj = dynamic_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
Sketcher::SketchObject* Obj = static_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
||||||
|
|
||||||
//count curves and points
|
//count curves and points
|
||||||
std::vector<SelIdPair> points;
|
std::vector<SelIdPair> points;
|
||||||
|
@ -1234,7 +1227,7 @@ void CmdSketcherConstrainDistanceX::activated(int iMsg)
|
||||||
|
|
||||||
// get the needed lists and objects
|
// get the needed lists and objects
|
||||||
const std::vector<std::string> &SubNames = selection[0].getSubNames();
|
const std::vector<std::string> &SubNames = selection[0].getSubNames();
|
||||||
Sketcher::SketchObject* Obj = dynamic_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
Sketcher::SketchObject* Obj = static_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
||||||
|
|
||||||
if (SubNames.size() < 1 || SubNames.size() > 2) {
|
if (SubNames.size() < 1 || SubNames.size() > 2) {
|
||||||
QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Wrong selection"),
|
QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Wrong selection"),
|
||||||
|
@ -1392,7 +1385,7 @@ void CmdSketcherConstrainDistanceY::activated(int iMsg)
|
||||||
|
|
||||||
// get the needed lists and objects
|
// get the needed lists and objects
|
||||||
const std::vector<std::string> &SubNames = selection[0].getSubNames();
|
const std::vector<std::string> &SubNames = selection[0].getSubNames();
|
||||||
Sketcher::SketchObject* Obj = dynamic_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
Sketcher::SketchObject* Obj = static_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
||||||
|
|
||||||
if (SubNames.size() < 1 || SubNames.size() > 2) {
|
if (SubNames.size() < 1 || SubNames.size() > 2) {
|
||||||
QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Wrong selection"),
|
QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Wrong selection"),
|
||||||
|
@ -1549,7 +1542,7 @@ void CmdSketcherConstrainParallel::activated(int iMsg)
|
||||||
|
|
||||||
// get the needed lists and objects
|
// get the needed lists and objects
|
||||||
const std::vector<std::string> &SubNames = selection[0].getSubNames();
|
const std::vector<std::string> &SubNames = selection[0].getSubNames();
|
||||||
Sketcher::SketchObject* Obj = dynamic_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
Sketcher::SketchObject* Obj = static_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
||||||
|
|
||||||
// go through the selected subelements
|
// go through the selected subelements
|
||||||
|
|
||||||
|
@ -1970,7 +1963,7 @@ void CmdSketcherConstrainTangent::activated(int iMsg)
|
||||||
|
|
||||||
// get the needed lists and objects
|
// get the needed lists and objects
|
||||||
const std::vector<std::string> &SubNames = selection[0].getSubNames();
|
const std::vector<std::string> &SubNames = selection[0].getSubNames();
|
||||||
Sketcher::SketchObject* Obj = dynamic_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
Sketcher::SketchObject* Obj = static_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
||||||
|
|
||||||
if (SubNames.size() != 2 && SubNames.size() != 3){
|
if (SubNames.size() != 2 && SubNames.size() != 3){
|
||||||
strError = QObject::tr("Wrong number of selected objects!","tangent constraint");
|
strError = QObject::tr("Wrong number of selected objects!","tangent constraint");
|
||||||
|
@ -2224,7 +2217,7 @@ void CmdSketcherConstrainRadius::activated(int iMsg)
|
||||||
|
|
||||||
// get the needed lists and objects
|
// get the needed lists and objects
|
||||||
const std::vector<std::string> &SubNames = selection[0].getSubNames();
|
const std::vector<std::string> &SubNames = selection[0].getSubNames();
|
||||||
Sketcher::SketchObject* Obj = dynamic_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
Sketcher::SketchObject* Obj = static_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
||||||
|
|
||||||
if (SubNames.empty()) {
|
if (SubNames.empty()) {
|
||||||
QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Wrong selection"),
|
QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Wrong selection"),
|
||||||
|
@ -2241,12 +2234,12 @@ void CmdSketcherConstrainRadius::activated(int iMsg)
|
||||||
int GeoId = std::atoi(it->substr(4,4000).c_str()) - 1;
|
int GeoId = std::atoi(it->substr(4,4000).c_str()) - 1;
|
||||||
const Part::Geometry *geom = Obj->getGeometry(GeoId);
|
const Part::Geometry *geom = Obj->getGeometry(GeoId);
|
||||||
if (geom && geom->getTypeId() == Part::GeomArcOfCircle::getClassTypeId()) {
|
if (geom && geom->getTypeId() == Part::GeomArcOfCircle::getClassTypeId()) {
|
||||||
const Part::GeomArcOfCircle *arc = dynamic_cast<const Part::GeomArcOfCircle *>(geom);
|
const Part::GeomArcOfCircle *arc = static_cast<const Part::GeomArcOfCircle *>(geom);
|
||||||
double radius = arc->getRadius();
|
double radius = arc->getRadius();
|
||||||
geoIdRadiusMap.push_back(std::make_pair(GeoId, radius));
|
geoIdRadiusMap.push_back(std::make_pair(GeoId, radius));
|
||||||
}
|
}
|
||||||
else if (geom && geom->getTypeId() == Part::GeomCircle::getClassTypeId()) {
|
else if (geom && geom->getTypeId() == Part::GeomCircle::getClassTypeId()) {
|
||||||
const Part::GeomCircle *circle = dynamic_cast<const Part::GeomCircle *>(geom);
|
const Part::GeomCircle *circle = static_cast<const Part::GeomCircle *>(geom);
|
||||||
double radius = circle->getRadius();
|
double radius = circle->getRadius();
|
||||||
geoIdRadiusMap.push_back(std::make_pair(GeoId, radius));
|
geoIdRadiusMap.push_back(std::make_pair(GeoId, radius));
|
||||||
}
|
}
|
||||||
|
@ -2255,12 +2248,12 @@ void CmdSketcherConstrainRadius::activated(int iMsg)
|
||||||
int GeoId = -std::atoi(it->substr(12,4000).c_str()) - 2;
|
int GeoId = -std::atoi(it->substr(12,4000).c_str()) - 2;
|
||||||
const Part::Geometry *geom = Obj->getGeometry(GeoId);
|
const Part::Geometry *geom = Obj->getGeometry(GeoId);
|
||||||
if (geom && geom->getTypeId() == Part::GeomArcOfCircle::getClassTypeId()) {
|
if (geom && geom->getTypeId() == Part::GeomArcOfCircle::getClassTypeId()) {
|
||||||
const Part::GeomArcOfCircle *arc = dynamic_cast<const Part::GeomArcOfCircle *>(geom);
|
const Part::GeomArcOfCircle *arc = static_cast<const Part::GeomArcOfCircle *>(geom);
|
||||||
double radius = arc->getRadius();
|
double radius = arc->getRadius();
|
||||||
externalGeoIdRadiusMap.push_back(std::make_pair(GeoId, radius));
|
externalGeoIdRadiusMap.push_back(std::make_pair(GeoId, radius));
|
||||||
}
|
}
|
||||||
else if (geom && geom->getTypeId() == Part::GeomCircle::getClassTypeId()) {
|
else if (geom && geom->getTypeId() == Part::GeomCircle::getClassTypeId()) {
|
||||||
const Part::GeomCircle *circle = dynamic_cast<const Part::GeomCircle *>(geom);
|
const Part::GeomCircle *circle = static_cast<const Part::GeomCircle *>(geom);
|
||||||
double radius = circle->getRadius();
|
double radius = circle->getRadius();
|
||||||
externalGeoIdRadiusMap.push_back(std::make_pair(GeoId, radius));
|
externalGeoIdRadiusMap.push_back(std::make_pair(GeoId, radius));
|
||||||
}
|
}
|
||||||
|
@ -2303,7 +2296,7 @@ void CmdSketcherConstrainRadius::activated(int iMsg)
|
||||||
Gui::Document *doc = getActiveGuiDocument();
|
Gui::Document *doc = getActiveGuiDocument();
|
||||||
float sf = 1.f;
|
float sf = 1.f;
|
||||||
if (doc && doc->getInEdit() && doc->getInEdit()->isDerivedFrom(SketcherGui::ViewProviderSketch::getClassTypeId())) {
|
if (doc && doc->getInEdit() && doc->getInEdit()->isDerivedFrom(SketcherGui::ViewProviderSketch::getClassTypeId())) {
|
||||||
SketcherGui::ViewProviderSketch *vp = dynamic_cast<SketcherGui::ViewProviderSketch*>(doc->getInEdit());
|
SketcherGui::ViewProviderSketch *vp = static_cast<SketcherGui::ViewProviderSketch*>(doc->getInEdit());
|
||||||
sf = vp->getScaleFactor();
|
sf = vp->getScaleFactor();
|
||||||
|
|
||||||
for (std::size_t i=0; i<externalGeoIdRadiusMap.size();i++) {
|
for (std::size_t i=0; i<externalGeoIdRadiusMap.size();i++) {
|
||||||
|
@ -2381,7 +2374,7 @@ void CmdSketcherConstrainRadius::activated(int iMsg)
|
||||||
Gui::Document *doc = getActiveGuiDocument();
|
Gui::Document *doc = getActiveGuiDocument();
|
||||||
float sf = 1.f;
|
float sf = 1.f;
|
||||||
if (doc && doc->getInEdit() && doc->getInEdit()->isDerivedFrom(SketcherGui::ViewProviderSketch::getClassTypeId())) {
|
if (doc && doc->getInEdit() && doc->getInEdit()->isDerivedFrom(SketcherGui::ViewProviderSketch::getClassTypeId())) {
|
||||||
SketcherGui::ViewProviderSketch *vp = dynamic_cast<SketcherGui::ViewProviderSketch*>(doc->getInEdit());
|
SketcherGui::ViewProviderSketch *vp = static_cast<SketcherGui::ViewProviderSketch*>(doc->getInEdit());
|
||||||
sf = vp->getScaleFactor();
|
sf = vp->getScaleFactor();
|
||||||
|
|
||||||
for (std::size_t i=0; i<geoIdRadiusMap.size();i++) {
|
for (std::size_t i=0; i<geoIdRadiusMap.size();i++) {
|
||||||
|
@ -2548,7 +2541,7 @@ void CmdSketcherConstrainAngle::activated(int iMsg)
|
||||||
|
|
||||||
// get the needed lists and objects
|
// get the needed lists and objects
|
||||||
const std::vector<std::string> &SubNames = selection[0].getSubNames();
|
const std::vector<std::string> &SubNames = selection[0].getSubNames();
|
||||||
Sketcher::SketchObject* Obj = dynamic_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
Sketcher::SketchObject* Obj = static_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
||||||
|
|
||||||
if (SubNames.size() < 1 || SubNames.size() > 3) {
|
if (SubNames.size() < 1 || SubNames.size() > 3) {
|
||||||
//goto ExitWithMessage;
|
//goto ExitWithMessage;
|
||||||
|
@ -2646,8 +2639,8 @@ void CmdSketcherConstrainAngle::activated(int iMsg)
|
||||||
const Part::Geometry *geom2 = Obj->getGeometry(GeoId2);
|
const Part::Geometry *geom2 = Obj->getGeometry(GeoId2);
|
||||||
if (geom1->getTypeId() == Part::GeomLineSegment::getClassTypeId() &&
|
if (geom1->getTypeId() == Part::GeomLineSegment::getClassTypeId() &&
|
||||||
geom2->getTypeId() == Part::GeomLineSegment::getClassTypeId()) {
|
geom2->getTypeId() == Part::GeomLineSegment::getClassTypeId()) {
|
||||||
const Part::GeomLineSegment *lineSeg1 = dynamic_cast<const Part::GeomLineSegment*>(geom1);
|
const Part::GeomLineSegment *lineSeg1 = static_cast<const Part::GeomLineSegment*>(geom1);
|
||||||
const Part::GeomLineSegment *lineSeg2 = dynamic_cast<const Part::GeomLineSegment*>(geom2);
|
const Part::GeomLineSegment *lineSeg2 = static_cast<const Part::GeomLineSegment*>(geom2);
|
||||||
|
|
||||||
// find the two closest line ends
|
// find the two closest line ends
|
||||||
Sketcher::PointPos PosId1,PosId2;
|
Sketcher::PointPos PosId1,PosId2;
|
||||||
|
@ -2718,7 +2711,7 @@ void CmdSketcherConstrainAngle::activated(int iMsg)
|
||||||
const Part::Geometry *geom = Obj->getGeometry(GeoId1);
|
const Part::Geometry *geom = Obj->getGeometry(GeoId1);
|
||||||
if (geom->getTypeId() == Part::GeomLineSegment::getClassTypeId()) {
|
if (geom->getTypeId() == Part::GeomLineSegment::getClassTypeId()) {
|
||||||
const Part::GeomLineSegment *lineSeg;
|
const Part::GeomLineSegment *lineSeg;
|
||||||
lineSeg = dynamic_cast<const Part::GeomLineSegment*>(geom);
|
lineSeg = static_cast<const Part::GeomLineSegment*>(geom);
|
||||||
Base::Vector3d dir = lineSeg->getEndPoint()-lineSeg->getStartPoint();
|
Base::Vector3d dir = lineSeg->getEndPoint()-lineSeg->getStartPoint();
|
||||||
double ActAngle = atan2(dir.y,dir.x);
|
double ActAngle = atan2(dir.y,dir.x);
|
||||||
|
|
||||||
|
@ -2741,7 +2734,7 @@ void CmdSketcherConstrainAngle::activated(int iMsg)
|
||||||
}
|
}
|
||||||
else if (geom->getTypeId() == Part::GeomArcOfCircle::getClassTypeId()) {
|
else if (geom->getTypeId() == Part::GeomArcOfCircle::getClassTypeId()) {
|
||||||
const Part::GeomArcOfCircle *arc;
|
const Part::GeomArcOfCircle *arc;
|
||||||
arc = dynamic_cast<const Part::GeomArcOfCircle*>(geom);
|
arc = static_cast<const Part::GeomArcOfCircle*>(geom);
|
||||||
double startangle, endangle;
|
double startangle, endangle;
|
||||||
arc->getRange(startangle, endangle, /*EmulateCCWXY=*/true);
|
arc->getRange(startangle, endangle, /*EmulateCCWXY=*/true);
|
||||||
double angle = endangle - startangle;
|
double angle = endangle - startangle;
|
||||||
|
@ -2820,7 +2813,7 @@ void CmdSketcherConstrainEqual::activated(int iMsg)
|
||||||
|
|
||||||
// get the needed lists and objects
|
// get the needed lists and objects
|
||||||
const std::vector<std::string> &SubNames = selection[0].getSubNames();
|
const std::vector<std::string> &SubNames = selection[0].getSubNames();
|
||||||
Sketcher::SketchObject* Obj = dynamic_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
Sketcher::SketchObject* Obj = static_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
||||||
|
|
||||||
// go through the selected subelements
|
// go through the selected subelements
|
||||||
|
|
||||||
|
@ -2929,7 +2922,6 @@ void CmdSketcherConstrainSymmetric::activated(int iMsg)
|
||||||
{
|
{
|
||||||
// get the selection
|
// get the selection
|
||||||
std::vector<Gui::SelectionObject> selection = getSelection().getSelectionEx();
|
std::vector<Gui::SelectionObject> selection = getSelection().getSelectionEx();
|
||||||
Sketcher::SketchObject* Obj = dynamic_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
|
||||||
|
|
||||||
// only one sketch with its subelements are allowed to be selected
|
// only one sketch with its subelements are allowed to be selected
|
||||||
if (selection.size() != 1) {
|
if (selection.size() != 1) {
|
||||||
|
@ -2941,6 +2933,7 @@ void CmdSketcherConstrainSymmetric::activated(int iMsg)
|
||||||
|
|
||||||
// get the needed lists and objects
|
// get the needed lists and objects
|
||||||
const std::vector<std::string> &SubNames = selection[0].getSubNames();
|
const std::vector<std::string> &SubNames = selection[0].getSubNames();
|
||||||
|
Sketcher::SketchObject* Obj = static_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
||||||
|
|
||||||
if (SubNames.size() != 3 && SubNames.size() != 2) {
|
if (SubNames.size() != 3 && SubNames.size() != 2) {
|
||||||
QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Wrong selection"),
|
QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Wrong selection"),
|
||||||
|
@ -2955,7 +2948,7 @@ void CmdSketcherConstrainSymmetric::activated(int iMsg)
|
||||||
getIdsFromName(SubNames[1], Obj, GeoId2, PosId2);
|
getIdsFromName(SubNames[1], Obj, GeoId2, PosId2);
|
||||||
|
|
||||||
if (SubNames.size() == 2) {
|
if (SubNames.size() == 2) {
|
||||||
checkBothExternal(GeoId1, GeoId2);
|
//checkBothExternal(GeoId1, GeoId2);
|
||||||
if (isVertex(GeoId1,PosId1) && isEdge(GeoId2,PosId2)) {
|
if (isVertex(GeoId1,PosId1) && isEdge(GeoId2,PosId2)) {
|
||||||
std::swap(GeoId1,GeoId2);
|
std::swap(GeoId1,GeoId2);
|
||||||
std::swap(PosId1,PosId2);
|
std::swap(PosId1,PosId2);
|
||||||
|
@ -3109,7 +3102,7 @@ void CmdSketcherConstrainSnellsLaw::activated(int iMsg)
|
||||||
try{
|
try{
|
||||||
// get the selection
|
// get the selection
|
||||||
std::vector<Gui::SelectionObject> selection = getSelection().getSelectionEx();
|
std::vector<Gui::SelectionObject> selection = getSelection().getSelectionEx();
|
||||||
Sketcher::SketchObject* Obj = dynamic_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
Sketcher::SketchObject* Obj = static_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
||||||
|
|
||||||
// only one sketch with its subelements are allowed to be selected
|
// only one sketch with its subelements are allowed to be selected
|
||||||
if (selection.size() != 1) {
|
if (selection.size() != 1) {
|
||||||
|
@ -3257,7 +3250,7 @@ void CmdSketcherConstrainInternalAlignment::activated(int iMsg)
|
||||||
|
|
||||||
// get the needed lists and objects
|
// get the needed lists and objects
|
||||||
const std::vector<std::string> &SubNames = selection[0].getSubNames();
|
const std::vector<std::string> &SubNames = selection[0].getSubNames();
|
||||||
Sketcher::SketchObject* Obj = dynamic_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
Sketcher::SketchObject* Obj = static_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
||||||
|
|
||||||
// go through the selected subelements
|
// go through the selected subelements
|
||||||
if (SubNames.size() < 2) {
|
if (SubNames.size() < 2) {
|
||||||
|
|
|
@ -108,7 +108,7 @@ void ActivateHandler(Gui::Document *doc,DrawSketchHandler *handler)
|
||||||
if (doc) {
|
if (doc) {
|
||||||
if (doc->getInEdit() && doc->getInEdit()->isDerivedFrom
|
if (doc->getInEdit() && doc->getInEdit()->isDerivedFrom
|
||||||
(SketcherGui::ViewProviderSketch::getClassTypeId())) {
|
(SketcherGui::ViewProviderSketch::getClassTypeId())) {
|
||||||
SketcherGui::ViewProviderSketch* vp = dynamic_cast<SketcherGui::ViewProviderSketch*> (doc->getInEdit());
|
SketcherGui::ViewProviderSketch* vp = static_cast<SketcherGui::ViewProviderSketch*> (doc->getInEdit());
|
||||||
vp->purgeHandler();
|
vp->purgeHandler();
|
||||||
vp->activateHandler(handler);
|
vp->activateHandler(handler);
|
||||||
}
|
}
|
||||||
|
@ -1141,7 +1141,7 @@ protected:
|
||||||
// Use updated startPoint/endPoint as autoconstraints can modify the position
|
// Use updated startPoint/endPoint as autoconstraints can modify the position
|
||||||
const Part::Geometry *geom = sketchgui->getSketchObject()->getGeometry(GeoId);
|
const Part::Geometry *geom = sketchgui->getSketchObject()->getGeometry(GeoId);
|
||||||
if (geom->getTypeId() == Part::GeomLineSegment::getClassTypeId()) {
|
if (geom->getTypeId() == Part::GeomLineSegment::getClassTypeId()) {
|
||||||
const Part::GeomLineSegment *lineSeg = dynamic_cast<const Part::GeomLineSegment *>(geom);
|
const Part::GeomLineSegment *lineSeg = static_cast<const Part::GeomLineSegment *>(geom);
|
||||||
dirVec.Set(lineSeg->getEndPoint().x - lineSeg->getStartPoint().x,
|
dirVec.Set(lineSeg->getEndPoint().x - lineSeg->getStartPoint().x,
|
||||||
lineSeg->getEndPoint().y - lineSeg->getStartPoint().y,
|
lineSeg->getEndPoint().y - lineSeg->getStartPoint().y,
|
||||||
0.f);
|
0.f);
|
||||||
|
@ -1153,7 +1153,7 @@ protected:
|
||||||
EditCurve[0] = Base::Vector2D(lineSeg->getEndPoint().x, lineSeg->getEndPoint().y);
|
EditCurve[0] = Base::Vector2D(lineSeg->getEndPoint().x, lineSeg->getEndPoint().y);
|
||||||
}
|
}
|
||||||
else if (geom->getTypeId() == Part::GeomArcOfCircle::getClassTypeId()) {
|
else if (geom->getTypeId() == Part::GeomArcOfCircle::getClassTypeId()) {
|
||||||
const Part::GeomArcOfCircle *arcSeg = dynamic_cast<const Part::GeomArcOfCircle *>(geom);
|
const Part::GeomArcOfCircle *arcSeg = static_cast<const Part::GeomArcOfCircle *>(geom);
|
||||||
if (PosId == Sketcher::start) {
|
if (PosId == Sketcher::start) {
|
||||||
EditCurve[0] = Base::Vector2D(arcSeg->getStartPoint(/*emulateCCW=*/true).x,arcSeg->getStartPoint(/*emulateCCW=*/true).y);
|
EditCurve[0] = Base::Vector2D(arcSeg->getStartPoint(/*emulateCCW=*/true).x,arcSeg->getStartPoint(/*emulateCCW=*/true).y);
|
||||||
dirVec = Base::Vector3d(0.f,0.f,-1.0) % (arcSeg->getStartPoint(/*emulateCCW=*/true)-arcSeg->getCenter());
|
dirVec = Base::Vector3d(0.f,0.f,-1.0) % (arcSeg->getStartPoint(/*emulateCCW=*/true)-arcSeg->getCenter());
|
||||||
|
@ -4152,8 +4152,8 @@ public:
|
||||||
construction=geom1->Construction && geom2->Construction;
|
construction=geom1->Construction && geom2->Construction;
|
||||||
if (geom1->getTypeId() == Part::GeomLineSegment::getClassTypeId() &&
|
if (geom1->getTypeId() == Part::GeomLineSegment::getClassTypeId() &&
|
||||||
geom2->getTypeId() == Part::GeomLineSegment::getClassTypeId()) {
|
geom2->getTypeId() == Part::GeomLineSegment::getClassTypeId()) {
|
||||||
const Part::GeomLineSegment *lineSeg1 = dynamic_cast<const Part::GeomLineSegment *>(geom1);
|
const Part::GeomLineSegment *lineSeg1 = static_cast<const Part::GeomLineSegment *>(geom1);
|
||||||
const Part::GeomLineSegment *lineSeg2 = dynamic_cast<const Part::GeomLineSegment *>(geom2);
|
const Part::GeomLineSegment *lineSeg2 = static_cast<const Part::GeomLineSegment *>(geom2);
|
||||||
Base::Vector3d dir1 = lineSeg1->getEndPoint() - lineSeg1->getStartPoint();
|
Base::Vector3d dir1 = lineSeg1->getEndPoint() - lineSeg1->getStartPoint();
|
||||||
Base::Vector3d dir2 = lineSeg2->getEndPoint() - lineSeg2->getStartPoint();
|
Base::Vector3d dir2 = lineSeg2->getEndPoint() - lineSeg2->getStartPoint();
|
||||||
if (PosIdList[0] == Sketcher::end)
|
if (PosIdList[0] == Sketcher::end)
|
||||||
|
@ -4225,9 +4225,9 @@ public:
|
||||||
Base::Vector2D secondPos = onSketchPos;
|
Base::Vector2D secondPos = onSketchPos;
|
||||||
|
|
||||||
// guess fillet radius
|
// guess fillet radius
|
||||||
const Part::GeomLineSegment *lineSeg1 = dynamic_cast<const Part::GeomLineSegment *>
|
const Part::GeomLineSegment *lineSeg1 = static_cast<const Part::GeomLineSegment *>
|
||||||
(sketchgui->getSketchObject()->getGeometry(firstCurve));
|
(sketchgui->getSketchObject()->getGeometry(firstCurve));
|
||||||
const Part::GeomLineSegment *lineSeg2 = dynamic_cast<const Part::GeomLineSegment *>
|
const Part::GeomLineSegment *lineSeg2 = static_cast<const Part::GeomLineSegment *>
|
||||||
(sketchgui->getSketchObject()->getGeometry(secondCurve));
|
(sketchgui->getSketchObject()->getGeometry(secondCurve));
|
||||||
Base::Vector3d refPnt1(firstPos.fX, firstPos.fY, 0.f);
|
Base::Vector3d refPnt1(firstPos.fX, firstPos.fY, 0.f);
|
||||||
Base::Vector3d refPnt2(secondPos.fX, secondPos.fY, 0.f);
|
Base::Vector3d refPnt2(secondPos.fX, secondPos.fY, 0.f);
|
||||||
|
|
|
@ -61,7 +61,7 @@ bool isSketcherAcceleratorActive(Gui::Document *doc, bool actsOnSelection )
|
||||||
if (doc) {
|
if (doc) {
|
||||||
// checks if a Sketch Viewprovider is in Edit and is in no special mode
|
// checks if a Sketch Viewprovider is in Edit and is in no special mode
|
||||||
if (doc->getInEdit() && doc->getInEdit()->isDerivedFrom(SketcherGui::ViewProviderSketch::getClassTypeId())) {
|
if (doc->getInEdit() && doc->getInEdit()->isDerivedFrom(SketcherGui::ViewProviderSketch::getClassTypeId())) {
|
||||||
if (dynamic_cast<SketcherGui::ViewProviderSketch*>(doc->getInEdit())
|
if (static_cast<SketcherGui::ViewProviderSketch*>(doc->getInEdit())
|
||||||
->getSketchMode() == ViewProviderSketch::STATUS_NONE) {
|
->getSketchMode() == ViewProviderSketch::STATUS_NONE) {
|
||||||
if (!actsOnSelection)
|
if (!actsOnSelection)
|
||||||
return true;
|
return true;
|
||||||
|
@ -80,7 +80,7 @@ void ActivateAcceleratorHandler(Gui::Document *doc,DrawSketchHandler *handler)
|
||||||
if (doc->getInEdit() && doc->getInEdit()->isDerivedFrom
|
if (doc->getInEdit() && doc->getInEdit()->isDerivedFrom
|
||||||
(SketcherGui::ViewProviderSketch::getClassTypeId())) {
|
(SketcherGui::ViewProviderSketch::getClassTypeId())) {
|
||||||
|
|
||||||
SketcherGui::ViewProviderSketch* vp = dynamic_cast<SketcherGui::ViewProviderSketch*> (doc->getInEdit());
|
SketcherGui::ViewProviderSketch* vp = static_cast<SketcherGui::ViewProviderSketch*> (doc->getInEdit());
|
||||||
vp->purgeHandler();
|
vp->purgeHandler();
|
||||||
vp->activateHandler(handler);
|
vp->activateHandler(handler);
|
||||||
}
|
}
|
||||||
|
@ -124,7 +124,7 @@ void CmdSketcherCloseShape::activated(int iMsg)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Sketcher::SketchObject* Obj = dynamic_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
Sketcher::SketchObject* Obj = static_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
||||||
|
|
||||||
int GeoIdFirst=-1;
|
int GeoIdFirst=-1;
|
||||||
int GeoIdLast=-1;
|
int GeoIdLast=-1;
|
||||||
|
@ -233,7 +233,7 @@ void CmdSketcherConnect::activated(int iMsg)
|
||||||
QObject::tr("Select at least two edges from the sketch."));
|
QObject::tr("Select at least two edges from the sketch."));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Sketcher::SketchObject* Obj = dynamic_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
Sketcher::SketchObject* Obj = static_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
||||||
|
|
||||||
// undo command open
|
// undo command open
|
||||||
openCommand("add coincident constraint");
|
openCommand("add coincident constraint");
|
||||||
|
@ -304,7 +304,6 @@ void CmdSketcherSelectConstraints::activated(int iMsg)
|
||||||
{
|
{
|
||||||
// get the selection
|
// get the selection
|
||||||
std::vector<Gui::SelectionObject> selection = getSelection().getSelectionEx();
|
std::vector<Gui::SelectionObject> selection = getSelection().getSelectionEx();
|
||||||
Sketcher::SketchObject* Obj = dynamic_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
|
||||||
|
|
||||||
// only one sketch with its subelements are allowed to be selected
|
// only one sketch with its subelements are allowed to be selected
|
||||||
if (selection.size() != 1) {
|
if (selection.size() != 1) {
|
||||||
|
@ -315,6 +314,7 @@ void CmdSketcherSelectConstraints::activated(int iMsg)
|
||||||
|
|
||||||
// get the needed lists and objects
|
// get the needed lists and objects
|
||||||
const std::vector<std::string> &SubNames = selection[0].getSubNames();
|
const std::vector<std::string> &SubNames = selection[0].getSubNames();
|
||||||
|
Sketcher::SketchObject* Obj = static_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
||||||
const std::vector< Sketcher::Constraint * > &vals = Obj->Constraints.getValues();
|
const std::vector< Sketcher::Constraint * > &vals = Obj->Constraints.getValues();
|
||||||
|
|
||||||
std::string doc_name = Obj->getDocument()->getName();
|
std::string doc_name = Obj->getDocument()->getName();
|
||||||
|
@ -366,7 +366,7 @@ void CmdSketcherSelectOrigin::activated(int iMsg)
|
||||||
{
|
{
|
||||||
Gui::Document * doc= getActiveGuiDocument();
|
Gui::Document * doc= getActiveGuiDocument();
|
||||||
|
|
||||||
SketcherGui::ViewProviderSketch* vp = dynamic_cast<SketcherGui::ViewProviderSketch*>(doc->getInEdit());
|
SketcherGui::ViewProviderSketch* vp = static_cast<SketcherGui::ViewProviderSketch*>(doc->getInEdit());
|
||||||
|
|
||||||
Sketcher::SketchObject* Obj= vp->getSketchObject();
|
Sketcher::SketchObject* Obj= vp->getSketchObject();
|
||||||
|
|
||||||
|
@ -413,7 +413,7 @@ void CmdSketcherSelectVerticalAxis::activated(int iMsg)
|
||||||
{
|
{
|
||||||
Gui::Document * doc= getActiveGuiDocument();
|
Gui::Document * doc= getActiveGuiDocument();
|
||||||
|
|
||||||
SketcherGui::ViewProviderSketch* vp = dynamic_cast<SketcherGui::ViewProviderSketch*>(doc->getInEdit());
|
SketcherGui::ViewProviderSketch* vp = static_cast<SketcherGui::ViewProviderSketch*>(doc->getInEdit());
|
||||||
|
|
||||||
Sketcher::SketchObject* Obj= vp->getSketchObject();
|
Sketcher::SketchObject* Obj= vp->getSketchObject();
|
||||||
|
|
||||||
|
@ -456,7 +456,7 @@ void CmdSketcherSelectHorizontalAxis::activated(int iMsg)
|
||||||
{
|
{
|
||||||
Gui::Document * doc= getActiveGuiDocument();
|
Gui::Document * doc= getActiveGuiDocument();
|
||||||
|
|
||||||
SketcherGui::ViewProviderSketch* vp = dynamic_cast<SketcherGui::ViewProviderSketch*>(doc->getInEdit());
|
SketcherGui::ViewProviderSketch* vp = static_cast<SketcherGui::ViewProviderSketch*>(doc->getInEdit());
|
||||||
|
|
||||||
Sketcher::SketchObject* Obj= vp->getSketchObject();
|
Sketcher::SketchObject* Obj= vp->getSketchObject();
|
||||||
|
|
||||||
|
@ -498,7 +498,7 @@ void CmdSketcherSelectRedundantConstraints::activated(int iMsg)
|
||||||
{
|
{
|
||||||
Gui::Document * doc= getActiveGuiDocument();
|
Gui::Document * doc= getActiveGuiDocument();
|
||||||
|
|
||||||
SketcherGui::ViewProviderSketch* vp = dynamic_cast<SketcherGui::ViewProviderSketch*>(doc->getInEdit());
|
SketcherGui::ViewProviderSketch* vp = static_cast<SketcherGui::ViewProviderSketch*>(doc->getInEdit());
|
||||||
|
|
||||||
Sketcher::SketchObject* Obj= vp->getSketchObject();
|
Sketcher::SketchObject* Obj= vp->getSketchObject();
|
||||||
|
|
||||||
|
@ -506,7 +506,7 @@ void CmdSketcherSelectRedundantConstraints::activated(int iMsg)
|
||||||
std::string obj_name = Obj->getNameInDocument();
|
std::string obj_name = Obj->getNameInDocument();
|
||||||
|
|
||||||
// get the needed lists and objects
|
// get the needed lists and objects
|
||||||
const std::vector< int > &solverredundant = dynamic_cast<SketcherGui::ViewProviderSketch*>(doc->getInEdit())->getSketchObject()->getLastRedundant();
|
const std::vector< int > &solverredundant = vp->getSketchObject()->getLastRedundant();
|
||||||
const std::vector< Sketcher::Constraint * > &vals = Obj->Constraints.getValues();
|
const std::vector< Sketcher::Constraint * > &vals = Obj->Constraints.getValues();
|
||||||
|
|
||||||
getSelection().clearSelection();
|
getSelection().clearSelection();
|
||||||
|
@ -550,16 +550,15 @@ void CmdSketcherSelectConflictingConstraints::activated(int iMsg)
|
||||||
{
|
{
|
||||||
Gui::Document * doc= getActiveGuiDocument();
|
Gui::Document * doc= getActiveGuiDocument();
|
||||||
|
|
||||||
SketcherGui::ViewProviderSketch* vp = dynamic_cast<SketcherGui::ViewProviderSketch*>(doc->getInEdit());
|
SketcherGui::ViewProviderSketch* vp = static_cast<SketcherGui::ViewProviderSketch*>(doc->getInEdit());
|
||||||
|
|
||||||
Sketcher::SketchObject* Obj= vp->getSketchObject();
|
Sketcher::SketchObject* Obj= vp->getSketchObject();
|
||||||
|
|
||||||
std::string doc_name = Obj->getDocument()->getName();
|
std::string doc_name = Obj->getDocument()->getName();
|
||||||
std::string obj_name = Obj->getNameInDocument();
|
std::string obj_name = Obj->getNameInDocument();
|
||||||
std::stringstream ss;
|
|
||||||
|
|
||||||
// get the needed lists and objects
|
// get the needed lists and objects
|
||||||
const std::vector< int > &solverconflicting = dynamic_cast<SketcherGui::ViewProviderSketch*>(doc->getInEdit())->getSketchObject()->getLastConflicting();
|
const std::vector< int > &solverconflicting = vp->getSketchObject()->getLastConflicting();
|
||||||
const std::vector< Sketcher::Constraint * > &vals = Obj->Constraints.getValues();
|
const std::vector< Sketcher::Constraint * > &vals = Obj->Constraints.getValues();
|
||||||
|
|
||||||
getSelection().clearSelection();
|
getSelection().clearSelection();
|
||||||
|
@ -605,7 +604,7 @@ void CmdSketcherSelectElementsAssociatedWithConstraints::activated(int iMsg)
|
||||||
|
|
||||||
Gui::Document * doc= getActiveGuiDocument();
|
Gui::Document * doc= getActiveGuiDocument();
|
||||||
|
|
||||||
SketcherGui::ViewProviderSketch* vp = dynamic_cast<SketcherGui::ViewProviderSketch*>(doc->getInEdit());
|
SketcherGui::ViewProviderSketch* vp = static_cast<SketcherGui::ViewProviderSketch*>(doc->getInEdit());
|
||||||
|
|
||||||
Sketcher::SketchObject* Obj= vp->getSketchObject();
|
Sketcher::SketchObject* Obj= vp->getSketchObject();
|
||||||
|
|
||||||
|
@ -724,7 +723,6 @@ void CmdSketcherRestoreInternalAlignmentGeometry::activated(int iMsg)
|
||||||
{
|
{
|
||||||
// get the selection
|
// get the selection
|
||||||
std::vector<Gui::SelectionObject> selection = getSelection().getSelectionEx();
|
std::vector<Gui::SelectionObject> selection = getSelection().getSelectionEx();
|
||||||
Sketcher::SketchObject* Obj = dynamic_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
|
||||||
|
|
||||||
// only one sketch with its subelements are allowed to be selected
|
// only one sketch with its subelements are allowed to be selected
|
||||||
if (selection.size() != 1) {
|
if (selection.size() != 1) {
|
||||||
|
@ -735,6 +733,7 @@ void CmdSketcherRestoreInternalAlignmentGeometry::activated(int iMsg)
|
||||||
|
|
||||||
// get the needed lists and objects
|
// get the needed lists and objects
|
||||||
const std::vector<std::string> &SubNames = selection[0].getSubNames();
|
const std::vector<std::string> &SubNames = selection[0].getSubNames();
|
||||||
|
Sketcher::SketchObject* Obj = static_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
||||||
|
|
||||||
std::string doc_name = Obj->getDocument()->getName();
|
std::string doc_name = Obj->getDocument()->getName();
|
||||||
std::string obj_name = Obj->getNameInDocument();
|
std::string obj_name = Obj->getNameInDocument();
|
||||||
|
@ -1003,7 +1002,6 @@ void CmdSketcherSymmetry::activated(int iMsg)
|
||||||
{
|
{
|
||||||
// get the selection
|
// get the selection
|
||||||
std::vector<Gui::SelectionObject> selection = getSelection().getSelectionEx();
|
std::vector<Gui::SelectionObject> selection = getSelection().getSelectionEx();
|
||||||
Sketcher::SketchObject* Obj = dynamic_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
|
||||||
|
|
||||||
// only one sketch with its subelements are allowed to be selected
|
// only one sketch with its subelements are allowed to be selected
|
||||||
if (selection.size() != 1) {
|
if (selection.size() != 1) {
|
||||||
|
@ -1014,10 +1012,7 @@ void CmdSketcherSymmetry::activated(int iMsg)
|
||||||
|
|
||||||
// get the needed lists and objects
|
// get the needed lists and objects
|
||||||
const std::vector<std::string> &SubNames = selection[0].getSubNames();
|
const std::vector<std::string> &SubNames = selection[0].getSubNames();
|
||||||
|
Sketcher::SketchObject* Obj = static_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
||||||
std::string doc_name = Obj->getDocument()->getName();
|
|
||||||
std::string obj_name = Obj->getNameInDocument();
|
|
||||||
std::stringstream ss;
|
|
||||||
|
|
||||||
getSelection().clearSelection();
|
getSelection().clearSelection();
|
||||||
|
|
||||||
|
@ -1348,7 +1343,6 @@ void SketcherCopy::activate(bool clone)
|
||||||
{
|
{
|
||||||
// get the selection
|
// get the selection
|
||||||
std::vector<Gui::SelectionObject> selection = getSelection().getSelectionEx();
|
std::vector<Gui::SelectionObject> selection = getSelection().getSelectionEx();
|
||||||
Sketcher::SketchObject* Obj = dynamic_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
|
||||||
|
|
||||||
// only one sketch with its subelements are allowed to be selected
|
// only one sketch with its subelements are allowed to be selected
|
||||||
if (selection.size() != 1) {
|
if (selection.size() != 1) {
|
||||||
|
@ -1359,10 +1353,7 @@ void SketcherCopy::activate(bool clone)
|
||||||
|
|
||||||
// get the needed lists and objects
|
// get the needed lists and objects
|
||||||
const std::vector<std::string> &SubNames = selection[0].getSubNames();
|
const std::vector<std::string> &SubNames = selection[0].getSubNames();
|
||||||
|
Sketcher::SketchObject* Obj = static_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
||||||
std::string doc_name = Obj->getDocument()->getName();
|
|
||||||
std::string obj_name = Obj->getNameInDocument();
|
|
||||||
std::stringstream ss;
|
|
||||||
|
|
||||||
getSelection().clearSelection();
|
getSelection().clearSelection();
|
||||||
|
|
||||||
|
@ -1809,7 +1800,6 @@ void CmdSketcherRectangularArray::activated(int iMsg)
|
||||||
{
|
{
|
||||||
// get the selection
|
// get the selection
|
||||||
std::vector<Gui::SelectionObject> selection = getSelection().getSelectionEx();
|
std::vector<Gui::SelectionObject> selection = getSelection().getSelectionEx();
|
||||||
Sketcher::SketchObject* Obj = dynamic_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
|
||||||
|
|
||||||
// only one sketch with its subelements are allowed to be selected
|
// only one sketch with its subelements are allowed to be selected
|
||||||
if (selection.size() != 1) {
|
if (selection.size() != 1) {
|
||||||
|
@ -1820,10 +1810,7 @@ void CmdSketcherRectangularArray::activated(int iMsg)
|
||||||
|
|
||||||
// get the needed lists and objects
|
// get the needed lists and objects
|
||||||
const std::vector<std::string> &SubNames = selection[0].getSubNames();
|
const std::vector<std::string> &SubNames = selection[0].getSubNames();
|
||||||
|
Sketcher::SketchObject* Obj = static_cast<Sketcher::SketchObject*>(selection[0].getObject());
|
||||||
std::string doc_name = Obj->getDocument()->getName();
|
|
||||||
std::string obj_name = Obj->getNameInDocument();
|
|
||||||
std::stringstream ss;
|
|
||||||
|
|
||||||
getSelection().clearSelection();
|
getSelection().clearSelection();
|
||||||
|
|
||||||
|
|
|
@ -252,7 +252,7 @@ int DrawSketchHandler::seekAutoConstraint(std::vector<AutoConstraint> &suggested
|
||||||
for (std::vector<Part::Geometry *>::const_iterator it=geomlist.begin(); it != geomlist.end(); ++it, i++) {
|
for (std::vector<Part::Geometry *>::const_iterator it=geomlist.begin(); it != geomlist.end(); ++it, i++) {
|
||||||
|
|
||||||
if ((*it)->getTypeId() == Part::GeomCircle::getClassTypeId()) {
|
if ((*it)->getTypeId() == Part::GeomCircle::getClassTypeId()) {
|
||||||
const Part::GeomCircle *circle = dynamic_cast<const Part::GeomCircle *>((*it));
|
const Part::GeomCircle *circle = static_cast<const Part::GeomCircle *>((*it));
|
||||||
|
|
||||||
Base::Vector3d center = circle->getCenter();
|
Base::Vector3d center = circle->getCenter();
|
||||||
|
|
||||||
|
@ -274,7 +274,7 @@ int DrawSketchHandler::seekAutoConstraint(std::vector<AutoConstraint> &suggested
|
||||||
|
|
||||||
} else if ((*it)->getTypeId() == Part::GeomEllipse::getClassTypeId()) {
|
} else if ((*it)->getTypeId() == Part::GeomEllipse::getClassTypeId()) {
|
||||||
|
|
||||||
const Part::GeomEllipse *ellipse = dynamic_cast<const Part::GeomEllipse *>((*it));
|
const Part::GeomEllipse *ellipse = static_cast<const Part::GeomEllipse *>((*it));
|
||||||
|
|
||||||
Base::Vector3d center = ellipse->getCenter();
|
Base::Vector3d center = ellipse->getCenter();
|
||||||
|
|
||||||
|
@ -301,7 +301,7 @@ int DrawSketchHandler::seekAutoConstraint(std::vector<AutoConstraint> &suggested
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if ((*it)->getTypeId() == Part::GeomArcOfCircle::getClassTypeId()) {
|
} else if ((*it)->getTypeId() == Part::GeomArcOfCircle::getClassTypeId()) {
|
||||||
const Part::GeomArcOfCircle *arc = dynamic_cast<const Part::GeomArcOfCircle *>((*it));
|
const Part::GeomArcOfCircle *arc = static_cast<const Part::GeomArcOfCircle *>((*it));
|
||||||
|
|
||||||
Base::Vector3d center = arc->getCenter();
|
Base::Vector3d center = arc->getCenter();
|
||||||
double radius = arc->getRadius();
|
double radius = arc->getRadius();
|
||||||
|
@ -329,7 +329,7 @@ int DrawSketchHandler::seekAutoConstraint(std::vector<AutoConstraint> &suggested
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if ((*it)->getTypeId() == Part::GeomArcOfEllipse::getClassTypeId()) {
|
} else if ((*it)->getTypeId() == Part::GeomArcOfEllipse::getClassTypeId()) {
|
||||||
const Part::GeomArcOfEllipse *aoe = dynamic_cast<const Part::GeomArcOfEllipse *>((*it));
|
const Part::GeomArcOfEllipse *aoe = static_cast<const Part::GeomArcOfEllipse *>((*it));
|
||||||
|
|
||||||
Base::Vector3d center = aoe->getCenter();
|
Base::Vector3d center = aoe->getCenter();
|
||||||
|
|
||||||
|
@ -433,7 +433,7 @@ void DrawSketchHandler::createAutoConstraints(const std::vector<AutoConstraint>
|
||||||
bool mid_external;
|
bool mid_external;
|
||||||
bool end_external;
|
bool end_external;
|
||||||
|
|
||||||
dynamic_cast<Sketcher::SketchObject*>((sketchgui->getObject()))->isCoincidentWithExternalGeometry(geoId1, start_external, mid_external, end_external);
|
static_cast<Sketcher::SketchObject*>((sketchgui->getObject()))->isCoincidentWithExternalGeometry(geoId1, start_external, mid_external, end_external);
|
||||||
|
|
||||||
if( !(start_external && end_external) ) {
|
if( !(start_external && end_external) ) {
|
||||||
Gui::Command::doCommand(Gui::Command::Doc,"App.ActiveDocument.%s.addConstraint(Sketcher.Constraint('Horizontal',%i)) "
|
Gui::Command::doCommand(Gui::Command::Doc,"App.ActiveDocument.%s.addConstraint(Sketcher.Constraint('Horizontal',%i)) "
|
||||||
|
@ -449,7 +449,7 @@ void DrawSketchHandler::createAutoConstraints(const std::vector<AutoConstraint>
|
||||||
bool mid_external;
|
bool mid_external;
|
||||||
bool end_external;
|
bool end_external;
|
||||||
|
|
||||||
dynamic_cast<Sketcher::SketchObject*>((sketchgui->getObject()))->isCoincidentWithExternalGeometry(geoId1, start_external, mid_external, end_external);
|
static_cast<Sketcher::SketchObject*>((sketchgui->getObject()))->isCoincidentWithExternalGeometry(geoId1, start_external, mid_external, end_external);
|
||||||
|
|
||||||
if( !(start_external && end_external) ) {
|
if( !(start_external && end_external) ) {
|
||||||
Gui::Command::doCommand(Gui::Command::Doc,"App.ActiveDocument.%s.addConstraint(Sketcher.Constraint('Vertical',%i)) "
|
Gui::Command::doCommand(Gui::Command::Doc,"App.ActiveDocument.%s.addConstraint(Sketcher.Constraint('Vertical',%i)) "
|
||||||
|
@ -460,7 +460,7 @@ void DrawSketchHandler::createAutoConstraints(const std::vector<AutoConstraint>
|
||||||
|
|
||||||
} break;
|
} break;
|
||||||
case Sketcher::Tangent: {
|
case Sketcher::Tangent: {
|
||||||
Sketcher::SketchObject* Obj = dynamic_cast<Sketcher::SketchObject*>(sketchgui->getObject());
|
Sketcher::SketchObject* Obj = static_cast<Sketcher::SketchObject*>(sketchgui->getObject());
|
||||||
|
|
||||||
const Part::Geometry *geom1 = Obj->getGeometry(geoId1);
|
const Part::Geometry *geom1 = Obj->getGeometry(geoId1);
|
||||||
const Part::Geometry *geom2 = Obj->getGeometry(it->GeoId);
|
const Part::Geometry *geom2 = Obj->getGeometry(it->GeoId);
|
||||||
|
|
|
@ -40,7 +40,8 @@ TYPESYSTEM_SOURCE(SketcherGui::PropertyConstraintListItem, Gui::PropertyEditor::
|
||||||
|
|
||||||
PropertyConstraintListItem::PropertyConstraintListItem()
|
PropertyConstraintListItem::PropertyConstraintListItem()
|
||||||
{
|
{
|
||||||
|
blockEvent = false;
|
||||||
|
onlyUnnamed = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariant PropertyConstraintListItem::toString(const QVariant& prop) const
|
QVariant PropertyConstraintListItem::toString(const QVariant& prop) const
|
||||||
|
|
|
@ -40,6 +40,7 @@ using namespace SketcherGui;
|
||||||
SketchOrientationDialog::SketchOrientationDialog(void)
|
SketchOrientationDialog::SketchOrientationDialog(void)
|
||||||
: QDialog(Gui::getMainWindow()), ui(new Ui_SketchOrientationDialog)
|
: QDialog(Gui::getMainWindow()), ui(new Ui_SketchOrientationDialog)
|
||||||
{
|
{
|
||||||
|
DirType = 0;
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
onPreview();
|
onPreview();
|
||||||
|
|
||||||
|
|
|
@ -320,6 +320,9 @@ protected:
|
||||||
options.widget->style()->drawControl(QStyle::CE_ItemViewItem, &options, painter);
|
options.widget->style()->drawControl(QStyle::CE_ItemViewItem, &options, painter);
|
||||||
|
|
||||||
ConstraintItem * item = dynamic_cast<ConstraintItem*>(view->item(index.row()));
|
ConstraintItem * item = dynamic_cast<ConstraintItem*>(view->item(index.row()));
|
||||||
|
if (!item)
|
||||||
|
return;
|
||||||
|
|
||||||
App::ObjectIdentifier path = item->sketch->Constraints.createPath(item->ConstraintNbr);
|
App::ObjectIdentifier path = item->sketch->Constraints.createPath(item->ConstraintNbr);
|
||||||
App::PropertyExpressionEngine::ExpressionInfo expr_info = item->sketch->getExpression(path);
|
App::PropertyExpressionEngine::ExpressionInfo expr_info = item->sketch->getExpression(path);
|
||||||
|
|
||||||
|
@ -362,9 +365,8 @@ void ConstraintView::contextMenuEvent (QContextMenuEvent* event)
|
||||||
bool isToggleDriving = false;
|
bool isToggleDriving = false;
|
||||||
|
|
||||||
// Non-driving-constraints/measurements
|
// Non-driving-constraints/measurements
|
||||||
if (item) {
|
|
||||||
ConstraintItem *it = dynamic_cast<ConstraintItem*>(item);
|
ConstraintItem *it = dynamic_cast<ConstraintItem*>(item);
|
||||||
|
if (it) {
|
||||||
// if its the right constraint
|
// if its the right constraint
|
||||||
if ((it->constraintType() == Sketcher::Distance ||
|
if ((it->constraintType() == Sketcher::Distance ||
|
||||||
it->constraintType() == Sketcher::DistanceX ||
|
it->constraintType() == Sketcher::DistanceX ||
|
||||||
|
@ -416,9 +418,8 @@ void ConstraintView::updateDrivingStatus()
|
||||||
{
|
{
|
||||||
QListWidgetItem* item = currentItem();
|
QListWidgetItem* item = currentItem();
|
||||||
|
|
||||||
if (item){
|
|
||||||
ConstraintItem *it = dynamic_cast<ConstraintItem*>(item);
|
ConstraintItem *it = dynamic_cast<ConstraintItem*>(item);
|
||||||
|
if (it) {
|
||||||
onUpdateDrivingStatus(item, !it->isDriving());
|
onUpdateDrivingStatus(item, !it->isDriving());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -623,7 +624,7 @@ void TaskSketcherConstrains::on_listWidgetConstraints_itemSelectionChanged(void)
|
||||||
void TaskSketcherConstrains::on_listWidgetConstraints_itemActivated(QListWidgetItem *item)
|
void TaskSketcherConstrains::on_listWidgetConstraints_itemActivated(QListWidgetItem *item)
|
||||||
{
|
{
|
||||||
ConstraintItem *it = dynamic_cast<ConstraintItem*>(item);
|
ConstraintItem *it = dynamic_cast<ConstraintItem*>(item);
|
||||||
if (!item) return;
|
if (!it) return;
|
||||||
|
|
||||||
// if its the right constraint
|
// if its the right constraint
|
||||||
if (it->constraintType() == Sketcher::Distance ||
|
if (it->constraintType() == Sketcher::Distance ||
|
||||||
|
@ -650,12 +651,12 @@ void TaskSketcherConstrains::on_listWidgetConstraints_updateDrivingStatus(QListW
|
||||||
|
|
||||||
void TaskSketcherConstrains::on_listWidgetConstraints_itemChanged(QListWidgetItem *item)
|
void TaskSketcherConstrains::on_listWidgetConstraints_itemChanged(QListWidgetItem *item)
|
||||||
{
|
{
|
||||||
if (!item || inEditMode)
|
const ConstraintItem *it = dynamic_cast<const ConstraintItem*>(item);
|
||||||
|
if (!it || inEditMode)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
inEditMode = true;
|
inEditMode = true;
|
||||||
|
|
||||||
const ConstraintItem *it = dynamic_cast<const ConstraintItem*>(item);
|
|
||||||
const Sketcher::SketchObject * sketch = sketchView->getSketchObject();
|
const Sketcher::SketchObject * sketch = sketchView->getSketchObject();
|
||||||
const std::vector< Sketcher::Constraint * > &vals = sketch->Constraints.getValues();
|
const std::vector< Sketcher::Constraint * > &vals = sketch->Constraints.getValues();
|
||||||
const Sketcher::Constraint* v = vals[it->ConstraintNbr];
|
const Sketcher::Constraint* v = vals[it->ConstraintNbr];
|
||||||
|
|
Loading…
Reference in New Issue
Block a user