mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-21 10:13:43 +03:00
Saving notes positions in the view
This commit is contained in:
parent
611cd82c38
commit
678c09482c
@ -48,7 +48,8 @@ enum ChildLab
|
|||||||
ChildLab_ClippingExpression,
|
ChildLab_ClippingExpression,
|
||||||
ChildLab_GDTPoints,
|
ChildLab_GDTPoints,
|
||||||
ChildLab_Image,
|
ChildLab_Image,
|
||||||
ChildLab_EnabledShapes
|
ChildLab_EnabledShapes,
|
||||||
|
ChildLab_NotePoints
|
||||||
};
|
};
|
||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
@ -170,6 +171,14 @@ void XCAFDoc_View::SetObject (const Handle(XCAFView_Object)& theObject)
|
|||||||
TDataStd_Integer::Set(aShapeTranspLabel.FindChild(i), aValue);
|
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));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
@ -298,6 +307,19 @@ Handle(XCAFView_Object) XCAFDoc_View::GetObject() const
|
|||||||
anObj->SetEnabledShape(i, aValue);
|
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;
|
return anObj;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -30,6 +30,7 @@ XCAFView_Object::XCAFView_Object()
|
|||||||
myGDTPoints = NULL;
|
myGDTPoints = NULL;
|
||||||
myImage = NULL;
|
myImage = NULL;
|
||||||
myEnabledShapes = NULL;
|
myEnabledShapes = NULL;
|
||||||
|
myNotePoints = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
@ -54,5 +55,6 @@ XCAFView_Object::XCAFView_Object(const Handle(XCAFView_Object)& theObj)
|
|||||||
myGDTPoints = NULL;
|
myGDTPoints = NULL;
|
||||||
myImage = theObj->myImage;
|
myImage = theObj->myImage;
|
||||||
myEnabledShapes = NULL;
|
myEnabledShapes = NULL;
|
||||||
|
myGDTPoints = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -270,6 +270,41 @@ public:
|
|||||||
else
|
else
|
||||||
return Standard_False;
|
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)
|
DEFINE_STANDARD_RTTIEXT(XCAFView_Object,Standard_Transient)
|
||||||
|
|
||||||
@ -292,6 +327,7 @@ private:
|
|||||||
Handle(TColgp_HArray1OfPnt) myGDTPoints; // Point for each GDT to describe position of GDT frame in View.
|
Handle(TColgp_HArray1OfPnt) myGDTPoints; // Point for each GDT to describe position of GDT frame in View.
|
||||||
Handle(TColStd_HArray1OfByte) myImage;
|
Handle(TColStd_HArray1OfByte) myImage;
|
||||||
Handle(TColStd_HArray1OfBoolean) myEnabledShapes;
|
Handle(TColStd_HArray1OfBoolean) myEnabledShapes;
|
||||||
|
Handle(TColgp_HArray1OfPnt) myNotePoints;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // _XCAFView_Object_HeaderFile
|
#endif // _XCAFView_Object_HeaderFile
|
||||||
|
Loading…
x
Reference in New Issue
Block a user