mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-16 10:08:36 +03:00
Implementation of global functions STANDARD_TYPE() for types not inheriting Standard_Transient or Standard_Persistent are eliminated. Global functions and class methods ShallowCopy() are removed; also removed unused classes Visual3d_PickPath and Visual3d_PickDescriptor. Global functions and class methods ShallowDump() are removed, except for classes Standard_GUID, TopLoc_Datum, and TopLoc_Location as the latter are still used in some Debug printouts.
87 lines
3.6 KiB
C++
87 lines
3.6 KiB
C++
// Copyright (c) 1998-1999 Matra Datavision
|
|
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
|
//
|
|
// This file is part of Open CASCADE Technology software library.
|
|
//
|
|
// This library is free software; you can redistribute it and/or modify it under
|
|
// the terms of the GNU Lesser General Public License version 2.1 as published
|
|
// by the Free Software Foundation, with special exception defined in the file
|
|
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
|
// distribution for complete text of the license and disclaimer of any warranty.
|
|
//
|
|
// Alternatively, this file may be used under the terms of Open CASCADE
|
|
// commercial license or contractual agreement.
|
|
|
|
#ifndef _Storage_Macros_HeaderFile
|
|
#define _Storage_Macros_HeaderFile 1
|
|
#include <Storage_SolveMode.hxx>
|
|
|
|
// PROTOTYPES
|
|
#define Storage_DECLARE_SCHEMA_METHODS(schema) public: \
|
|
Standard_EXPORT Handle(Storage_CallBack) CallBackSelection(const TCollection_AsciiString&) const; \
|
|
Standard_EXPORT Handle(Storage_CallBack) AddTypeSelection(const Handle(Standard_Persistent)&) const; \
|
|
Standard_EXPORT const TColStd_SequenceOfAsciiString& SchemaKnownTypes() const;
|
|
|
|
// Read_TypeSelection
|
|
//
|
|
#define Storage_BEGIN_READ_SELECTION(schema) \
|
|
Handle(Storage_CallBack) schema::CallBackSelection(const TCollection_AsciiString& rt) const \
|
|
{ \
|
|
Handle(Standard_Persistent) p; \
|
|
Handle(Storage_CallBack) cback;
|
|
|
|
#define Storage_READ_SELECTION(schema,classe,callback) if (strcmp(rt.ToCString(),#classe) == 0) { \
|
|
cback = new callback ; \
|
|
return cback; \
|
|
}
|
|
|
|
#define Storage_END_READ_SELECTION(schema) cback = ResolveUnknownType(rt,p,Storage_WriteSolve); \
|
|
return cback; \
|
|
}
|
|
|
|
// SchemaKnownTypes
|
|
//
|
|
#define Storage_BEGIN_SCHEMA_TYPES(schema) const TColStd_SequenceOfAsciiString& schema::SchemaKnownTypes() const \
|
|
{ \
|
|
static TColStd_SequenceOfAsciiString aSeq; \
|
|
static Standard_Boolean jsuidjaalai = Standard_False; \
|
|
if (!jsuidjaalai) { \
|
|
jsuidjaalai = Standard_True;
|
|
|
|
#define Storage_SCHEMA_TYPES(classe) aSeq.Append(#classe);
|
|
#define Storage_END_SCHEMA_TYPES(schema) } return aSeq; \
|
|
}
|
|
|
|
// ADD_TypeSelection
|
|
//
|
|
|
|
#define Storage_BEGIN_ADD_TYPES(schema) Handle(Storage_CallBack) schema::AddTypeSelection(const Handle(Standard_Persistent)& p) const \
|
|
{ \
|
|
Handle(Storage_CallBack) cback; \
|
|
if (!p.IsNull()) { \
|
|
const Handle(Standard_Type)& t = p->DynamicType(); \
|
|
static TCollection_AsciiString theTypeName;\
|
|
theTypeName = t->Name(); \
|
|
if (HasTypeBinding(theTypeName)) { \
|
|
cback = TypeBinding(theTypeName); \
|
|
cback->Add(p,this); \
|
|
return cback; \
|
|
}
|
|
|
|
#define Storage_ADD_TYPES(schema,classe,callback) if (t == STANDARD_TYPE(classe)) { \
|
|
cback = new callback ; \
|
|
BindType(theTypeName,cback); \
|
|
cback->Add(p,this); \
|
|
return cback; \
|
|
}
|
|
|
|
#define Storage_END_ADD_TYPES(schema) cback = ResolveUnknownType(theTypeName,p,Storage_AddSolve); \
|
|
if (!cback.IsNull()) { \
|
|
cback->Add(p,this); \
|
|
} \
|
|
return cback; \
|
|
} \
|
|
return cback; \
|
|
}
|
|
#endif
|