import cppyy import pathlib __all__ = ['GCO'] _this_dir = pathlib.Path(__file__).parent cppyy.add_include_path(str(_this_dir / 'include')) cppyy.add_library_path(str(_this_dir)) # Include and load library cppyy.include("GCoptimization.h") cppyy.load_library("gco") from cppyy.gbl import GCO
] system = platform.system() if system == 'Linux': if (os.path.isdir("/usr/local/include/opencascade")): cppyy.add_include_path("/usr/local/include/opencascade") elif (os.path.isdir("/usr/include/opencascade")): cppyy.add_include_path("/usr/include/opencascade") base_dir = os.path.dirname(os.path.realpath(__file__)) if (os.path.isdir("/usr/local/include/TopologicCore")): topologic_inc = "/usr/local/include/TopologicCore" elif (os.path.isdir("/usr/include/TopologicCore")): topologic_inc = "/usr/include/TopologicCore" if (os.path.isdir("/usr/local/lib")): cppyy.add_library_path("/usr/local/lib") elif system == 'Windows': win_prefix = "C:/Topologic" topologic_inc = "{}/include".format(win_prefix) cppyy.add_include_path("{}/include/opencascade".format(win_prefix)) cppyy.add_include_path(topologic_inc) for header in headers: cppyy.include(topologic_inc + "/" + header) cppyy.load_library("TopologicCore") from cppyy.gbl import TopologicCore from cppyy.gbl import TopologicUtilities Aperture = TopologicCore.Aperture
cppyy.py.add_pythonization(pythonize_topologic_printing, 'TopologicCore') system = platform.system() if system != 'Windows': if (os.path.isdir("/usr/local/include/opencascade")): cppyy.add_include_path("/usr/local/include/opencascade") elif (os.path.isdir("/usr/include/opencascade")): cppyy.add_include_path("/usr/include/opencascade") if (os.path.isdir("/usr/local/include/TopologicCore")): topologic_inc = "/usr/local/include/TopologicCore" elif (os.path.isdir("/usr/include/TopologicCore")): topologic_inc = "/usr/include/TopologicCore" if (os.path.isdir("/usr/local/lib")): cppyy.add_library_path("/usr/local/lib") else: win_prefix = "E:/Documents/Projects/TopologicFinal/topologic" topologic_inc = "{}/TopologicCore/include".format(win_prefix) opencascade_prefix = "C:/OpenCASCADE-7.4.0-vc14-64" cppyy.add_include_path( "{}/opencascade-7.4.0/inc".format(opencascade_prefix)) cppyy.add_library_path("{}/output/x64/Release".format(win_prefix)) cppyy.add_library_path( "{}/opencascade-7.4.0/win64/vc14/bin".format(opencascade_prefix)) cppyy.add_include_path(topologic_inc) cppyy.load_library("TopologicCore") for header in headers:
import cppyy from inet.common.util import * # setup omnetpp include path cppyy.add_include_path(get_workspace_path("omnetpp/include")) cppyy.add_include_path(get_workspace_path("omnetpp/src")) # setup omnetpp library path cppyy.add_library_path(get_workspace_path("omnetpp/lib")) # load omnetpp libraries cppyy.load_library("liboppcmdenv") cppyy.load_library("liboppcommon") cppyy.load_library("liboppenvir") cppyy.load_library("liboppeventlog") cppyy.load_library("libopplayout") cppyy.load_library("liboppnedxml") #cppyy.load_library("liboppqtenv-osg") #cppyy.load_library("liboppqtenv") #cppyy.load_library("liboppscave") cppyy.load_library("liboppsim") # include omnetpp header files cppyy.include("omnetpp.h") cppyy.include("cmdenv/cmdenv.h") cppyy.include("envir/inifilereader.h") cppyy.include("envir/sectionbasedconfig.h") # setup omnetpp namespace from cppyy.gbl import omnetpp
import cppyy from inet.common.util import * # setup inet include path cppyy.add_include_path(get_workspace_path("inet/src")) # setup inet library path cppyy.add_library_path(get_workspace_path("inet/src")) # load inet library cppyy.load_library("libINET") # setup inet namespace # from cppyy.gbl import inet
cppSourcePath = sourceDir+"/Mandelbrot.cpp" shaderSourcePath = sourceDir+"/Mandelbrot.comp.glsl" shaderSPIRVPath = sourceDir+"/Mandelbrot.spv" ## shader compilation print("compiling glsl...") compileCommand = glslCompilerPath + " -V " + shaderSourcePath + " -o " + shaderSPIRVPath subprocess.run(compileCommand.split()) # cpp compilation print("compiling cpp...") mandelbrotCppSource = open(cppSourcePath).read() namepaceTag = "cppyy_"+str(time.time()).replace(".", "_") mandelbrotCppSource = mandelbrotCppSource.replace("%%_NAMESPACE_TAG_%%", namepaceTag) cppyy.add_include_path(vulkanSDKIncludeDir) cppyy.add_library_path(vulkanSDKLibDir) cppyy.load_library(vulkanSharedLibrary) cppyy.cppdef(mandelbrotCppSource) # import and use the code print("running...") print("import...") exec("from cppyy.gbl import " + namepaceTag) namespace = eval("cppyy.gbl." + namepaceTag) print("instance...") vudo = namespace.MandelbrotVudo() vudo.shaderSPIRVPath = shaderSPIRVPath # TODO: put this in a thread print("run...") time = timeit.timeit(vudo.run, number=1) print(f"Time for vudo.run is: {time}")
excluded_endpoints = [ "/api/region", "/css/", "/js/", "/static/", "/invicro.ico", "/favicon.ico", "/configuration.json" ] app = Flask(__name__) cors = CORS(app) app.config['CORS_HEADERS'] = 'Content-Type' # Define Cpp include/libs paths app_path = '/app' cppyy.add_include_path(os.path.join(app_path, 'dependencies', 'include')) cppyy.add_include_path(os.path.join(app_path, 'libs', 'mld_loader', 'include')) cppyy.add_include_path( os.path.join(app_path, 'libs', 'region_loader', 'include')) cppyy.add_library_path(os.path.join(app_path, 'dependencies', 'lib')) cppyy.add_library_path(os.path.join(app_path, 'libs', 'mld_loader', 'lib')) cppyy.add_library_path(os.path.join(app_path, 'libs', 'region_loader', 'lib')) # Import Cpp libraries methods cppyy.include("mld_loader.h") cppyy.include("region_loader.h") cppyy.load_library("mld_loader") cppyy.load_library("region_loader") from cppyy.gbl import load_whole_mld, load_region, get_dimensions, free_memory, alloc_memory, load_thumbnail, alloc_memory_dim, free_memory_dim, get_thumbnail_dimensions, alloc_memory_v2, get_value tile = 256 # serving frontend