Dear all,
We develop a 3D software linked to OCC v6.9 and we would like to use the v7.1 last release now.
We notice a big gap for the serialize issue between the two versions :
In the v6.9, we could directly serialize a TopoDs_Shape in a binary file just like that :
Writing method :
void CBRepGeometry::Store(CArchiveWriter& pWriter) const
{
FSD_Archive lOccAr = FSD_Archive(&pWriter) ;
Handle_ShapeSchema occSchema = BuildOcc<ShapeSchema>() ;
Handle_Storage_Data d = BuildOcc<Storage_Data>() ;
PTColStd_TransientPersistentMap aMap ;
Handle_PTopoDS_HShape aPShape = MgtBRep::Translate(this->mShape, aMap, MgtBRep_WithoutTriangle) ;
d->AddRoot("", aPShape) ;
occSchema->Write(lOccAr, d) ;
}
Reading method :
void CBRepGeometry::Load(CArchiveReader& pReader)
{
Handle_ShapeSchema occSchema = BuildOcc<ShapeSchema>() ;
FSD_Archive ar = FSD_Archive(&pReader) ;
Handle_Storage_Data d = occSchema->Read(ar) ;
Handle_Storage_HSeqOfRoot roots = d->Roots() ;
Handle_Storage_Root r = roots->Value(1) ;
Handle_Standard_Persistent p = r->Object() ;
Handle_PTopoDS_HShape aPShape = Handle_PTopoDS_HShape::DownCast(p) ;
// Create the shape
PTColStd_PersistentTransientMap aMap ;
MgtBRep::Translate(aPShape, aMap, this->mShape, MgtBRep_WithoutTriangle) ;
this->SetShape(this->mShape) ;
}
These OCC objects do not exist anymore in OCC 7.1.
So please how is supported the retro-compatibility ?
And what is the current mecanism to do the job ?
I cannot find such an information in the OCC documentation.
Thanks in advance,
Jc