Sketcher: Enable switching of virtual space in ViewProvider

This commit is contained in:
Abdullah Tahiri
2017-12-17 06:56:59 +01:00
committed by wmayer
parent 31189b6c20
commit d987930338
2 changed files with 19 additions and 6 deletions

View File

@@ -278,7 +278,7 @@ ViewProviderSketch::ViewProviderSketch()
Mode(STATUS_NONE),
visibleInformationChanged(true),
combrepscalehyst(0),
isShowVirtualSpace(false)
isShownVirtualSpace(false)
{
ADD_PROPERTY_TYPE(Autoconstraints,(true),"Auto Constraints",(App::PropertyType)(App::Prop_None),"Create auto constraints");
ADD_PROPERTY_TYPE(TempoVis,(Py::None()),"Visibility automation",(App::PropertyType)(App::Prop_None),"Object that handles hiding and showing other objects when entering/leaving sketch.");
@@ -5146,15 +5146,26 @@ void ViewProviderSketch::updateVirtualSpace(void)
SbBool *sws = edit->constrGroup->enable.startEditing();
for (size_t i = 0; i < constrlist.size(); i++) {
//for (size_t i = 0; i < 15; i++) {
sws[i] = !constrlist[i]->isInVirtualSpace;
}
for (size_t i = 0; i < constrlist.size(); i++)
sws[i] = !(constrlist[i]->isInVirtualSpace != isShownVirtualSpace); // XOR of constraint mode and VP mode
edit->constrGroup->enable.finishEditing();
}
}
void ViewProviderSketch::setIsShownVirtualSpace(bool isshownvirtualspace)
{
this->isShownVirtualSpace = isshownvirtualspace;
updateVirtualSpace();
}
bool ViewProviderSketch::getIsShownVirtualSpace() const
{
return this->isShownVirtualSpace;
}
void ViewProviderSketch::drawEdit(const std::vector<Base::Vector2d> &EditCurve)
{

View File

@@ -227,6 +227,8 @@ public:
/// updates the visibility of the virtual space
void updateVirtualSpace(void);
void setIsShownVirtualSpace(bool isshownvirtualspace);
bool getIsShownVirtualSpace(void) const;
friend class DrawSketchHandler;
friend struct ::EditData;
@@ -412,7 +414,7 @@ protected:
double combrepscalehyst;
// Virtual space variables
bool isShowVirtualSpace;
bool isShownVirtualSpace; // indicates whether the present virtual space view is the Real Space or the Virtual Space (virtual space 1 or 2)
};
} // namespace PartGui