ChildLab_ViewVolumeSidesClipping,
ChildLab_GDTPoints,
ChildLab_Image,
- ChildLab_EnabledShapes
+ ChildLab_EnabledShapes,
+ ChildLab_NotePoints
};
//=======================================================================
TDataStd_Integer::Set(aShapeTranspLabel.FindChild(i), aValue);
}
}
+ //note points
+ if (theObject->HasNotePoints())
+ {
+ TDF_Label aPointsLabel = Label().FindChild(ChildLab_NotePoints);
+ for (Standard_Integer i = 1; i <= theObject->NbNotePoints(); i++) {
+ TDataXtd_Point::Set(aPointsLabel.FindChild(i), theObject->NotePoint(i));
+ }
+ }
}
//=======================================================================
anObj->SetEnabledShape(i, aValue);
}
}
+
+ // Note Points
+ if (!Label().FindChild(ChildLab_NotePoints, Standard_False).IsNull()) {
+ TDF_Label aPointsLabel = Label().FindChild(ChildLab_NotePoints);
+ anObj->CreateNotePoints(aPointsLabel.NbChildren());
+ for (Standard_Integer i = 1; i <= aPointsLabel.NbChildren(); i++) {
+ gp_Pnt aPoint;
+ Handle(TDataXtd_Point) aPointAttr;
+ aPointsLabel.FindChild(i).FindAttribute(TDataXtd_Point::GetID(), aPointAttr);
+ TDataXtd_Geometry::Point(aPointAttr->Label(), aPoint);
+ anObj->SetNotePoint(i, aPoint);
+ }
+ }
return anObj;
}
myGDTPoints = NULL;
myImage = NULL;
myEnabledShapes = NULL;
+ myNotePoints = NULL;
}
//=======================================================================
myGDTPoints = NULL;
myImage = theObj->myImage;
myEnabledShapes = NULL;
+ myGDTPoints = NULL;
}
else
return Standard_False;
}
+ Standard_EXPORT void CreateNotePoints(const Standard_Integer theLenght)
+ {
+ if (theLenght > 0)
+ myNotePoints = new TColgp_HArray1OfPnt(1, theLenght);
+ }
+
+ Standard_EXPORT Standard_Boolean HasNotePoints()
+ {
+ return (!myNotePoints.IsNull());
+ }
+
+ Standard_EXPORT Standard_Integer NbNotePoints()
+ {
+ if (myNotePoints.IsNull())
+ return 0;
+ return myNotePoints->Length();
+ }
+
+ Standard_EXPORT void SetNotePoint(const Standard_Integer theIndex, const gp_Pnt thePoint)
+ {
+ if (myNotePoints.IsNull())
+ return;
+ if (theIndex > 0 && theIndex <= myNotePoints->Length())
+ myNotePoints->SetValue(theIndex, thePoint);
+ }
+
+ Standard_EXPORT gp_Pnt NotePoint(const Standard_Integer theIndex)
+ {
+ if (myNotePoints.IsNull())
+ return gp_Pnt();
+ if (theIndex > 0 && theIndex <= myNotePoints->Length())
+ return myNotePoints->Value(theIndex);
+ else
+ return gp_Pnt();
+ }
DEFINE_STANDARD_RTTIEXT(XCAFView_Object,Standard_Transient)
Handle(TColgp_HArray1OfPnt) myGDTPoints; // Point for each GDT to describe position of GDT frame in View.
Handle(TColStd_HArray1OfByte) myImage;
Handle(TColStd_HArray1OfBoolean) myEnabledShapes;
+ Handle(TColgp_HArray1OfPnt) myNotePoints;
};
#endif // _XCAFView_Object_HeaderFile