mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-21 10:13:43 +03:00
Saving notes in the view
This commit is contained in:
parent
ea712b6b04
commit
611cd82c38
@ -250,6 +250,17 @@ Standard_GUID XCAFDoc::ViewRefPlaneGUID()
|
|||||||
return ID;
|
return ID;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//=======================================================================
|
||||||
|
//function : ViewRefNoteGUID
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
|
||||||
|
Standard_GUID XCAFDoc::ViewRefNoteGUID()
|
||||||
|
{
|
||||||
|
static Standard_GUID ID("efd213e2-6dfd-11d4-b9c8-0060b0ee281b");
|
||||||
|
return ID;
|
||||||
|
}
|
||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : ViewRefEnabledShapesGUID
|
//function : ViewRefEnabledShapesGUID
|
||||||
//purpose :
|
//purpose :
|
||||||
|
@ -121,6 +121,9 @@ public:
|
|||||||
//! Return GUIDs for TreeNode representing specified types of View
|
//! Return GUIDs for TreeNode representing specified types of View
|
||||||
Standard_EXPORT static Standard_GUID ViewRefPlaneGUID();
|
Standard_EXPORT static Standard_GUID ViewRefPlaneGUID();
|
||||||
|
|
||||||
|
//! Return GUIDs for TreeNode representing specified types of View
|
||||||
|
Standard_EXPORT static Standard_GUID ViewRefNoteGUID();
|
||||||
|
|
||||||
//! Return GUIDs for TreeNode representing specified types of View
|
//! Return GUIDs for TreeNode representing specified types of View
|
||||||
Standard_EXPORT static Standard_GUID ViewRefEnabledShapesGUID();
|
Standard_EXPORT static Standard_GUID ViewRefEnabledShapesGUID();
|
||||||
|
|
||||||
|
@ -287,11 +287,10 @@ void XCAFDoc_ViewTool::SetView(const TDF_LabelSequence& theShapeLabels,
|
|||||||
aPlaneGNode = aChGNode->GetFather(1);
|
aPlaneGNode = aChGNode->GetFather(1);
|
||||||
aPlaneGNode->UnSetChild(aChGNode);
|
aPlaneGNode->UnSetChild(aChGNode);
|
||||||
if (aPlaneGNode->NbChildren() == 0)
|
if (aPlaneGNode->NbChildren() == 0)
|
||||||
aPlaneGNode->ForgetAttribute(XCAFDoc::ViewRefGDTGUID());
|
aPlaneGNode->ForgetAttribute(XCAFDoc::ViewRefPlaneGUID());
|
||||||
}
|
}
|
||||||
theViewL.ForgetAttribute(XCAFDoc::ViewRefPlaneGUID());
|
theViewL.ForgetAttribute(XCAFDoc::ViewRefPlaneGUID());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!theViewL.FindAttribute(XCAFDoc::ViewRefShapeGUID(), aChGNode) && theShapeLabels.Length() > 0) {
|
if (!theViewL.FindAttribute(XCAFDoc::ViewRefShapeGUID(), aChGNode) && theShapeLabels.Length() > 0) {
|
||||||
aChGNode = new XCAFDoc_GraphNode;
|
aChGNode = new XCAFDoc_GraphNode;
|
||||||
aChGNode = XCAFDoc_GraphNode::Set(theViewL);
|
aChGNode = XCAFDoc_GraphNode::Set(theViewL);
|
||||||
@ -426,7 +425,7 @@ void XCAFDoc_ViewTool::SetClippingPlanes(const TDF_LabelSequence& theClippingPla
|
|||||||
aPlaneGNode = aChGNode->GetFather(1);
|
aPlaneGNode = aChGNode->GetFather(1);
|
||||||
aPlaneGNode->UnSetChild(aChGNode);
|
aPlaneGNode->UnSetChild(aChGNode);
|
||||||
if (aPlaneGNode->NbChildren() == 0)
|
if (aPlaneGNode->NbChildren() == 0)
|
||||||
aPlaneGNode->ForgetAttribute(XCAFDoc::ViewRefGDTGUID());
|
aPlaneGNode->ForgetAttribute(XCAFDoc::ViewRefPlaneGUID());
|
||||||
}
|
}
|
||||||
theViewL.ForgetAttribute(XCAFDoc::ViewRefPlaneGUID());
|
theViewL.ForgetAttribute(XCAFDoc::ViewRefPlaneGUID());
|
||||||
}
|
}
|
||||||
@ -458,14 +457,14 @@ void XCAFDoc_ViewTool::SetEnabledShapes(const TDF_LabelSequence& theShapesTransp
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
Handle(XCAFDoc_GraphNode) aChGNode;
|
Handle(XCAFDoc_GraphNode) aChGNode;
|
||||||
Handle(XCAFDoc_GraphNode) aPlaneGNode;
|
Handle(XCAFDoc_GraphNode) aShapeGNode;
|
||||||
|
|
||||||
if (theViewL.FindAttribute(XCAFDoc::ViewRefEnabledShapesGUID(), aChGNode)) {
|
if (theViewL.FindAttribute(XCAFDoc::ViewRefEnabledShapesGUID(), aChGNode)) {
|
||||||
while (aChGNode->NbFathers() > 0) {
|
while (aChGNode->NbFathers() > 0) {
|
||||||
aPlaneGNode = aChGNode->GetFather(1);
|
aShapeGNode = aChGNode->GetFather(1);
|
||||||
aPlaneGNode->UnSetChild(aChGNode);
|
aShapeGNode->UnSetChild(aChGNode);
|
||||||
if (aPlaneGNode->NbChildren() == 0)
|
if (aShapeGNode->NbChildren() == 0)
|
||||||
aPlaneGNode->ForgetAttribute(XCAFDoc::ViewRefEnabledShapesGUID());
|
aShapeGNode->ForgetAttribute(XCAFDoc::ViewRefEnabledShapesGUID());
|
||||||
}
|
}
|
||||||
theViewL.ForgetAttribute(XCAFDoc::ViewRefEnabledShapesGUID());
|
theViewL.ForgetAttribute(XCAFDoc::ViewRefEnabledShapesGUID());
|
||||||
}
|
}
|
||||||
@ -478,16 +477,55 @@ void XCAFDoc_ViewTool::SetEnabledShapes(const TDF_LabelSequence& theShapesTransp
|
|||||||
}
|
}
|
||||||
for (Standard_Integer i = theShapesTransparencyLabels.Lower(); i <= theShapesTransparencyLabels.Upper(); i++)
|
for (Standard_Integer i = theShapesTransparencyLabels.Lower(); i <= theShapesTransparencyLabels.Upper(); i++)
|
||||||
{
|
{
|
||||||
if (!theShapesTransparencyLabels.Value(i).FindAttribute(XCAFDoc::ViewRefEnabledShapesGUID(), aPlaneGNode)) {
|
if (!theShapesTransparencyLabels.Value(i).FindAttribute(XCAFDoc::ViewRefEnabledShapesGUID(), aShapeGNode)) {
|
||||||
aPlaneGNode = new XCAFDoc_GraphNode;
|
aShapeGNode = new XCAFDoc_GraphNode;
|
||||||
aPlaneGNode = XCAFDoc_GraphNode::Set(theShapesTransparencyLabels.Value(i));
|
aShapeGNode = XCAFDoc_GraphNode::Set(theShapesTransparencyLabels.Value(i));
|
||||||
}
|
}
|
||||||
aPlaneGNode->SetGraphID(XCAFDoc::ViewRefEnabledShapesGUID());
|
aShapeGNode->SetGraphID(XCAFDoc::ViewRefEnabledShapesGUID());
|
||||||
aPlaneGNode->SetChild(aChGNode);
|
aShapeGNode->SetChild(aChGNode);
|
||||||
aChGNode->SetFather(aPlaneGNode);
|
aChGNode->SetFather(aShapeGNode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : SetNotes
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void XCAFDoc_ViewTool::SetNotes(const TDF_LabelSequence& theNoteLabels,
|
||||||
|
const TDF_Label& theViewL) const
|
||||||
|
{
|
||||||
|
if (!IsView(theViewL))
|
||||||
|
return;
|
||||||
|
|
||||||
|
Handle(XCAFDoc_GraphNode) aChGNode;
|
||||||
|
Handle(XCAFDoc_GraphNode) aNoteGNode;
|
||||||
|
|
||||||
|
if (theViewL.FindAttribute(XCAFDoc::ViewRefNoteGUID(), aChGNode)) {
|
||||||
|
while (aChGNode->NbFathers() > 0) {
|
||||||
|
aNoteGNode = aChGNode->GetFather(1);
|
||||||
|
aNoteGNode->UnSetChild(aChGNode);
|
||||||
|
if (aNoteGNode->NbChildren() == 0)
|
||||||
|
aNoteGNode->ForgetAttribute(XCAFDoc::ViewRefNoteGUID());
|
||||||
|
}
|
||||||
|
theViewL.ForgetAttribute(XCAFDoc::ViewRefNoteGUID());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (!theViewL.FindAttribute(XCAFDoc::ViewRefNoteGUID(), aChGNode) && theNoteLabels.Length() > 0) {
|
||||||
|
aChGNode = new XCAFDoc_GraphNode;
|
||||||
|
aChGNode = XCAFDoc_GraphNode::Set(theViewL);
|
||||||
|
aChGNode->SetGraphID(XCAFDoc::ViewRefNoteGUID());
|
||||||
|
}
|
||||||
|
for (Standard_Integer i = theNoteLabels.Lower(); i <= theNoteLabels.Upper(); i++)
|
||||||
|
{
|
||||||
|
if (!theNoteLabels.Value(i).FindAttribute(XCAFDoc::ViewRefNoteGUID(), aNoteGNode)) {
|
||||||
|
aNoteGNode = new XCAFDoc_GraphNode;
|
||||||
|
aNoteGNode = XCAFDoc_GraphNode::Set(theNoteLabels.Value(i));
|
||||||
|
}
|
||||||
|
aNoteGNode->SetGraphID(XCAFDoc::ViewRefNoteGUID());
|
||||||
|
aNoteGNode->SetChild(aChGNode);
|
||||||
|
aChGNode->SetFather(aNoteGNode);
|
||||||
|
}
|
||||||
|
}
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : RemoveView
|
//function : RemoveView
|
||||||
//purpose :
|
//purpose :
|
||||||
|
@ -86,10 +86,13 @@ public:
|
|||||||
//! Set Clipping planes to given View
|
//! Set Clipping planes to given View
|
||||||
Standard_EXPORT void SetClippingPlanes(const TDF_LabelSequence& theClippingPlaneLabels,
|
Standard_EXPORT void SetClippingPlanes(const TDF_LabelSequence& theClippingPlaneLabels,
|
||||||
const TDF_Label& theViewL) const;
|
const TDF_Label& theViewL) const;
|
||||||
|
|
||||||
Standard_EXPORT void SetEnabledShapes(const TDF_LabelSequence& theShapesTransparencyLabels,
|
Standard_EXPORT void SetEnabledShapes(const TDF_LabelSequence& theShapesTransparencyLabels,
|
||||||
const TDF_Label& theViewL) const;
|
const TDF_Label& theViewL) const;
|
||||||
|
|
||||||
|
//! Set Notes to given View
|
||||||
|
Standard_EXPORT void SetNotes(const TDF_LabelSequence& theNoteLabels,
|
||||||
|
const TDF_Label& theViewL) const;
|
||||||
|
|
||||||
//! Remove View
|
//! Remove View
|
||||||
Standard_EXPORT void RemoveView(const TDF_Label& theViewL);
|
Standard_EXPORT void RemoveView(const TDF_Label& theViewL);
|
||||||
|
|
||||||
@ -111,6 +114,9 @@ public:
|
|||||||
//! Returns all View labels defined for label Shapes transparency
|
//! Returns all View labels defined for label Shapes transparency
|
||||||
Standard_EXPORT Standard_Boolean GetViewLabelsForEnabledShapesLabel(const TDF_Label& theShapesTransparencyL, TDF_LabelSequence& theViews) const;
|
Standard_EXPORT Standard_Boolean GetViewLabelsForEnabledShapesLabel(const TDF_Label& theShapesTransparencyL, TDF_LabelSequence& theViews) const;
|
||||||
|
|
||||||
|
//! Returns all View labels defined for label NotesL
|
||||||
|
Standard_EXPORT Standard_Boolean GetViewLabelsForNote(const TDF_Label& theNoteL, TDF_LabelSequence& theViews) const;
|
||||||
|
|
||||||
//! Adds a view definition to a View table and returns its label
|
//! Adds a view definition to a View table and returns its label
|
||||||
Standard_EXPORT TDF_Label AddView() ;
|
Standard_EXPORT TDF_Label AddView() ;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user