File: DE_pre.cpp

package info (click to toggle)
python-ocp 7.8.1.2-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 64,724 kB
  • sloc: cpp: 362,337; pascal: 33; python: 23; makefile: 4
file content (115 lines) | stat: -rw-r--r-- 4,990 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115

// pybind 11 related includes
#include <pybind11/pybind11.h>
#include <pybind11/stl.h>

namespace py = pybind11;


// Standard Handle
#include <Standard_Handle.hxx>

// user-defined inclusion per module before includes

// includes to resolve forward declarations
#include <Adaptor2d_Curve2d.hxx>
#include <Adaptor3d_Curve.hxx>
#include <Adaptor3d_Surface.hxx>
#include <Adaptor2d_Curve2d.hxx>
#include <Adaptor3d_Curve.hxx>
#include <Adaptor3d_Surface.hxx>
#include <DE_ConfigurationContext.hxx>
#include <DE_Provider.hxx>
#include <NCollection_Buffer.hxx>
#include <Adaptor2d_Curve2d.hxx>
#include <Adaptor3d_Curve.hxx>
#include <Adaptor3d_Surface.hxx>
#include <Adaptor2d_Curve2d.hxx>
#include <Adaptor3d_Curve.hxx>
#include <Adaptor3d_Surface.hxx>
#include <DE_ConfigurationNode.hxx>
#include <TopoDS_Shape.hxx>
#include <XSControl_WorkSession.hxx>
#include <TDocStd_Document.hxx>
#include <Adaptor2d_Curve2d.hxx>
#include <Adaptor3d_Curve.hxx>
#include <Adaptor3d_Surface.hxx>
#include <TopoDS_Shape.hxx>
#include <XSControl_WorkSession.hxx>
#include <TDocStd_Document.hxx>

// module includes
#include <DE_ConfigurationContext.hxx>
#include <DE_ConfigurationNode.hxx>
#include <DE_PluginHolder.hxx>
#include <DE_Provider.hxx>
#include <DE_Wrapper.hxx>

// template related includes


// user-defined pre
#include "OCP_specific.inc"

// user-defined inclusion per module

// Module definiiton
void register_DE_enums(py::module &main_module) {


py::module m = main_module.def_submodule("DE", R"#()#");

// user-defined inclusion per module in the body

// enums

//Python trampoline classes
    class Py_DE_ConfigurationNode : public DE_ConfigurationNode{
    public:
        using DE_ConfigurationNode::DE_ConfigurationNode;


        // public pure virtual
        bool Load(const opencascade::handle<DE_ConfigurationContext> & theResource) override { PYBIND11_OVERLOAD_PURE(bool,DE_ConfigurationNode,Load,theResource) };
        TCollection_AsciiString Save() const  override { PYBIND11_OVERLOAD_PURE(TCollection_AsciiString,DE_ConfigurationNode,Save,) };
        opencascade::handle<DE_Provider> BuildProvider() override { PYBIND11_OVERLOAD_PURE(opencascade::handle<DE_Provider>,DE_ConfigurationNode,BuildProvider,) };
        opencascade::handle<DE_ConfigurationNode> Copy() const  override { PYBIND11_OVERLOAD_PURE(opencascade::handle<DE_ConfigurationNode>,DE_ConfigurationNode,Copy,) };
        TCollection_AsciiString GetFormat() const  override { PYBIND11_OVERLOAD_PURE(TCollection_AsciiString,DE_ConfigurationNode,GetFormat,) };
        TCollection_AsciiString GetVendor() const  override { PYBIND11_OVERLOAD_PURE(TCollection_AsciiString,DE_ConfigurationNode,GetVendor,) };
        TColStd_ListOfAsciiString GetExtensions() const  override { PYBIND11_OVERLOAD_PURE(TColStd_ListOfAsciiString,DE_ConfigurationNode,GetExtensions,) };


        // protected pure virtual


        // private pure virtual

    };
    class Py_DE_Provider : public DE_Provider{
    public:
        using DE_Provider::DE_Provider;


        // public pure virtual
        TCollection_AsciiString GetFormat() const  override { PYBIND11_OVERLOAD_PURE(TCollection_AsciiString,DE_Provider,GetFormat,) };
        TCollection_AsciiString GetVendor() const  override { PYBIND11_OVERLOAD_PURE(TCollection_AsciiString,DE_Provider,GetVendor,) };


        // protected pure virtual


        // private pure virtual

    };

// pre-register typdefs+classes (topologically sorted)
    py::class_<DE_ConfigurationContext ,opencascade::handle<DE_ConfigurationContext>  , Standard_Transient >(m,"DE_ConfigurationContext",R"#(Provides convenient interface to resource file Allows loading of the resource file and getting attributes' values starting from some scope, for example if scope is defined as "ToV4" and requested parameter is "exec.op", value of "ToV4.exec.op" parameter from the resource file will be returned)#");
    py::class_<DE_ConfigurationNode ,opencascade::handle<DE_ConfigurationNode> ,Py_DE_ConfigurationNode , Standard_Transient >(m,"DE_ConfigurationNode",R"#(Base class to work with CAD transfer properties. Stores the necessary settings for a single Provider type. Configures and creates special provider to transfer CAD files.)#");
    py::class_<DE_Provider ,opencascade::handle<DE_Provider> ,Py_DE_Provider , Standard_Transient >(m,"DE_Provider",R"#(Base class to make transfer process. Reads or Writes specialized CAD files into/from OCCT. Each operation needs the Configuration Node.)#");
    py::class_<DE_Wrapper ,opencascade::handle<DE_Wrapper>  , Standard_Transient >(m,"DE_Wrapper",R"#(The main class for working with CAD file exchange. Loads and Saves special CAD transfer property. Consolidates all supported Formats and Vendors. Automatically recognizes CAD format and uses the preferred existed Vendor. Note: If Vendor's format is not binded, the configuration loading doesn't affect on its property.)#");

};

// user-defined post-inclusion per module

// user-defined post