mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-21 10:13:43 +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_Integer.hxx>
|
||||||
#include <TDataStd_Real.hxx>
|
#include <TDataStd_Real.hxx>
|
||||||
#include <TDataStd_RealArray.hxx>
|
#include <TDataStd_RealArray.hxx>
|
||||||
|
#include <TDataStd_ByteArray.hxx>
|
||||||
#include <TDataXtd_Axis.hxx>
|
#include <TDataXtd_Axis.hxx>
|
||||||
#include <TDataXtd_Geometry.hxx>
|
#include <TDataXtd_Geometry.hxx>
|
||||||
#include <TDataXtd_Plane.hxx>
|
#include <TDataXtd_Plane.hxx>
|
||||||
@ -45,7 +46,8 @@ enum ChildLab
|
|||||||
ChildLab_BackPlaneDistance,
|
ChildLab_BackPlaneDistance,
|
||||||
ChildLab_ViewVolumeSidesClipping,
|
ChildLab_ViewVolumeSidesClipping,
|
||||||
ChildLab_ClippingExpression,
|
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));
|
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);
|
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;
|
return anObj;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,6 +28,7 @@ XCAFView_Object::XCAFView_Object()
|
|||||||
myBackPlaneClipping = Standard_False;
|
myBackPlaneClipping = Standard_False;
|
||||||
myViewVolumeSidesClipping = Standard_False;
|
myViewVolumeSidesClipping = Standard_False;
|
||||||
myGDTPoints = NULL;
|
myGDTPoints = NULL;
|
||||||
|
myImage = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
@ -50,5 +51,6 @@ XCAFView_Object::XCAFView_Object(const Handle(XCAFView_Object)& theObj)
|
|||||||
myBackPlaneDistance = theObj->myBackPlaneDistance;
|
myBackPlaneDistance = theObj->myBackPlaneDistance;
|
||||||
myViewVolumeSidesClipping = theObj->myViewVolumeSidesClipping;
|
myViewVolumeSidesClipping = theObj->myViewVolumeSidesClipping;
|
||||||
myGDTPoints = NULL;
|
myGDTPoints = NULL;
|
||||||
|
myImage = theObj->myImage;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -26,6 +26,7 @@
|
|||||||
#include <TColgp_HArray1OfPnt.hxx>
|
#include <TColgp_HArray1OfPnt.hxx>
|
||||||
#include <TCollection_HAsciiString.hxx>
|
#include <TCollection_HAsciiString.hxx>
|
||||||
#include <XCAFView_ProjectionType.hxx>
|
#include <XCAFView_ProjectionType.hxx>
|
||||||
|
#include <TColStd_HArray1OfByte.hxx>
|
||||||
|
|
||||||
class XCAFView_Object;
|
class XCAFView_Object;
|
||||||
DEFINE_STANDARD_HANDLE(XCAFView_Object, Standard_Transient)
|
DEFINE_STANDARD_HANDLE(XCAFView_Object, Standard_Transient)
|
||||||
@ -218,6 +219,20 @@ public:
|
|||||||
return gp_Pnt();
|
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)
|
DEFINE_STANDARD_RTTIEXT(XCAFView_Object,Standard_Transient)
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@ -237,6 +252,7 @@ private:
|
|||||||
Standard_Real myBackPlaneDistance;
|
Standard_Real myBackPlaneDistance;
|
||||||
Standard_Boolean myViewVolumeSidesClipping;
|
Standard_Boolean myViewVolumeSidesClipping;
|
||||||
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;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // _XCAFView_Object_HeaderFile
|
#endif // _XCAFView_Object_HeaderFile
|
||||||
|
Loading…
x
Reference in New Issue
Block a user