[skip ci] make mesh/points cutting working for nested view providers
This commit is contained in:
@@ -917,7 +917,7 @@ void ViewProviderMesh::clipMeshCallback(void * ud, SoEventCallback * n)
|
||||
if (clPoly.front() != clPoly.back())
|
||||
clPoly.push_back(clPoly.front());
|
||||
|
||||
std::vector<Gui::ViewProvider*> views = view->getViewProvidersOfType(ViewProviderMesh::getClassTypeId());
|
||||
std::vector<Gui::ViewProvider*> views = view->getDocument()->getViewProvidersOfType(ViewProviderMesh::getClassTypeId());
|
||||
if (!views.empty()) {
|
||||
Gui::Application::Instance->activeDocument()->openCommand("Cut");
|
||||
bool commitCommand = false;
|
||||
@@ -978,7 +978,7 @@ void ViewProviderMesh::trimMeshCallback(void * ud, SoEventCallback * n)
|
||||
if (clPoly.front() != clPoly.back())
|
||||
clPoly.push_back(clPoly.front());
|
||||
|
||||
std::vector<Gui::ViewProvider*> views = view->getViewProvidersOfType(ViewProviderMesh::getClassTypeId());
|
||||
std::vector<Gui::ViewProvider*> views = view->getDocument()->getViewProvidersOfType(ViewProviderMesh::getClassTypeId());
|
||||
if (!views.empty()) {
|
||||
Gui::Application::Instance->activeDocument()->openCommand("Trim");
|
||||
bool commitCommand = false;
|
||||
@@ -1060,7 +1060,7 @@ void ViewProviderMesh::partMeshCallback(void * ud, SoEventCallback * cb)
|
||||
Gui::Application::Instance->activeDocument()->openCommand("Split");
|
||||
|
||||
try {
|
||||
std::vector<Gui::ViewProvider*> views = view->getViewProvidersOfType(ViewProviderMesh::getClassTypeId());
|
||||
std::vector<Gui::ViewProvider*> views = view->getDocument()->getViewProvidersOfType(ViewProviderMesh::getClassTypeId());
|
||||
for (std::vector<Gui::ViewProvider*>::iterator it = views.begin(); it != views.end(); ++it) {
|
||||
ViewProviderMesh* that = static_cast<ViewProviderMesh*>(*it);
|
||||
if (that->getEditingMode() > -1) {
|
||||
@@ -1124,7 +1124,7 @@ void ViewProviderMesh::segmMeshCallback(void * ud, SoEventCallback * cb)
|
||||
Gui::Application::Instance->activeDocument()->openCommand("Segment");
|
||||
|
||||
try {
|
||||
std::vector<Gui::ViewProvider*> views = view->getViewProvidersOfType(ViewProviderMesh::getClassTypeId());
|
||||
std::vector<Gui::ViewProvider*> views = view->getDocument()->getViewProvidersOfType(ViewProviderMesh::getClassTypeId());
|
||||
for (std::vector<Gui::ViewProvider*>::iterator it = views.begin(); it != views.end(); ++it) {
|
||||
ViewProviderMesh* that = static_cast<ViewProviderMesh*>(*it);
|
||||
if (that->getEditingMode() > -1) {
|
||||
@@ -1189,7 +1189,7 @@ void ViewProviderMesh::selectGLCallback(void * ud, SoEventCallback * n)
|
||||
if (h<0) h = -h;
|
||||
|
||||
std::vector<Gui::ViewProvider*> views;
|
||||
views = view->getViewProvidersOfType(ViewProviderMesh::getClassTypeId());
|
||||
views = view->getDocument()->getViewProvidersOfType(ViewProviderMesh::getClassTypeId());
|
||||
for (std::vector<Gui::ViewProvider*>::iterator it = views.begin(); it != views.end(); ++it) {
|
||||
ViewProviderMesh* that = static_cast<ViewProviderMesh*>(*it);
|
||||
if (that->getEditingMode() > -1) {
|
||||
@@ -1634,20 +1634,20 @@ void ViewProviderMesh::markPartCallback(void * ud, SoEventCallback * n)
|
||||
view->setSelectionEnabled(true);
|
||||
view->removeEventCallback(SoMouseButtonEvent::getClassTypeId(), markPartCallback,ud);
|
||||
|
||||
std::vector<ViewProvider*> views = view->getViewProvidersOfType(ViewProviderMesh::getClassTypeId());
|
||||
std::vector<ViewProvider*> views = view->getDocument()->getViewProvidersOfType(ViewProviderMesh::getClassTypeId());
|
||||
for (std::vector<ViewProvider*>::iterator it = views.begin(); it != views.end(); ++it) {
|
||||
static_cast<ViewProviderMesh*>(*it)->clearSelection();
|
||||
}
|
||||
}
|
||||
else if (cf == id) {
|
||||
std::vector<ViewProvider*> views = view->getViewProvidersOfType(ViewProviderMesh::getClassTypeId());
|
||||
std::vector<ViewProvider*> views = view->getDocument()->getViewProvidersOfType(ViewProviderMesh::getClassTypeId());
|
||||
for (std::vector<ViewProvider*>::iterator it = views.begin(); it != views.end(); ++it) {
|
||||
static_cast<ViewProviderMesh*>(*it)->clearSelection();
|
||||
}
|
||||
}
|
||||
else if (rm == id) {
|
||||
Gui::Application::Instance->activeDocument()->openCommand("Delete");
|
||||
std::vector<ViewProvider*> views = view->getViewProvidersOfType(ViewProviderMesh::getClassTypeId());
|
||||
std::vector<ViewProvider*> views = view->getDocument()->getViewProvidersOfType(ViewProviderMesh::getClassTypeId());
|
||||
for (std::vector<ViewProvider*>::iterator it = views.begin(); it != views.end(); ++it) {
|
||||
static_cast<ViewProviderMesh*>(*it)->deleteSelection();
|
||||
}
|
||||
|
||||
@@ -329,7 +329,7 @@ void ViewProviderPoints::clipPointsCallback(void *, SoEventCallback * n)
|
||||
if (clPoly.front() != clPoly.back())
|
||||
clPoly.push_back(clPoly.front());
|
||||
|
||||
std::vector<Gui::ViewProvider*> views = view->getViewProvidersOfType(ViewProviderPoints::getClassTypeId());
|
||||
std::vector<Gui::ViewProvider*> views = view->getDocument()->getViewProvidersOfType(ViewProviderPoints::getClassTypeId());
|
||||
for (std::vector<Gui::ViewProvider*>::iterator it = views.begin(); it != views.end(); ++it) {
|
||||
ViewProviderPoints* that = static_cast<ViewProviderPoints*>(*it);
|
||||
if (that->getEditingMode() > -1) {
|
||||
|
||||
Reference in New Issue
Block a user