mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-09-13 14:27:08 +03:00
Data Exchange, DE Wrapper - Reorganisation of plugin system for Configuration Nodes (#696)
- Added Register and UnRegister methods to DE_ConfigurationNode for managing bindings with DE_Wrapper. - Introduced DE_MultiPluginHolder to facilitate registration of multiple configuration nodes simultaneously. - Created new plugin factory functions for various configuration nodes (DEBREP, DEXCAF, DEGLTF, DEIGES, DEOBJ, DEPLY, DESTEP, DESTL, DEVRML) to streamline their registration with DE_Wrapper. - Removed unnecessary DE_PluginHolder instances from individual configuration node implementations. - Updated CMake files to include newly created source files for each configuration node. - Implemented singleton patterns in draw commands to ensure plugins are registered only once during initialization.
This commit is contained in:
@@ -139,3 +139,17 @@ bool DE_ConfigurationNode::CheckContent(const Handle(NCollection_Buffer)& theBuf
|
|||||||
(void)theBuffer;
|
(void)theBuffer;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//=================================================================================================
|
||||||
|
|
||||||
|
void DE_ConfigurationNode::Register(const Handle(DE_Wrapper)& theWrapper) const
|
||||||
|
{
|
||||||
|
theWrapper->Bind(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
//=================================================================================================
|
||||||
|
|
||||||
|
void DE_ConfigurationNode::UnRegister(const Handle(DE_Wrapper)& theWrapper) const
|
||||||
|
{
|
||||||
|
theWrapper->UnBind(this);
|
||||||
|
}
|
||||||
|
@@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
class DE_ConfigurationContext;
|
class DE_ConfigurationContext;
|
||||||
class DE_Provider;
|
class DE_Provider;
|
||||||
|
class DE_Wrapper;
|
||||||
class NCollection_Buffer;
|
class NCollection_Buffer;
|
||||||
|
|
||||||
//! Base class to work with CAD transfer properties.
|
//! Base class to work with CAD transfer properties.
|
||||||
@@ -154,6 +155,16 @@ public:
|
|||||||
//!< unit is unknown, default 1.0 (MM)
|
//!< unit is unknown, default 1.0 (MM)
|
||||||
} GlobalParameters;
|
} GlobalParameters;
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//! Registers configuration node with the specified wrapper
|
||||||
|
//! @param[in] theWrapper wrapper to register with
|
||||||
|
Standard_EXPORT virtual void Register(const Handle(DE_Wrapper)& theWrapper) const;
|
||||||
|
|
||||||
|
//! Unregisters configuration node from the specified wrapper
|
||||||
|
//! @param[in] theWrapper wrapper to unregister from
|
||||||
|
Standard_EXPORT virtual void UnRegister(const Handle(DE_Wrapper)& theWrapper) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Standard_Boolean myIsEnabled; //!< Flag to use a current provider for Read or Write process via DE_Wrapper
|
Standard_Boolean myIsEnabled; //!< Flag to use a current provider for Read or Write process via DE_Wrapper
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
@@ -15,6 +15,7 @@
|
|||||||
#define _DE_PluginHolder_HeaderFile
|
#define _DE_PluginHolder_HeaderFile
|
||||||
|
|
||||||
#include <DE_Wrapper.hxx>
|
#include <DE_Wrapper.hxx>
|
||||||
|
#include <tuple>
|
||||||
|
|
||||||
//! Base class to work with DE_Wrapper global registration of components.
|
//! Base class to work with DE_Wrapper global registration of components.
|
||||||
//! Control life-time of current configuration node.
|
//! Control life-time of current configuration node.
|
||||||
@@ -29,17 +30,80 @@ public:
|
|||||||
{
|
{
|
||||||
Standard_Mutex::Sentry aLock(DE_Wrapper::GlobalLoadMutex());
|
Standard_Mutex::Sentry aLock(DE_Wrapper::GlobalLoadMutex());
|
||||||
myInternalConfiguration = new TheConfType;
|
myInternalConfiguration = new TheConfType;
|
||||||
DE_Wrapper::GlobalWrapper()->Bind(myInternalConfiguration);
|
myInternalConfiguration->Register(DE_Wrapper::GlobalWrapper());
|
||||||
}
|
}
|
||||||
|
|
||||||
~DE_PluginHolder()
|
~DE_PluginHolder()
|
||||||
{
|
{
|
||||||
Standard_Mutex::Sentry aLock(DE_Wrapper::GlobalLoadMutex());
|
Standard_Mutex::Sentry aLock(DE_Wrapper::GlobalLoadMutex());
|
||||||
DE_Wrapper::GlobalWrapper()->UnBind(myInternalConfiguration);
|
myInternalConfiguration->UnRegister(DE_Wrapper::GlobalWrapper());
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Handle(TheConfType) myInternalConfiguration; //!< Wrapped object
|
Handle(TheConfType) myInternalConfiguration; //!< Wrapped object
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//! Helper class for variadic plugin registration.
|
||||||
|
//! Allows registration of multiple configuration node types simultaneously.
|
||||||
|
template <typename... TheConfTypes>
|
||||||
|
class DE_MultiPluginHolder
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
DE_MultiPluginHolder()
|
||||||
|
: myHolders{}
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
std::tuple<DE_PluginHolder<TheConfTypes>...> myHolders; //!< Tuple of individual plugin holders
|
||||||
|
};
|
||||||
|
|
||||||
|
//! Macro to define plugin factory function for DE_Wrapper configuration nodes.
|
||||||
|
//! @param[in] theNodeType - first configuration node class to instantiate
|
||||||
|
//! @param[in] ... - additional configuration node classes to instantiate (optional)
|
||||||
|
//! Needs to be called after loading of the library to register configuration nodes.
|
||||||
|
//!
|
||||||
|
//! Example of usage:
|
||||||
|
//! @code
|
||||||
|
//! // Inside implementation of the configuration node source file:
|
||||||
|
//! DEPLUGIN(DESTEP_ConfigurationNode)
|
||||||
|
//!
|
||||||
|
//! // For multiple node types:
|
||||||
|
//! DEPLUGIN(DESTEP_ConfigurationNode, DEIGES_ConfigurationNode, DEVRML_ConfigurationNode)
|
||||||
|
//! @endcode
|
||||||
|
//!
|
||||||
|
//! After loading of the library TKDESTEP:
|
||||||
|
//! @code
|
||||||
|
//! OSD_SharedLibrary aSharedLibrary("libTKDESTEP.so");
|
||||||
|
//! if (!aSharedLibrary.DlOpen(OSD_RTLD_LAZY))
|
||||||
|
//! {
|
||||||
|
//! // Error handling
|
||||||
|
//! return;
|
||||||
|
//! }
|
||||||
|
//!
|
||||||
|
//! typedef void (*PluginFactoryFunc)();
|
||||||
|
//! PluginFactoryFunc aFunc = (PluginFactoryFunc)aSharedLibrary.DlSymb("PLUGINFACTORY");
|
||||||
|
//! if (aFunc == NULL)
|
||||||
|
//! {
|
||||||
|
//! // Error handling
|
||||||
|
//! return;
|
||||||
|
//! }
|
||||||
|
//!
|
||||||
|
//! aFunc(); // Call factory function to register configuration nodes
|
||||||
|
//! @endcode
|
||||||
|
//!
|
||||||
|
//! Will create instances of all specified configuration nodes and set them to DE_Wrapper global
|
||||||
|
//! configuration.
|
||||||
|
//!
|
||||||
|
//! Note: if OCCT_NO_PLUGINS is defined, macro does nothing.
|
||||||
|
#ifdef OCCT_NO_PLUGINS
|
||||||
|
#define DEPLUGIN(theNodeType, ...)
|
||||||
|
#else
|
||||||
|
#define DEPLUGIN(theNodeType, ...) \
|
||||||
|
extern "C" Standard_EXPORT void PLUGINFACTORY() \
|
||||||
|
{ \
|
||||||
|
static DE_MultiPluginHolder<theNodeType, ##__VA_ARGS__> aMultiHolder; \
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif // _DE_PluginHolder_HeaderFile
|
#endif // _DE_PluginHolder_HeaderFile
|
||||||
|
@@ -14,7 +14,6 @@
|
|||||||
#include <DE_ShapeFixConfigurationNode.hxx>
|
#include <DE_ShapeFixConfigurationNode.hxx>
|
||||||
|
|
||||||
#include <DE_ConfigurationContext.hxx>
|
#include <DE_ConfigurationContext.hxx>
|
||||||
#include <DE_PluginHolder.hxx>
|
|
||||||
#include <DE_Wrapper.hxx>
|
#include <DE_Wrapper.hxx>
|
||||||
|
|
||||||
IMPLEMENT_STANDARD_RTTIEXT(DE_ShapeFixConfigurationNode, DE_ConfigurationNode)
|
IMPLEMENT_STANDARD_RTTIEXT(DE_ShapeFixConfigurationNode, DE_ConfigurationNode)
|
||||||
|
@@ -15,7 +15,6 @@
|
|||||||
|
|
||||||
#include <DEBREP_Provider.hxx>
|
#include <DEBREP_Provider.hxx>
|
||||||
#include <DE_ConfigurationContext.hxx>
|
#include <DE_ConfigurationContext.hxx>
|
||||||
#include <DE_PluginHolder.hxx>
|
|
||||||
#include <NCollection_Buffer.hxx>
|
#include <NCollection_Buffer.hxx>
|
||||||
|
|
||||||
IMPLEMENT_STANDARD_RTTIEXT(DEBREP_ConfigurationNode, DE_ConfigurationNode)
|
IMPLEMENT_STANDARD_RTTIEXT(DEBREP_ConfigurationNode, DE_ConfigurationNode)
|
||||||
@@ -28,8 +27,6 @@ static const TCollection_AsciiString& THE_CONFIGURATION_SCOPE()
|
|||||||
return aScope;
|
return aScope;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Wrapper to auto-load DE component
|
|
||||||
DE_PluginHolder<DEBREP_ConfigurationNode> THE_OCCT_BREP_COMPONENT_PLUGIN;
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
//=================================================================================================
|
//=================================================================================================
|
||||||
|
@@ -15,7 +15,6 @@
|
|||||||
|
|
||||||
#include <DEXCAF_Provider.hxx>
|
#include <DEXCAF_Provider.hxx>
|
||||||
#include <DE_ConfigurationContext.hxx>
|
#include <DE_ConfigurationContext.hxx>
|
||||||
#include <DE_PluginHolder.hxx>
|
|
||||||
#include <NCollection_Buffer.hxx>
|
#include <NCollection_Buffer.hxx>
|
||||||
|
|
||||||
IMPLEMENT_STANDARD_RTTIEXT(DEXCAF_ConfigurationNode, DE_ConfigurationNode)
|
IMPLEMENT_STANDARD_RTTIEXT(DEXCAF_ConfigurationNode, DE_ConfigurationNode)
|
||||||
@@ -28,8 +27,6 @@ static const TCollection_AsciiString& THE_CONFIGURATION_SCOPE()
|
|||||||
return aScope;
|
return aScope;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Wrapper to auto-load DE component
|
|
||||||
DE_PluginHolder<DEXCAF_ConfigurationNode> THE_OCCT_XCAF_COMPONENT_PLUGIN;
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
//=================================================================================================
|
//=================================================================================================
|
||||||
|
@@ -4,4 +4,5 @@ set(OCCT_TKDECascade_FILES_LOCATION "${CMAKE_CURRENT_LIST_DIR}")
|
|||||||
set(OCCT_TKDECascade_FILES
|
set(OCCT_TKDECascade_FILES
|
||||||
EXTERNLIB
|
EXTERNLIB
|
||||||
PACKAGES
|
PACKAGES
|
||||||
|
TKDECascade.cxx
|
||||||
)
|
)
|
||||||
|
21
src/DataExchange/TKDECascade/TKDECascade.cxx
Normal file
21
src/DataExchange/TKDECascade/TKDECascade.cxx
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
// Copyright (c) 2025 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.
|
||||||
|
|
||||||
|
#include <DEBREP_ConfigurationNode.hxx>
|
||||||
|
#include <DEXCAF_ConfigurationNode.hxx>
|
||||||
|
#include <DE_PluginHolder.hxx>
|
||||||
|
|
||||||
|
//! Plugin factory function to register TKDECascade configuration nodes.
|
||||||
|
//! Call PLUGINFACTORY() to register both DEBREP_ConfigurationNode and DEXCAF_ConfigurationNode
|
||||||
|
//! with the global DE_Wrapper.
|
||||||
|
DEPLUGIN(DEBREP_ConfigurationNode, DEXCAF_ConfigurationNode)
|
@@ -15,7 +15,6 @@
|
|||||||
|
|
||||||
#include <DEGLTF_Provider.hxx>
|
#include <DEGLTF_Provider.hxx>
|
||||||
#include <DE_ConfigurationContext.hxx>
|
#include <DE_ConfigurationContext.hxx>
|
||||||
#include <DE_PluginHolder.hxx>
|
|
||||||
|
|
||||||
IMPLEMENT_STANDARD_RTTIEXT(DEGLTF_ConfigurationNode, DE_ConfigurationNode)
|
IMPLEMENT_STANDARD_RTTIEXT(DEGLTF_ConfigurationNode, DE_ConfigurationNode)
|
||||||
|
|
||||||
@@ -27,8 +26,6 @@ static const TCollection_AsciiString& THE_CONFIGURATION_SCOPE()
|
|||||||
return aScope;
|
return aScope;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Wrapper to auto-load DE component
|
|
||||||
DE_PluginHolder<DEGLTF_ConfigurationNode> THE_OCCT_GLTF_COMPONENT_PLUGIN;
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
//=================================================================================================
|
//=================================================================================================
|
||||||
|
@@ -4,4 +4,5 @@ set(OCCT_TKDEGLTF_FILES_LOCATION "${CMAKE_CURRENT_LIST_DIR}")
|
|||||||
set(OCCT_TKDEGLTF_FILES
|
set(OCCT_TKDEGLTF_FILES
|
||||||
EXTERNLIB
|
EXTERNLIB
|
||||||
PACKAGES
|
PACKAGES
|
||||||
|
TKDEGLTF.cxx
|
||||||
)
|
)
|
||||||
|
19
src/DataExchange/TKDEGLTF/TKDEGLTF.cxx
Normal file
19
src/DataExchange/TKDEGLTF/TKDEGLTF.cxx
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
// Copyright (c) 2025 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.
|
||||||
|
|
||||||
|
#include <DEGLTF_ConfigurationNode.hxx>
|
||||||
|
#include <DE_PluginHolder.hxx>
|
||||||
|
|
||||||
|
//! Plugin factory function to register DEGLTF configuration node.
|
||||||
|
//! Call PLUGINFACTORY() to register the DEGLTF_ConfigurationNode with the global DE_Wrapper.
|
||||||
|
DEPLUGIN(DEGLTF_ConfigurationNode)
|
@@ -15,7 +15,6 @@
|
|||||||
|
|
||||||
#include <DEIGES_Provider.hxx>
|
#include <DEIGES_Provider.hxx>
|
||||||
#include <DE_ConfigurationContext.hxx>
|
#include <DE_ConfigurationContext.hxx>
|
||||||
#include <DE_PluginHolder.hxx>
|
|
||||||
#include <NCollection_Buffer.hxx>
|
#include <NCollection_Buffer.hxx>
|
||||||
|
|
||||||
IMPLEMENT_STANDARD_RTTIEXT(DEIGES_ConfigurationNode, DE_ShapeFixConfigurationNode)
|
IMPLEMENT_STANDARD_RTTIEXT(DEIGES_ConfigurationNode, DE_ShapeFixConfigurationNode)
|
||||||
@@ -28,8 +27,6 @@ static const TCollection_AsciiString& THE_CONFIGURATION_SCOPE()
|
|||||||
return aScope;
|
return aScope;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Wrapper to auto-load DE component
|
|
||||||
DE_PluginHolder<DEIGES_ConfigurationNode> THE_OCCT_IGES_COMPONENT_PLUGIN;
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
//=================================================================================================
|
//=================================================================================================
|
||||||
|
@@ -5,4 +5,5 @@ set(OCCT_TKDEIGES_FILES
|
|||||||
EXTERNLIB
|
EXTERNLIB
|
||||||
PACKAGES
|
PACKAGES
|
||||||
TKDEIGES_pch.hxx
|
TKDEIGES_pch.hxx
|
||||||
|
TKDEIGES.cxx
|
||||||
)
|
)
|
||||||
|
19
src/DataExchange/TKDEIGES/TKDEIGES.cxx
Normal file
19
src/DataExchange/TKDEIGES/TKDEIGES.cxx
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
// Copyright (c) 2025 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.
|
||||||
|
|
||||||
|
#include <DEIGES_ConfigurationNode.hxx>
|
||||||
|
#include <DE_PluginHolder.hxx>
|
||||||
|
|
||||||
|
//! Plugin factory function to register DEIGES configuration node.
|
||||||
|
//! Call PLUGINFACTORY() to register the DEIGES_ConfigurationNode with the global DE_Wrapper.
|
||||||
|
DEPLUGIN(DEIGES_ConfigurationNode)
|
@@ -15,7 +15,6 @@
|
|||||||
|
|
||||||
#include <DEOBJ_Provider.hxx>
|
#include <DEOBJ_Provider.hxx>
|
||||||
#include <DE_ConfigurationContext.hxx>
|
#include <DE_ConfigurationContext.hxx>
|
||||||
#include <DE_PluginHolder.hxx>
|
|
||||||
|
|
||||||
IMPLEMENT_STANDARD_RTTIEXT(DEOBJ_ConfigurationNode, DE_ConfigurationNode)
|
IMPLEMENT_STANDARD_RTTIEXT(DEOBJ_ConfigurationNode, DE_ConfigurationNode)
|
||||||
|
|
||||||
@@ -27,8 +26,6 @@ static const TCollection_AsciiString& THE_CONFIGURATION_SCOPE()
|
|||||||
return aScope;
|
return aScope;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Wrapper to auto-load DE component
|
|
||||||
DE_PluginHolder<DEOBJ_ConfigurationNode> THE_OCCT_OBJ_COMPONENT_PLUGIN;
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
//=================================================================================================
|
//=================================================================================================
|
||||||
|
@@ -4,4 +4,5 @@ set(OCCT_TKDEOBJ_FILES_LOCATION "${CMAKE_CURRENT_LIST_DIR}")
|
|||||||
set(OCCT_TKDEOBJ_FILES
|
set(OCCT_TKDEOBJ_FILES
|
||||||
EXTERNLIB
|
EXTERNLIB
|
||||||
PACKAGES
|
PACKAGES
|
||||||
|
TKDEOBJ.cxx
|
||||||
)
|
)
|
||||||
|
19
src/DataExchange/TKDEOBJ/TKDEOBJ.cxx
Normal file
19
src/DataExchange/TKDEOBJ/TKDEOBJ.cxx
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
// Copyright (c) 2025 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.
|
||||||
|
|
||||||
|
#include <DEOBJ_ConfigurationNode.hxx>
|
||||||
|
#include <DE_PluginHolder.hxx>
|
||||||
|
|
||||||
|
//! Plugin factory function to register DEOBJ configuration node.
|
||||||
|
//! Call PLUGINFACTORY() to register the DEOBJ_ConfigurationNode with the global DE_Wrapper.
|
||||||
|
DEPLUGIN(DEOBJ_ConfigurationNode)
|
@@ -15,7 +15,6 @@
|
|||||||
|
|
||||||
#include <DEPLY_Provider.hxx>
|
#include <DEPLY_Provider.hxx>
|
||||||
#include <DE_ConfigurationContext.hxx>
|
#include <DE_ConfigurationContext.hxx>
|
||||||
#include <DE_PluginHolder.hxx>
|
|
||||||
#include <NCollection_Buffer.hxx>
|
#include <NCollection_Buffer.hxx>
|
||||||
|
|
||||||
IMPLEMENT_STANDARD_RTTIEXT(DEPLY_ConfigurationNode, DE_ConfigurationNode)
|
IMPLEMENT_STANDARD_RTTIEXT(DEPLY_ConfigurationNode, DE_ConfigurationNode)
|
||||||
@@ -28,8 +27,6 @@ static const TCollection_AsciiString& THE_CONFIGURATION_SCOPE()
|
|||||||
return aScope;
|
return aScope;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Wrapper to auto-load DE component
|
|
||||||
DE_PluginHolder<DEPLY_ConfigurationNode> THE_OCCT_PLY_COMPONENT_PLUGIN;
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
//=================================================================================================
|
//=================================================================================================
|
||||||
|
@@ -4,4 +4,5 @@ set(OCCT_TKDEPLY_FILES_LOCATION "${CMAKE_CURRENT_LIST_DIR}")
|
|||||||
set(OCCT_TKDEPLY_FILES
|
set(OCCT_TKDEPLY_FILES
|
||||||
EXTERNLIB
|
EXTERNLIB
|
||||||
PACKAGES
|
PACKAGES
|
||||||
|
TKDEPLY.cxx
|
||||||
)
|
)
|
||||||
|
19
src/DataExchange/TKDEPLY/TKDEPLY.cxx
Normal file
19
src/DataExchange/TKDEPLY/TKDEPLY.cxx
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
// Copyright (c) 2025 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.
|
||||||
|
|
||||||
|
#include <DEPLY_ConfigurationNode.hxx>
|
||||||
|
#include <DE_PluginHolder.hxx>
|
||||||
|
|
||||||
|
//! Plugin factory function to register DEPLY configuration node.
|
||||||
|
//! Call PLUGINFACTORY() to register the DEPLY_ConfigurationNode with the global DE_Wrapper.
|
||||||
|
DEPLUGIN(DEPLY_ConfigurationNode)
|
@@ -15,7 +15,6 @@
|
|||||||
|
|
||||||
#include <DESTEP_Provider.hxx>
|
#include <DESTEP_Provider.hxx>
|
||||||
#include <DE_ConfigurationContext.hxx>
|
#include <DE_ConfigurationContext.hxx>
|
||||||
#include <DE_PluginHolder.hxx>
|
|
||||||
#include <NCollection_Buffer.hxx>
|
#include <NCollection_Buffer.hxx>
|
||||||
|
|
||||||
IMPLEMENT_STANDARD_RTTIEXT(DESTEP_ConfigurationNode, DE_ShapeFixConfigurationNode)
|
IMPLEMENT_STANDARD_RTTIEXT(DESTEP_ConfigurationNode, DE_ShapeFixConfigurationNode)
|
||||||
@@ -28,8 +27,6 @@ static const TCollection_AsciiString& THE_CONFIGURATION_SCOPE()
|
|||||||
return aScope;
|
return aScope;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Wrapper to auto-load DE component
|
|
||||||
DE_PluginHolder<DESTEP_ConfigurationNode> THE_OCCT_STEP_COMPONENT_PLUGIN;
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
//=================================================================================================
|
//=================================================================================================
|
||||||
|
@@ -5,4 +5,5 @@ set(OCCT_TKDESTEP_FILES
|
|||||||
EXTERNLIB
|
EXTERNLIB
|
||||||
PACKAGES
|
PACKAGES
|
||||||
TKDESTEP_pch.hxx
|
TKDESTEP_pch.hxx
|
||||||
|
TKDESTEP.cxx
|
||||||
)
|
)
|
||||||
|
19
src/DataExchange/TKDESTEP/TKDESTEP.cxx
Normal file
19
src/DataExchange/TKDESTEP/TKDESTEP.cxx
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
// Copyright (c) 2025 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.
|
||||||
|
|
||||||
|
#include <DESTEP_ConfigurationNode.hxx>
|
||||||
|
#include <DE_PluginHolder.hxx>
|
||||||
|
|
||||||
|
//! Plugin factory function to register DESTEP configuration node.
|
||||||
|
//! Call PLUGINFACTORY() to register the DESTEP_ConfigurationNode with the global DE_Wrapper.
|
||||||
|
DEPLUGIN(DESTEP_ConfigurationNode)
|
@@ -15,7 +15,6 @@
|
|||||||
|
|
||||||
#include <DESTL_Provider.hxx>
|
#include <DESTL_Provider.hxx>
|
||||||
#include <DE_ConfigurationContext.hxx>
|
#include <DE_ConfigurationContext.hxx>
|
||||||
#include <DE_PluginHolder.hxx>
|
|
||||||
#include <NCollection_Buffer.hxx>
|
#include <NCollection_Buffer.hxx>
|
||||||
|
|
||||||
IMPLEMENT_STANDARD_RTTIEXT(DESTL_ConfigurationNode, DE_ConfigurationNode)
|
IMPLEMENT_STANDARD_RTTIEXT(DESTL_ConfigurationNode, DE_ConfigurationNode)
|
||||||
@@ -28,8 +27,6 @@ static const TCollection_AsciiString& THE_CONFIGURATION_SCOPE()
|
|||||||
return aScope;
|
return aScope;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Wrapper to auto-load DE component
|
|
||||||
DE_PluginHolder<DESTL_ConfigurationNode> THE_OCCT_STL_COMPONENT_PLUGIN;
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
//=================================================================================================
|
//=================================================================================================
|
||||||
|
@@ -4,4 +4,5 @@ set(OCCT_TKDESTL_FILES_LOCATION "${CMAKE_CURRENT_LIST_DIR}")
|
|||||||
set(OCCT_TKDESTL_FILES
|
set(OCCT_TKDESTL_FILES
|
||||||
EXTERNLIB
|
EXTERNLIB
|
||||||
PACKAGES
|
PACKAGES
|
||||||
|
TKDESTL.cxx
|
||||||
)
|
)
|
||||||
|
19
src/DataExchange/TKDESTL/TKDESTL.cxx
Normal file
19
src/DataExchange/TKDESTL/TKDESTL.cxx
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
// Copyright (c) 2025 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.
|
||||||
|
|
||||||
|
#include <DESTL_ConfigurationNode.hxx>
|
||||||
|
#include <DE_PluginHolder.hxx>
|
||||||
|
|
||||||
|
//! Plugin factory function to register DESTL configuration node.
|
||||||
|
//! Call PLUGINFACTORY() to register the DESTL_ConfigurationNode with the global DE_Wrapper.
|
||||||
|
DEPLUGIN(DESTL_ConfigurationNode)
|
@@ -15,7 +15,6 @@
|
|||||||
|
|
||||||
#include <DEVRML_Provider.hxx>
|
#include <DEVRML_Provider.hxx>
|
||||||
#include <DE_ConfigurationContext.hxx>
|
#include <DE_ConfigurationContext.hxx>
|
||||||
#include <DE_PluginHolder.hxx>
|
|
||||||
|
|
||||||
IMPLEMENT_STANDARD_RTTIEXT(DEVRML_ConfigurationNode, DE_ConfigurationNode)
|
IMPLEMENT_STANDARD_RTTIEXT(DEVRML_ConfigurationNode, DE_ConfigurationNode)
|
||||||
|
|
||||||
@@ -27,8 +26,6 @@ static const TCollection_AsciiString& THE_CONFIGURATION_SCOPE()
|
|||||||
return aScope;
|
return aScope;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Wrapper to auto-load DE component
|
|
||||||
DE_PluginHolder<DEVRML_ConfigurationNode> THE_OCCT_VRML_COMPONENT_PLUGIN;
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
//=================================================================================================
|
//=================================================================================================
|
||||||
|
@@ -4,4 +4,5 @@ set(OCCT_TKDEVRML_FILES_LOCATION "${CMAKE_CURRENT_LIST_DIR}")
|
|||||||
set(OCCT_TKDEVRML_FILES
|
set(OCCT_TKDEVRML_FILES
|
||||||
EXTERNLIB
|
EXTERNLIB
|
||||||
PACKAGES
|
PACKAGES
|
||||||
|
TKDEVRML.cxx
|
||||||
)
|
)
|
||||||
|
19
src/DataExchange/TKDEVRML/TKDEVRML.cxx
Normal file
19
src/DataExchange/TKDEVRML/TKDEVRML.cxx
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
// Copyright (c) 2025 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.
|
||||||
|
|
||||||
|
#include <DEVRML_ConfigurationNode.hxx>
|
||||||
|
#include <DE_PluginHolder.hxx>
|
||||||
|
|
||||||
|
//! Plugin factory function to register DEVRML configuration node.
|
||||||
|
//! Call PLUGINFACTORY() to register the DEVRML_ConfigurationNode with the global DE_Wrapper.
|
||||||
|
DEPLUGIN(DEVRML_ConfigurationNode)
|
@@ -20,6 +20,8 @@
|
|||||||
#include <DE_Provider.hxx>
|
#include <DE_Provider.hxx>
|
||||||
#include <DE_Wrapper.hxx>
|
#include <DE_Wrapper.hxx>
|
||||||
#include <DEBREP_ConfigurationNode.hxx>
|
#include <DEBREP_ConfigurationNode.hxx>
|
||||||
|
#include <DEXCAF_ConfigurationNode.hxx>
|
||||||
|
#include <DE_PluginHolder.hxx>
|
||||||
#include <Draw.hxx>
|
#include <Draw.hxx>
|
||||||
#include <Draw_Interpretor.hxx>
|
#include <Draw_Interpretor.hxx>
|
||||||
#include <Draw_PluginMacro.hxx>
|
#include <Draw_PluginMacro.hxx>
|
||||||
@@ -31,6 +33,16 @@
|
|||||||
#include <XSControl_WorkSession.hxx>
|
#include <XSControl_WorkSession.hxx>
|
||||||
#include <XSDRAW.hxx>
|
#include <XSDRAW.hxx>
|
||||||
|
|
||||||
|
namespace
|
||||||
|
{
|
||||||
|
// Singleton to ensure DEBREP and DEXCAF plugins are registered only once
|
||||||
|
void DECascadeSingleton()
|
||||||
|
{
|
||||||
|
static DE_MultiPluginHolder<DEBREP_ConfigurationNode, DEXCAF_ConfigurationNode> aHolder;
|
||||||
|
(void)aHolder;
|
||||||
|
}
|
||||||
|
} // namespace
|
||||||
|
|
||||||
//=================================================================================================
|
//=================================================================================================
|
||||||
|
|
||||||
static Standard_Integer DumpConfiguration(Draw_Interpretor& theDI,
|
static Standard_Integer DumpConfiguration(Draw_Interpretor& theDI,
|
||||||
@@ -364,6 +376,9 @@ void XSDRAWDE::Factory(Draw_Interpretor& theDI)
|
|||||||
}
|
}
|
||||||
aIsActivated = Standard_True;
|
aIsActivated = Standard_True;
|
||||||
|
|
||||||
|
//! Ensure DEBREP and DEXCAF plugins are registered
|
||||||
|
DECascadeSingleton();
|
||||||
|
|
||||||
Standard_CString aGroup = "XDE translation commands";
|
Standard_CString aGroup = "XDE translation commands";
|
||||||
theDI.Add("DumpConfiguration",
|
theDI.Add("DumpConfiguration",
|
||||||
"DumpConfiguration [-path <path>] [-recursive {on|off}] [-format fmt1 fmt2 ...] "
|
"DumpConfiguration [-path <path>] [-recursive {on|off}] [-format fmt1 fmt2 ...] "
|
||||||
@@ -428,10 +443,6 @@ void XSDRAWDE::Factory(Draw_Interpretor& theDI)
|
|||||||
|
|
||||||
// Load XSDRAW session for pilot activation
|
// Load XSDRAW session for pilot activation
|
||||||
XSDRAW::LoadDraw(theDI);
|
XSDRAW::LoadDraw(theDI);
|
||||||
|
|
||||||
// Workaround to force load TKDECascade lib
|
|
||||||
DEBREP_ConfigurationNode aTmpObj;
|
|
||||||
(void)aTmpObj;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Declare entry point PLUGINFACTORY
|
// Declare entry point PLUGINFACTORY
|
||||||
|
@@ -16,6 +16,8 @@
|
|||||||
#include <DBRep.hxx>
|
#include <DBRep.hxx>
|
||||||
#include <DDocStd.hxx>
|
#include <DDocStd.hxx>
|
||||||
#include <DDocStd_DrawDocument.hxx>
|
#include <DDocStd_DrawDocument.hxx>
|
||||||
|
#include <DEGLTF_ConfigurationNode.hxx>
|
||||||
|
#include <DE_PluginHolder.hxx>
|
||||||
#include <Draw.hxx>
|
#include <Draw.hxx>
|
||||||
#include <Draw_Interpretor.hxx>
|
#include <Draw_Interpretor.hxx>
|
||||||
#include <Draw_PluginMacro.hxx>
|
#include <Draw_PluginMacro.hxx>
|
||||||
@@ -30,6 +32,16 @@
|
|||||||
#include <XSControl_WorkSession.hxx>
|
#include <XSControl_WorkSession.hxx>
|
||||||
#include <XSDRAW.hxx>
|
#include <XSDRAW.hxx>
|
||||||
|
|
||||||
|
namespace
|
||||||
|
{
|
||||||
|
// Singleton to ensure DEGLTF plugin is registered only once
|
||||||
|
void DEGLTFSingleton()
|
||||||
|
{
|
||||||
|
static DE_PluginHolder<DEGLTF_ConfigurationNode> aHolder;
|
||||||
|
(void)aHolder;
|
||||||
|
}
|
||||||
|
} // namespace
|
||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
// function : parseNameFormat
|
// function : parseNameFormat
|
||||||
// purpose : Parse RWMesh_NameFormat enumeration
|
// purpose : Parse RWMesh_NameFormat enumeration
|
||||||
@@ -509,6 +521,9 @@ void XSDRAWGLTF::Factory(Draw_Interpretor& theDI)
|
|||||||
}
|
}
|
||||||
aIsActivated = Standard_True;
|
aIsActivated = Standard_True;
|
||||||
|
|
||||||
|
//! Ensure DEGLTF plugin is registered
|
||||||
|
DEGLTFSingleton();
|
||||||
|
|
||||||
const char* aGroup = "XSTEP-STL/VRML"; // Step transfer file commands
|
const char* aGroup = "XSTEP-STL/VRML"; // Step transfer file commands
|
||||||
theDI.Add("ReadGltf",
|
theDI.Add("ReadGltf",
|
||||||
"ReadGltf Doc file [-parallel {on|off}] [-listExternalFiles] [-noCreateDoc] "
|
"ReadGltf Doc file [-parallel {on|off}] [-listExternalFiles] [-noCreateDoc] "
|
||||||
|
@@ -17,6 +17,8 @@
|
|||||||
#include <DBRep.hxx>
|
#include <DBRep.hxx>
|
||||||
#include <DDocStd.hxx>
|
#include <DDocStd.hxx>
|
||||||
#include <DDocStd_DrawDocument.hxx>
|
#include <DDocStd_DrawDocument.hxx>
|
||||||
|
#include <DEIGES_ConfigurationNode.hxx>
|
||||||
|
#include <DE_PluginHolder.hxx>
|
||||||
#include <Draw.hxx>
|
#include <Draw.hxx>
|
||||||
#include <DrawTrSurf.hxx>
|
#include <DrawTrSurf.hxx>
|
||||||
#include <Draw_Interpretor.hxx>
|
#include <Draw_Interpretor.hxx>
|
||||||
@@ -1108,6 +1110,16 @@ static Standard_Integer WriteIges(Draw_Interpretor& theDI,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
namespace
|
||||||
|
{
|
||||||
|
// Singleton to ensure DEIGES plugin is registered only once
|
||||||
|
void DEIGESSingleton()
|
||||||
|
{
|
||||||
|
static DE_PluginHolder<DEIGES_ConfigurationNode> aHolder;
|
||||||
|
(void)aHolder;
|
||||||
|
}
|
||||||
|
} // namespace
|
||||||
|
|
||||||
//=================================================================================================
|
//=================================================================================================
|
||||||
|
|
||||||
void XSDRAWIGES::Factory(Draw_Interpretor& theDI)
|
void XSDRAWIGES::Factory(Draw_Interpretor& theDI)
|
||||||
@@ -1121,6 +1133,9 @@ void XSDRAWIGES::Factory(Draw_Interpretor& theDI)
|
|||||||
|
|
||||||
IGESControl_Controller::Init();
|
IGESControl_Controller::Init();
|
||||||
|
|
||||||
|
//! Ensure DEIGES plugin is registered
|
||||||
|
DEIGESSingleton();
|
||||||
|
|
||||||
const char* aGroup = "DE: IGES";
|
const char* aGroup = "DE: IGES";
|
||||||
|
|
||||||
theDI.Add("tplosttrim",
|
theDI.Add("tplosttrim",
|
||||||
|
@@ -17,6 +17,8 @@
|
|||||||
#include <DBRep.hxx>
|
#include <DBRep.hxx>
|
||||||
#include <DDocStd.hxx>
|
#include <DDocStd.hxx>
|
||||||
#include <DDocStd_DrawDocument.hxx>
|
#include <DDocStd_DrawDocument.hxx>
|
||||||
|
#include <DEOBJ_ConfigurationNode.hxx>
|
||||||
|
#include <DE_PluginHolder.hxx>
|
||||||
#include <Draw.hxx>
|
#include <Draw.hxx>
|
||||||
#include <Draw_Interpretor.hxx>
|
#include <Draw_Interpretor.hxx>
|
||||||
#include <Draw_PluginMacro.hxx>
|
#include <Draw_PluginMacro.hxx>
|
||||||
@@ -335,6 +337,16 @@ static Standard_Integer WriteObj(Draw_Interpretor& theDI,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
namespace
|
||||||
|
{
|
||||||
|
// Singleton to ensure DEOBJ plugin is registered only once
|
||||||
|
void DEOBJSingleton()
|
||||||
|
{
|
||||||
|
static DE_PluginHolder<DEOBJ_ConfigurationNode> aHolder;
|
||||||
|
(void)aHolder;
|
||||||
|
}
|
||||||
|
} // namespace
|
||||||
|
|
||||||
//=================================================================================================
|
//=================================================================================================
|
||||||
|
|
||||||
void XSDRAWOBJ::Factory(Draw_Interpretor& theDI)
|
void XSDRAWOBJ::Factory(Draw_Interpretor& theDI)
|
||||||
@@ -346,6 +358,9 @@ void XSDRAWOBJ::Factory(Draw_Interpretor& theDI)
|
|||||||
}
|
}
|
||||||
aIsActivated = Standard_True;
|
aIsActivated = Standard_True;
|
||||||
|
|
||||||
|
//! Ensure DEOBJ plugin is registered
|
||||||
|
DEOBJSingleton();
|
||||||
|
|
||||||
const char* aGroup = "XSTEP-STL/VRML"; // Step transfer file commands
|
const char* aGroup = "XSTEP-STL/VRML"; // Step transfer file commands
|
||||||
theDI.Add(
|
theDI.Add(
|
||||||
"ReadObj",
|
"ReadObj",
|
||||||
|
@@ -18,6 +18,8 @@
|
|||||||
#include <DBRep.hxx>
|
#include <DBRep.hxx>
|
||||||
#include <DDocStd.hxx>
|
#include <DDocStd.hxx>
|
||||||
#include <DDocStd_DrawDocument.hxx>
|
#include <DDocStd_DrawDocument.hxx>
|
||||||
|
#include <DEPLY_ConfigurationNode.hxx>
|
||||||
|
#include <DE_PluginHolder.hxx>
|
||||||
#include <Draw.hxx>
|
#include <Draw.hxx>
|
||||||
#include <Draw_Interpretor.hxx>
|
#include <Draw_Interpretor.hxx>
|
||||||
#include <Draw_PluginMacro.hxx>
|
#include <Draw_PluginMacro.hxx>
|
||||||
@@ -295,6 +297,16 @@ static Standard_Integer WritePly(Draw_Interpretor& theDI,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
namespace
|
||||||
|
{
|
||||||
|
// Singleton to ensure DEPLY plugin is registered only once
|
||||||
|
void DEPLYSingleton()
|
||||||
|
{
|
||||||
|
static DE_PluginHolder<DEPLY_ConfigurationNode> aHolder;
|
||||||
|
(void)aHolder;
|
||||||
|
}
|
||||||
|
} // namespace
|
||||||
|
|
||||||
//=================================================================================================
|
//=================================================================================================
|
||||||
|
|
||||||
void XSDRAWPLY::Factory(Draw_Interpretor& theDI)
|
void XSDRAWPLY::Factory(Draw_Interpretor& theDI)
|
||||||
@@ -306,6 +318,9 @@ void XSDRAWPLY::Factory(Draw_Interpretor& theDI)
|
|||||||
}
|
}
|
||||||
aIsActivated = Standard_True;
|
aIsActivated = Standard_True;
|
||||||
|
|
||||||
|
//! Ensure DEPLY plugin is registered
|
||||||
|
DEPLYSingleton();
|
||||||
|
|
||||||
const char* aGroup = "XSTEP-STL/VRML"; // Step transfer file commands
|
const char* aGroup = "XSTEP-STL/VRML"; // Step transfer file commands
|
||||||
// XSDRAW::LoadDraw(theCommands);
|
// XSDRAW::LoadDraw(theCommands);
|
||||||
theDI.Add("WritePly",
|
theDI.Add("WritePly",
|
||||||
|
@@ -17,6 +17,8 @@
|
|||||||
#include <DDF.hxx>
|
#include <DDF.hxx>
|
||||||
#include <DDocStd.hxx>
|
#include <DDocStd.hxx>
|
||||||
#include <DDocStd_DrawDocument.hxx>
|
#include <DDocStd_DrawDocument.hxx>
|
||||||
|
#include <DESTEP_ConfigurationNode.hxx>
|
||||||
|
#include <DE_PluginHolder.hxx>
|
||||||
#include <Draw.hxx>
|
#include <Draw.hxx>
|
||||||
#include <Draw_Interpretor.hxx>
|
#include <Draw_Interpretor.hxx>
|
||||||
#include <Draw_PluginMacro.hxx>
|
#include <Draw_PluginMacro.hxx>
|
||||||
@@ -1092,6 +1094,16 @@ static Standard_Integer WriteStep(Draw_Interpretor& theDI,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
namespace
|
||||||
|
{
|
||||||
|
// Singleton to ensure DESTEP plugin is registered only once
|
||||||
|
void DESTEPSingleton()
|
||||||
|
{
|
||||||
|
static DE_PluginHolder<DESTEP_ConfigurationNode> aHolder;
|
||||||
|
(void)aHolder;
|
||||||
|
}
|
||||||
|
} // namespace
|
||||||
|
|
||||||
//=================================================================================================
|
//=================================================================================================
|
||||||
|
|
||||||
void XSDRAWSTEP::Factory(Draw_Interpretor& theDI)
|
void XSDRAWSTEP::Factory(Draw_Interpretor& theDI)
|
||||||
@@ -1104,6 +1116,9 @@ void XSDRAWSTEP::Factory(Draw_Interpretor& theDI)
|
|||||||
STEPCAFControl_Controller::Init();
|
STEPCAFControl_Controller::Init();
|
||||||
aIsActivated = Standard_True;
|
aIsActivated = Standard_True;
|
||||||
|
|
||||||
|
//! Ensure DESTEP plugin is registered
|
||||||
|
DESTEPSingleton();
|
||||||
|
|
||||||
const char* aGroup = "DE: STEP"; // Step transfer file commands
|
const char* aGroup = "DE: STEP"; // Step transfer file commands
|
||||||
theDI.Add("stepwrite", "stepwrite mode[0-4 afsmw] shape", __FILE__, stepwrite, aGroup);
|
theDI.Add("stepwrite", "stepwrite mode[0-4 afsmw] shape", __FILE__, stepwrite, aGroup);
|
||||||
theDI.Add("testwritestep",
|
theDI.Add("testwritestep",
|
||||||
|
@@ -18,6 +18,8 @@
|
|||||||
#include <DBRep.hxx>
|
#include <DBRep.hxx>
|
||||||
#include <DDocStd.hxx>
|
#include <DDocStd.hxx>
|
||||||
#include <DDocStd_DrawDocument.hxx>
|
#include <DDocStd_DrawDocument.hxx>
|
||||||
|
#include <DESTL_ConfigurationNode.hxx>
|
||||||
|
#include <DE_PluginHolder.hxx>
|
||||||
#include <Draw.hxx>
|
#include <Draw.hxx>
|
||||||
#include <Draw_Interpretor.hxx>
|
#include <Draw_Interpretor.hxx>
|
||||||
#include <Draw_PluginMacro.hxx>
|
#include <Draw_PluginMacro.hxx>
|
||||||
@@ -1233,6 +1235,16 @@ static Standard_Integer meshinfo(Draw_Interpretor& theDI,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
namespace
|
||||||
|
{
|
||||||
|
// Singleton to ensure DESTL plugin is registered only once
|
||||||
|
void DESTLSingleton()
|
||||||
|
{
|
||||||
|
static DE_PluginHolder<DESTL_ConfigurationNode> aHolder;
|
||||||
|
(void)aHolder;
|
||||||
|
}
|
||||||
|
} // namespace
|
||||||
|
|
||||||
//=================================================================================================
|
//=================================================================================================
|
||||||
|
|
||||||
void XSDRAWSTL::Factory(Draw_Interpretor& theDI)
|
void XSDRAWSTL::Factory(Draw_Interpretor& theDI)
|
||||||
@@ -1244,6 +1256,9 @@ void XSDRAWSTL::Factory(Draw_Interpretor& theDI)
|
|||||||
}
|
}
|
||||||
aIsActivated = Standard_True;
|
aIsActivated = Standard_True;
|
||||||
|
|
||||||
|
//! Ensure DESTL plugin is registered
|
||||||
|
DESTLSingleton();
|
||||||
|
|
||||||
const char* aGroup = "XSTEP-STL/VRML"; // Step transfer file commands
|
const char* aGroup = "XSTEP-STL/VRML"; // Step transfer file commands
|
||||||
|
|
||||||
theDI.Add("writestl",
|
theDI.Add("writestl",
|
||||||
|
@@ -16,6 +16,8 @@
|
|||||||
#include <DBRep.hxx>
|
#include <DBRep.hxx>
|
||||||
#include <DDocStd.hxx>
|
#include <DDocStd.hxx>
|
||||||
#include <DDocStd_DrawDocument.hxx>
|
#include <DDocStd_DrawDocument.hxx>
|
||||||
|
#include <DEVRML_ConfigurationNode.hxx>
|
||||||
|
#include <DE_PluginHolder.hxx>
|
||||||
#include <Draw.hxx>
|
#include <Draw.hxx>
|
||||||
#include <Draw_Interpretor.hxx>
|
#include <Draw_Interpretor.hxx>
|
||||||
#include <Draw_PluginMacro.hxx>
|
#include <Draw_PluginMacro.hxx>
|
||||||
@@ -408,6 +410,16 @@ static Standard_Integer writevrml(Draw_Interpretor& di, Standard_Integer argc, c
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
namespace
|
||||||
|
{
|
||||||
|
// Singleton to ensure DEVRML plugin is registered only once
|
||||||
|
void DEVRMLSingleton()
|
||||||
|
{
|
||||||
|
static DE_PluginHolder<DEVRML_ConfigurationNode> aHolder;
|
||||||
|
(void)aHolder;
|
||||||
|
}
|
||||||
|
} // namespace
|
||||||
|
|
||||||
//=================================================================================================
|
//=================================================================================================
|
||||||
|
|
||||||
void XSDRAWVRML::Factory(Draw_Interpretor& theDI)
|
void XSDRAWVRML::Factory(Draw_Interpretor& theDI)
|
||||||
@@ -419,6 +431,9 @@ void XSDRAWVRML::Factory(Draw_Interpretor& theDI)
|
|||||||
}
|
}
|
||||||
anInitActor = Standard_True;
|
anInitActor = Standard_True;
|
||||||
|
|
||||||
|
//! Ensure DEVRML plugin is registered
|
||||||
|
DEVRMLSingleton();
|
||||||
|
|
||||||
Standard_CString aGroup = "XDE translation commands";
|
Standard_CString aGroup = "XDE translation commands";
|
||||||
theDI.Add(
|
theDI.Add(
|
||||||
"ReadVrml",
|
"ReadVrml",
|
||||||
|
Reference in New Issue
Block a user