mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-10 18:51:21 +03:00
Storage image to view
This commit is contained in:
parent
e3f977d899
commit
49c79be2c3
@ -20,6 +20,7 @@
|
||||
#include <TDataStd_Integer.hxx>
|
||||
#include <TDataStd_Real.hxx>
|
||||
#include <TDataStd_RealArray.hxx>
|
||||
#include <TDataStd_ByteArray.hxx>
|
||||
#include <TDataXtd_Axis.hxx>
|
||||
#include <TDataXtd_Geometry.hxx>
|
||||
#include <TDataXtd_Plane.hxx>
|
||||
@ -45,7 +46,8 @@ enum ChildLab
|
||||
ChildLab_BackPlaneDistance,
|
||||
ChildLab_ViewVolumeSidesClipping,
|
||||
ChildLab_ClippingExpression,
|
||||
ChildLab_GDTPoints
|
||||
ChildLab_GDTPoints,
|
||||
ChildLab_Image
|
||||
};
|
||||
|
||||
//=======================================================================
|
||||
@ -149,6 +151,15 @@ void XCAFDoc_View::SetObject (const Handle(XCAFView_Object)& theObject)
|
||||
TDataXtd_Point::Set(aPointsLabel.FindChild(i), theObject->GDTPoint(i));
|
||||
}
|
||||
}
|
||||
//Image
|
||||
if (theObject->HasImage())
|
||||
{
|
||||
Handle(TColStd_HArray1OfByte) image = theObject->Image();
|
||||
Handle(TDataStd_ByteArray) arr = TDataStd_ByteArray::Set(Label().FindChild(ChildLab_Image), image->Lower(), image->Upper());
|
||||
for (Standard_Integer i = image->Lower(); i <= image->Upper(); i++) {
|
||||
arr->SetValue(i, image->Value(i));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
@ -259,7 +270,11 @@ Handle(XCAFView_Object) XCAFDoc_View::GetObject() const
|
||||
anObj->SetGDTPoint(i, aPoint);
|
||||
}
|
||||
}
|
||||
|
||||
//Image
|
||||
Handle(TDataStd_ByteArray) anArr;
|
||||
if (Label().FindChild(ChildLab_Image).FindAttribute(TDataStd_ByteArray::GetID(), anArr)) {
|
||||
anObj->SetImage(anArr->InternalArray());
|
||||
}
|
||||
return anObj;
|
||||
}
|
||||
|
||||
|
@ -28,6 +28,7 @@ XCAFView_Object::XCAFView_Object()
|
||||
myBackPlaneClipping = Standard_False;
|
||||
myViewVolumeSidesClipping = Standard_False;
|
||||
myGDTPoints = NULL;
|
||||
myImage = NULL;
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
@ -50,5 +51,6 @@ XCAFView_Object::XCAFView_Object(const Handle(XCAFView_Object)& theObj)
|
||||
myBackPlaneDistance = theObj->myBackPlaneDistance;
|
||||
myViewVolumeSidesClipping = theObj->myViewVolumeSidesClipping;
|
||||
myGDTPoints = NULL;
|
||||
myImage = theObj->myImage;
|
||||
}
|
||||
|
||||
|
@ -26,6 +26,7 @@
|
||||
#include <TColgp_HArray1OfPnt.hxx>
|
||||
#include <TCollection_HAsciiString.hxx>
|
||||
#include <XCAFView_ProjectionType.hxx>
|
||||
#include <TColStd_HArray1OfByte.hxx>
|
||||
|
||||
class XCAFView_Object;
|
||||
DEFINE_STANDARD_HANDLE(XCAFView_Object, Standard_Transient)
|
||||
@ -217,7 +218,21 @@ public:
|
||||
else
|
||||
return gp_Pnt();
|
||||
}
|
||||
|
||||
|
||||
Standard_EXPORT void SetImage(Handle(TColStd_HArray1OfByte) theImage)
|
||||
{
|
||||
myImage = theImage;
|
||||
}
|
||||
|
||||
Standard_EXPORT Handle(TColStd_HArray1OfByte) Image()
|
||||
{
|
||||
return myImage;
|
||||
}
|
||||
|
||||
Standard_EXPORT Standard_Boolean HasImage()
|
||||
{
|
||||
return (!myImage.IsNull());
|
||||
}
|
||||
DEFINE_STANDARD_RTTIEXT(XCAFView_Object,Standard_Transient)
|
||||
|
||||
private:
|
||||
@ -237,6 +252,7 @@ private:
|
||||
Standard_Real myBackPlaneDistance;
|
||||
Standard_Boolean myViewVolumeSidesClipping;
|
||||
Handle(TColgp_HArray1OfPnt) myGDTPoints; // Point for each GDT to describe position of GDT frame in View.
|
||||
Handle(TColStd_HArray1OfByte) myImage;
|
||||
};
|
||||
|
||||
#endif // _XCAFView_Object_HeaderFile
|
||||
|
Loading…
x
Reference in New Issue
Block a user