Gui: Prevent the editing root from getting clipped
This commit is contained in:
committed by
Kacper Donat
parent
acdc4041fd
commit
f2c0f9c86d
@@ -129,10 +129,14 @@ Clipping::Clipping(Gui::View3DInventor* view, QWidget* parent)
|
||||
View3DInventorViewer* viewer = view->getViewer();
|
||||
d->node = static_cast<SoGroup*>(viewer->getSceneGraph());
|
||||
d->node->ref();
|
||||
d->node->insertChild(d->clipX, 0);
|
||||
d->node->insertChild(d->clipY, 0);
|
||||
d->node->insertChild(d->clipZ, 0);
|
||||
d->node->insertChild(d->clipView, 0);
|
||||
int index = -1;
|
||||
if (auto editingRoot = viewer->getEditingRoot()) {
|
||||
index = d->node->findChild(editingRoot);
|
||||
}
|
||||
d->node->insertChild(d->clipX, index + 1);
|
||||
d->node->insertChild(d->clipY, index + 1);
|
||||
d->node->insertChild(d->clipZ, index + 1);
|
||||
d->node->insertChild(d->clipView, index + 1);
|
||||
|
||||
SoGetBoundingBoxAction action(viewer->getSoRenderManager()->getViewportRegion());
|
||||
action.apply(viewer->getSceneGraph());
|
||||
|
||||
@@ -999,6 +999,11 @@ void View3DInventorViewer::setEditingTransform(const Base::Matrix4D& mat)
|
||||
// NOLINTEND
|
||||
}
|
||||
|
||||
SoNode* View3DInventorViewer::getEditingRoot() const
|
||||
{
|
||||
return pcEditingRoot;
|
||||
}
|
||||
|
||||
void View3DInventorViewer::setupEditingRoot(SoNode* node, const Base::Matrix4D* mat)
|
||||
{
|
||||
if (!editViewProvider) {
|
||||
|
||||
@@ -249,6 +249,7 @@ public:
|
||||
ViewProvider* getEditingViewProvider() const;
|
||||
/// reset from edit mode
|
||||
void resetEditingViewProvider();
|
||||
SoNode* getEditingRoot() const;
|
||||
void setupEditingRoot(SoNode* node = nullptr, const Base::Matrix4D* mat = nullptr);
|
||||
void resetEditingRoot(bool updateLinks = true);
|
||||
void setEditingTransform(const Base::Matrix4D& mat);
|
||||
|
||||
Reference in New Issue
Block a user