0031839: Application Framework - Add ability to partially load OCAF document
Added PCDM_ReaderFilter class that could be used in Open methods of TDocStd_Application. If it is defined, it allows to read:
- into already opened document in append mode AppendMode_Protect (do not overwrite existing attributes) or AppendMode_Overwrite
- only specified sub-trees of the document using AddPath (const TCollection_AsciiString& theEntryToRead)
- only specified attributes using AddRead (const TCollection_AsciiString& theRead) where theRead could be "TDataStd_Name", for example
- to skip specified attributes read using AddSkipped (const TCollection_AsciiString& theSkipped) where theSkipped could be "TDF_Reference", for example
The current limitations:
- only in Bin format
- if shapes have in the document shared topology, loaded in "append" mode in different "load" operations, they will have no shared topology anymore (it is very hard to implement it in the current format without loading time loses)
- only TopoDS_Shapes are loaded in "postponed mode", because all other elements stored in the shapes section loaded in the same time anyway do they created or not: locations, curves, surfaces, triangulation, etc.
Added filter usage description into OCAF User Guide.
# Conflicts:
# src/BinTools/BinTools_ShapeSet.cxx
# src/BinTools/BinTools_ShapeSet.hxx