aPlaneGNode = aChGNode->GetFather(1);
aPlaneGNode->UnSetChild(aChGNode);
if (aPlaneGNode->NbChildren() == 0)
- aPlaneGNode->ForgetAttribute(XCAFDoc::ViewRefGDTGUID());
+ aPlaneGNode->ForgetAttribute(XCAFDoc::ViewRefPlaneGUID());
}
theViewL.ForgetAttribute(XCAFDoc::ViewRefPlaneGUID());
}
-
if (!theViewL.FindAttribute(XCAFDoc::ViewRefShapeGUID(), aChGNode) && theShapeLabels.Length() > 0) {
aChGNode = new XCAFDoc_GraphNode;
aChGNode = XCAFDoc_GraphNode::Set(theViewL);
aPlaneGNode = aChGNode->GetFather(1);
aPlaneGNode->UnSetChild(aChGNode);
if (aPlaneGNode->NbChildren() == 0)
- aPlaneGNode->ForgetAttribute(XCAFDoc::ViewRefGDTGUID());
+ aPlaneGNode->ForgetAttribute(XCAFDoc::ViewRefPlaneGUID());
}
theViewL.ForgetAttribute(XCAFDoc::ViewRefPlaneGUID());
}
return;
Handle(XCAFDoc_GraphNode) aChGNode;
- Handle(XCAFDoc_GraphNode) aPlaneGNode;
+ Handle(XCAFDoc_GraphNode) aShapeGNode;
if (theViewL.FindAttribute(XCAFDoc::ViewRefEnabledShapesGUID(), aChGNode)) {
while (aChGNode->NbFathers() > 0) {
- aPlaneGNode = aChGNode->GetFather(1);
- aPlaneGNode->UnSetChild(aChGNode);
- if (aPlaneGNode->NbChildren() == 0)
- aPlaneGNode->ForgetAttribute(XCAFDoc::ViewRefEnabledShapesGUID());
+ aShapeGNode = aChGNode->GetFather(1);
+ aShapeGNode->UnSetChild(aChGNode);
+ if (aShapeGNode->NbChildren() == 0)
+ aShapeGNode->ForgetAttribute(XCAFDoc::ViewRefEnabledShapesGUID());
}
theViewL.ForgetAttribute(XCAFDoc::ViewRefEnabledShapesGUID());
}
}
for (Standard_Integer i = theShapesTransparencyLabels.Lower(); i <= theShapesTransparencyLabels.Upper(); i++)
{
- if (!theShapesTransparencyLabels.Value(i).FindAttribute(XCAFDoc::ViewRefEnabledShapesGUID(), aPlaneGNode)) {
- aPlaneGNode = new XCAFDoc_GraphNode;
- aPlaneGNode = XCAFDoc_GraphNode::Set(theShapesTransparencyLabels.Value(i));
+ if (!theShapesTransparencyLabels.Value(i).FindAttribute(XCAFDoc::ViewRefEnabledShapesGUID(), aShapeGNode)) {
+ aShapeGNode = new XCAFDoc_GraphNode;
+ aShapeGNode = XCAFDoc_GraphNode::Set(theShapesTransparencyLabels.Value(i));
}
- aPlaneGNode->SetGraphID(XCAFDoc::ViewRefEnabledShapesGUID());
- aPlaneGNode->SetChild(aChGNode);
- aChGNode->SetFather(aPlaneGNode);
+ aShapeGNode->SetGraphID(XCAFDoc::ViewRefEnabledShapesGUID());
+ aShapeGNode->SetChild(aChGNode);
+ 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 : GetRefShapeLabel
//purpose :
return Standard_True;
}
+//=======================================================================
+//function : GetRefNotesLabel
+//purpose :
+//=======================================================================
+Standard_Boolean XCAFDoc_ViewTool::GetRefNoteLabel(const TDF_Label& theViewL,
+ TDF_LabelSequence& theNoteLabels) const
+{
+ theNoteLabels.Clear();
+ Handle(TDataStd_TreeNode) aNode;
+ if (!theViewL.FindAttribute(XCAFDoc::ViewRefGUID(), aNode) || !aNode->HasFather()) {
+ Handle(XCAFDoc_GraphNode) aGNode;
+ if (theViewL.FindAttribute(XCAFDoc::ViewRefNoteGUID(), aGNode) && aGNode->NbFathers() > 0) {
+ for (Standard_Integer i = 1; i <= aGNode->NbFathers(); i++)
+ theNoteLabels.Append(aGNode->GetFather(i)->Label());
+ return Standard_True;
+ }
+ else
+ return Standard_False;
+ }
+
+ theNoteLabels.Append(aNode->Father()->Label());
+ return Standard_True;
+}
+
//=======================================================================
//function : GetViewLabelsForShape
//purpose :
return aResult;
}
+//=======================================================================
+//function : GetViewLabelsForNote
+//purpose :
+//=======================================================================
+Standard_Boolean XCAFDoc_ViewTool::GetViewLabelsForNote(const TDF_Label& theNoteL, TDF_LabelSequence& theViews)const
+{
+ Handle(XCAFDoc_GraphNode) aGNode;
+ Standard_Boolean aResult = Standard_False;
+ if (theNoteL.FindAttribute(XCAFDoc::ViewRefNoteGUID(), aGNode) && aGNode->NbChildren() > 0) {
+ for (Standard_Integer i = 1; i <= aGNode->NbChildren(); i++)
+ {
+ theViews.Append(aGNode->GetChild(i)->Label());
+ }
+ aResult = Standard_True;
+ }
+ return aResult;
+}
+
//=======================================================================
//function : IsLocked
//purpose :
//! Set Clipping planes to given View
Standard_EXPORT void SetClippingPlanes(const TDF_LabelSequence& theClippingPlaneLabels,
const TDF_Label& theViewL) const;
+ //! Set Enabled shapes to given View
Standard_EXPORT void SetEnabledShapes(const TDF_LabelSequence& theShapesTransparencyLabels,
const TDF_Label& theViewL) const;
+ //! Set Notes to given View
+ Standard_EXPORT void SetNotes(const TDF_LabelSequence& theNoteLabels,
+ const TDF_Label& theViewL) const;
//! Returns all View labels defined for label ShapeL
Standard_EXPORT Standard_Boolean GetViewLabelsForShape(const TDF_Label& theShapeL, TDF_LabelSequence& theViews) const;
//! Returns all View labels defined for label Shapes transparency
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
Standard_EXPORT TDF_Label AddView() ;
//! Returns shapes transparency labels defined for label theViewL
//! Returns False if the theViewL is not in View table
Standard_EXPORT Standard_Boolean GetRefEnabledShapesLabel(const TDF_Label& theViewL, TDF_LabelSequence& theShapesTranspanencyLabels) const;
+
+ //! Returns Note labels defined for label theViewL
+ //! Returns False if the theViewL is not in View table
+ Standard_EXPORT Standard_Boolean GetRefNoteLabel(const TDF_Label& theViewL, TDF_LabelSequence& theNoteLabels) const;
+
//! Returns true if the given View is marked as locked
Standard_EXPORT Standard_Boolean IsLocked(const TDF_Label& theViewL) const;