mirror of
https://github.com/NGSolve/netgen.git
synced 2024-12-25 05:20:34 +05:00
Merge branch 'cleanup_dll_header' into 'master'
Clean up multiple definitions of DLL_HEADER See merge request jschoeberl/netgen!369
This commit is contained in:
commit
75e6c8217f
@ -1,4 +1,4 @@
|
|||||||
add_definitions(-DNGLIB_EXPORTS)
|
add_definitions(-DNGINTERFACE_EXPORTS)
|
||||||
add_library(geom2d ${NG_LIB_TYPE} csg2d.cpp genmesh2d.cpp geometry2d.cpp python_geom2d.cpp )
|
add_library(geom2d ${NG_LIB_TYPE} csg2d.cpp genmesh2d.cpp geometry2d.cpp python_geom2d.cpp )
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
set_target_properties( geom2d PROPERTIES SUFFIX ".so")
|
set_target_properties( geom2d PROPERTIES SUFFIX ".so")
|
||||||
|
@ -17,7 +17,7 @@ namespace netgen
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
DLL_HEADER void ExportGeom2d(py::module &m)
|
NGCORE_API_EXPORT void ExportGeom2d(py::module &m)
|
||||||
{
|
{
|
||||||
py::class_<SplineSegExt, shared_ptr<SplineSegExt>>
|
py::class_<SplineSegExt, shared_ptr<SplineSegExt>>
|
||||||
(m, "Spline", "Spline of a SplineGeometry object")
|
(m, "Spline", "Spline of a SplineGeometry object")
|
||||||
|
@ -11,22 +11,15 @@
|
|||||||
defines for graphics, testmodes, ...
|
defines for graphics, testmodes, ...
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <core/ngcore.hpp>
|
||||||
#define PACKAGE_VERSION "6.2-dev"
|
#define PACKAGE_VERSION "6.2-dev"
|
||||||
|
|
||||||
// #define DEBUG
|
// #define DEBUG
|
||||||
|
|
||||||
#ifdef WIN32
|
#if defined(NGINTERFACE_EXPORTS) || ( defined(WIN32) && (defined(NGLIB_EXPORTS) || defined(nglib_EXPORTS)) )
|
||||||
#if NGINTERFACE_EXPORTS || NGLIB_EXPORTS || nglib_EXPORTS
|
#define DLL_HEADER NGCORE_API_EXPORT
|
||||||
#define DLL_HEADER __declspec(dllexport)
|
|
||||||
#else
|
|
||||||
#define DLL_HEADER __declspec(dllimport)
|
|
||||||
#endif
|
|
||||||
#else
|
#else
|
||||||
#if __GNUC__ >= 4
|
#define DLL_HEADER NGCORE_API_IMPORT
|
||||||
#define DLL_HEADER __attribute__ ((visibility ("default")))
|
|
||||||
#else
|
|
||||||
#define DLL_HEADER
|
|
||||||
#endif
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
@ -11,22 +11,13 @@
|
|||||||
/* Date: 20. Nov. 99 */
|
/* Date: 20. Nov. 99 */
|
||||||
/**************************************************************************/
|
/**************************************************************************/
|
||||||
|
|
||||||
#include <core/ngcore.hpp>
|
#include "mydefs.hpp"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Application program interface to Netgen
|
Application program interface to Netgen
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef DLL_HEADER
|
|
||||||
#if NGINTERFACE_EXPORTS || NGLIB_EXPORTS || nglib_EXPORTS
|
|
||||||
#define DLL_HEADER NGCORE_API_EXPORT
|
|
||||||
#else
|
|
||||||
#define DLL_HEADER NGCORE_API_IMPORT
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
// max number of nodes per element
|
// max number of nodes per element
|
||||||
#define NG_ELEMENT_MAXPOINTS 20
|
#define NG_ELEMENT_MAXPOINTS 20
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
/* Date: May 09 */
|
/* Date: May 09 */
|
||||||
/**************************************************************************/
|
/**************************************************************************/
|
||||||
|
|
||||||
#include <core/ngcore.hpp>
|
#include "mydefs.hpp"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
C++ interface to Netgen
|
C++ interface to Netgen
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
add_definitions(-DNGINTERFACE_EXPORTS)
|
||||||
add_library(stl ${NG_LIB_TYPE}
|
add_library(stl ${NG_LIB_TYPE}
|
||||||
meshstlsurface.cpp stlgeom.cpp stlgeomchart.cpp
|
meshstlsurface.cpp stlgeom.cpp stlgeomchart.cpp
|
||||||
stlgeommesh.cpp stlline.cpp stltool.cpp stltopology.cpp python_stl.cpp
|
stlgeommesh.cpp stlline.cpp stltool.cpp stltopology.cpp python_stl.cpp
|
||||||
|
@ -6,10 +6,6 @@
|
|||||||
#include <stlgeom.hpp>
|
#include <stlgeom.hpp>
|
||||||
#include "../meshing/python_mesh.hpp"
|
#include "../meshing/python_mesh.hpp"
|
||||||
|
|
||||||
#ifdef WIN32
|
|
||||||
#define DLL_HEADER __declspec(dllexport)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
using namespace netgen;
|
using namespace netgen;
|
||||||
namespace netgen
|
namespace netgen
|
||||||
{
|
{
|
||||||
@ -125,7 +121,7 @@ void CreateSTLParametersFromKwargs(STLParameters& stlparam, py::dict kwargs)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
DLL_HEADER void ExportSTL(py::module & m)
|
NGCORE_API_EXPORT void ExportSTL(py::module & m)
|
||||||
{
|
{
|
||||||
py::class_<STLGeometry,shared_ptr<STLGeometry>, NetgenGeometry> (m,"STLGeometry")
|
py::class_<STLGeometry,shared_ptr<STLGeometry>, NetgenGeometry> (m,"STLGeometry")
|
||||||
.def(py::init<>())
|
.def(py::init<>())
|
||||||
|
@ -1216,13 +1216,10 @@ void VisualSceneSTLMeshing :: MouseDblClick (int px, int py)
|
|||||||
#ifdef NG_PYTHON
|
#ifdef NG_PYTHON
|
||||||
|
|
||||||
|
|
||||||
#ifdef WIN32
|
|
||||||
#define DLL_HEADER __declspec(dllexport)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <../general/ngpython.hpp>
|
#include <../general/ngpython.hpp>
|
||||||
|
#include <core/ngcore_api.hpp>
|
||||||
|
|
||||||
DLL_HEADER void ExportSTLVis(py::module &m)
|
NGCORE_API_EXPORT void ExportSTLVis(py::module &m)
|
||||||
{
|
{
|
||||||
using namespace netgen;
|
using namespace netgen;
|
||||||
|
|
||||||
|
@ -10,30 +10,30 @@
|
|||||||
namespace netgen
|
namespace netgen
|
||||||
{
|
{
|
||||||
|
|
||||||
class VisualSceneSTLGeometry : public VisualScene
|
class DLL_HEADER VisualSceneSTLGeometry : public VisualScene
|
||||||
{
|
{
|
||||||
NgArray<int> trilists;
|
NgArray<int> trilists;
|
||||||
class STLGeometry * stlgeometry;
|
class STLGeometry * stlgeometry;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DLL_HEADER VisualSceneSTLGeometry ();
|
VisualSceneSTLGeometry ();
|
||||||
DLL_HEADER virtual ~VisualSceneSTLGeometry ();
|
virtual ~VisualSceneSTLGeometry ();
|
||||||
void SetGeometry (class STLGeometry * astlgeometry) { stlgeometry = astlgeometry; }
|
void SetGeometry (class STLGeometry * astlgeometry) { stlgeometry = astlgeometry; }
|
||||||
|
|
||||||
DLL_HEADER virtual void BuildScene (int zoomall = 0);
|
virtual void BuildScene (int zoomall = 0);
|
||||||
DLL_HEADER virtual void DrawScene ();
|
virtual void DrawScene ();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
class VisualSceneSTLMeshing : public VisualScene
|
class DLL_HEADER VisualSceneSTLMeshing : public VisualScene
|
||||||
{
|
{
|
||||||
NgArray<int> trilists;
|
NgArray<int> trilists;
|
||||||
int selecttrig, nodeofseltrig;
|
int selecttrig, nodeofseltrig;
|
||||||
class STLGeometry * stlgeometry;
|
class STLGeometry * stlgeometry;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DLL_HEADER VisualSceneSTLMeshing ();
|
VisualSceneSTLMeshing ();
|
||||||
DLL_HEADER virtual ~VisualSceneSTLMeshing ();
|
virtual ~VisualSceneSTLMeshing ();
|
||||||
|
|
||||||
void SetGeometry (class STLGeometry * astlgeometry) { stlgeometry = astlgeometry; }
|
void SetGeometry (class STLGeometry * astlgeometry) { stlgeometry = astlgeometry; }
|
||||||
|
|
||||||
|
16
ng/gui.cpp
16
ng/gui.cpp
@ -1,29 +1,21 @@
|
|||||||
#include <mystdlib.h>
|
#include <mystdlib.h>
|
||||||
#include <inctcl.hpp>
|
#include <inctcl.hpp>
|
||||||
#include <meshing.hpp>
|
#include <meshing.hpp>
|
||||||
|
#include <core/ngcore_api.hpp>
|
||||||
#ifdef WIN32
|
|
||||||
#define DLL_HEADER_IMPORT __declspec(dllimport)
|
|
||||||
#define DLL_HEADER_EXPORT __declspec(dllexport)
|
|
||||||
#else
|
|
||||||
#define DLL_HEADER_IMPORT
|
|
||||||
#define DLL_HEADER_EXPORT
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
namespace netgen
|
namespace netgen
|
||||||
{
|
{
|
||||||
DLL_HEADER_EXPORT Flags parameters;
|
NGCORE_API_EXPORT Flags parameters;
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL_HEADER_EXPORT bool nodisplay = false;
|
NGCORE_API_EXPORT bool nodisplay = false;
|
||||||
|
|
||||||
extern "C" int Ng_Init (Tcl_Interp * interp);
|
extern "C" int Ng_Init (Tcl_Interp * interp);
|
||||||
extern "C" int Ng_Vis_Init (Tcl_Interp * interp);
|
extern "C" int Ng_Vis_Init (Tcl_Interp * interp);
|
||||||
extern "C" void Ng_TclCmd(string);
|
extern "C" void Ng_TclCmd(string);
|
||||||
|
|
||||||
// tcl package dynamic load
|
// tcl package dynamic load
|
||||||
extern "C" int DLL_HEADER_EXPORT Gui_Init (Tcl_Interp * interp)
|
extern "C" int NGCORE_API_EXPORT Gui_Init (Tcl_Interp * interp)
|
||||||
{
|
{
|
||||||
if (Ng_Init(interp) == TCL_ERROR) {
|
if (Ng_Init(interp) == TCL_ERROR) {
|
||||||
cerr << "Problem in Ng_Init: " << endl;
|
cerr << "Problem in Ng_Init: " << endl;
|
||||||
|
@ -2,27 +2,21 @@
|
|||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <../general/ngpython.hpp>
|
#include <../general/ngpython.hpp>
|
||||||
|
#include <core/ngcore_api.hpp>
|
||||||
|
|
||||||
#ifdef WIN32
|
void NGCORE_API_IMPORT ExportNetgenMeshing(py::module &m);
|
||||||
#define DLL_HEADER __declspec(dllimport)
|
void NGCORE_API_IMPORT ExportMeshVis(py::module &m);
|
||||||
#else
|
void NGCORE_API_IMPORT ExportCSG(py::module &m);
|
||||||
#define DLL_HEADER
|
void NGCORE_API_IMPORT ExportCSGVis(py::module &m);
|
||||||
#endif
|
void NGCORE_API_IMPORT ExportGeom2d(py::module &m);
|
||||||
|
void NGCORE_API_IMPORT ExportSTL(py::module &m);
|
||||||
|
void NGCORE_API_IMPORT ExportSTLVis(py::module &m);
|
||||||
void DLL_HEADER ExportNetgenMeshing(py::module &m);
|
|
||||||
void DLL_HEADER ExportMeshVis(py::module &m);
|
|
||||||
void DLL_HEADER ExportCSG(py::module &m);
|
|
||||||
void DLL_HEADER ExportCSGVis(py::module &m);
|
|
||||||
void DLL_HEADER ExportGeom2d(py::module &m);
|
|
||||||
void DLL_HEADER ExportSTL(py::module &m);
|
|
||||||
void DLL_HEADER ExportSTLVis(py::module &m);
|
|
||||||
#ifdef OCCGEOMETRY
|
#ifdef OCCGEOMETRY
|
||||||
void DLL_HEADER ExportNgOCC(py::module &m);
|
void NGCORE_API_IMPORT ExportNgOCC(py::module &m);
|
||||||
#endif // OCCGEOMETRY
|
#endif // OCCGEOMETRY
|
||||||
namespace netgen
|
namespace netgen
|
||||||
{
|
{
|
||||||
std::vector<unsigned char> DLL_HEADER Snapshot( int w, int h );
|
std::vector<unsigned char> NGCORE_API_IMPORT Snapshot( int w, int h );
|
||||||
}
|
}
|
||||||
|
|
||||||
PYBIND11_MODULE(libngpy, ngpy)
|
PYBIND11_MODULE(libngpy, ngpy)
|
||||||
|
130
nglib/nglib.cpp
130
nglib/nglib.cpp
@ -78,7 +78,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
// initialize, deconstruct Netgen library:
|
// initialize, deconstruct Netgen library:
|
||||||
DLL_HEADER void Ng_Init ()
|
NGLIB_API void Ng_Init ()
|
||||||
{
|
{
|
||||||
mycout = &cout;
|
mycout = &cout;
|
||||||
myerr = &cerr;
|
myerr = &cerr;
|
||||||
@ -90,7 +90,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
// Clean-up functions before ending usage of nglib
|
// Clean-up functions before ending usage of nglib
|
||||||
DLL_HEADER void Ng_Exit ()
|
NGLIB_API void Ng_Exit ()
|
||||||
{
|
{
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
@ -99,7 +99,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
// Create a new netgen mesh object
|
// Create a new netgen mesh object
|
||||||
DLL_HEADER Ng_Mesh * Ng_NewMesh ()
|
NGLIB_API Ng_Mesh * Ng_NewMesh ()
|
||||||
{
|
{
|
||||||
Mesh * mesh = new Mesh;
|
Mesh * mesh = new Mesh;
|
||||||
mesh->AddFaceDescriptor (FaceDescriptor (1, 1, 0, 1));
|
mesh->AddFaceDescriptor (FaceDescriptor (1, 1, 0, 1));
|
||||||
@ -110,7 +110,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
// Delete an existing netgen mesh object
|
// Delete an existing netgen mesh object
|
||||||
DLL_HEADER void Ng_DeleteMesh (Ng_Mesh * mesh)
|
NGLIB_API void Ng_DeleteMesh (Ng_Mesh * mesh)
|
||||||
{
|
{
|
||||||
if(mesh != NULL)
|
if(mesh != NULL)
|
||||||
{
|
{
|
||||||
@ -129,7 +129,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
// Save a netgen mesh in the native VOL format
|
// Save a netgen mesh in the native VOL format
|
||||||
DLL_HEADER void Ng_SaveMesh(Ng_Mesh * mesh, const char* filename)
|
NGLIB_API void Ng_SaveMesh(Ng_Mesh * mesh, const char* filename)
|
||||||
{
|
{
|
||||||
((Mesh*)mesh)->Save(filename);
|
((Mesh*)mesh)->Save(filename);
|
||||||
}
|
}
|
||||||
@ -138,7 +138,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
// Load a netgen native VOL mesh from a given file
|
// Load a netgen native VOL mesh from a given file
|
||||||
DLL_HEADER Ng_Mesh * Ng_LoadMesh(const char* filename)
|
NGLIB_API Ng_Mesh * Ng_LoadMesh(const char* filename)
|
||||||
{
|
{
|
||||||
Mesh * mesh = new Mesh;
|
Mesh * mesh = new Mesh;
|
||||||
mesh->Load(filename);
|
mesh->Load(filename);
|
||||||
@ -149,7 +149,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
// Merge another mesh file into the currently loaded one
|
// Merge another mesh file into the currently loaded one
|
||||||
DLL_HEADER Ng_Result Ng_MergeMesh( Ng_Mesh* mesh, const char* filename)
|
NGLIB_API Ng_Result Ng_MergeMesh( Ng_Mesh* mesh, const char* filename)
|
||||||
{
|
{
|
||||||
Ng_Result status = NG_OK;
|
Ng_Result status = NG_OK;
|
||||||
|
|
||||||
@ -190,7 +190,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
// Merge another mesh file into the currently loaded one
|
// Merge another mesh file into the currently loaded one
|
||||||
DLL_HEADER Ng_Result Ng_MergeMesh( Ng_Mesh* mesh1, Ng_Mesh* mesh2)
|
NGLIB_API Ng_Result Ng_MergeMesh( Ng_Mesh* mesh1, Ng_Mesh* mesh2)
|
||||||
{
|
{
|
||||||
return NG_ERROR;
|
return NG_ERROR;
|
||||||
}
|
}
|
||||||
@ -199,7 +199,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
// Manually add a point to an existing mesh object
|
// Manually add a point to an existing mesh object
|
||||||
DLL_HEADER void Ng_AddPoint (Ng_Mesh * mesh, double * x)
|
NGLIB_API void Ng_AddPoint (Ng_Mesh * mesh, double * x)
|
||||||
{
|
{
|
||||||
Mesh * m = (Mesh*)mesh;
|
Mesh * m = (Mesh*)mesh;
|
||||||
m->AddPoint (Point3d (x[0], x[1], x[2]));
|
m->AddPoint (Point3d (x[0], x[1], x[2]));
|
||||||
@ -209,7 +209,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
// Manually add a surface element of a given type to an existing mesh object
|
// Manually add a surface element of a given type to an existing mesh object
|
||||||
DLL_HEADER void Ng_AddSurfaceElement (Ng_Mesh * mesh, Ng_Surface_Element_Type et,
|
NGLIB_API void Ng_AddSurfaceElement (Ng_Mesh * mesh, Ng_Surface_Element_Type et,
|
||||||
int * pi)
|
int * pi)
|
||||||
{
|
{
|
||||||
Mesh * m = (Mesh*)mesh;
|
Mesh * m = (Mesh*)mesh;
|
||||||
@ -225,7 +225,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
// Manually add a volume element of a given type to an existing mesh object
|
// Manually add a volume element of a given type to an existing mesh object
|
||||||
DLL_HEADER void Ng_AddVolumeElement (Ng_Mesh * mesh, Ng_Volume_Element_Type et,
|
NGLIB_API void Ng_AddVolumeElement (Ng_Mesh * mesh, Ng_Volume_Element_Type et,
|
||||||
int * pi)
|
int * pi)
|
||||||
{
|
{
|
||||||
Mesh * m = (Mesh*)mesh;
|
Mesh * m = (Mesh*)mesh;
|
||||||
@ -242,7 +242,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
// Obtain the number of points in the mesh
|
// Obtain the number of points in the mesh
|
||||||
DLL_HEADER int Ng_GetNP (Ng_Mesh * mesh)
|
NGLIB_API int Ng_GetNP (Ng_Mesh * mesh)
|
||||||
{
|
{
|
||||||
return ((Mesh*)mesh) -> GetNP();
|
return ((Mesh*)mesh) -> GetNP();
|
||||||
}
|
}
|
||||||
@ -251,7 +251,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
// Obtain the number of surface elements in the mesh
|
// Obtain the number of surface elements in the mesh
|
||||||
DLL_HEADER int Ng_GetNSE (Ng_Mesh * mesh)
|
NGLIB_API int Ng_GetNSE (Ng_Mesh * mesh)
|
||||||
{
|
{
|
||||||
return ((Mesh*)mesh) -> GetNSE();
|
return ((Mesh*)mesh) -> GetNSE();
|
||||||
}
|
}
|
||||||
@ -260,7 +260,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
// Obtain the number of volume elements in the mesh
|
// Obtain the number of volume elements in the mesh
|
||||||
DLL_HEADER int Ng_GetNE (Ng_Mesh * mesh)
|
NGLIB_API int Ng_GetNE (Ng_Mesh * mesh)
|
||||||
{
|
{
|
||||||
return ((Mesh*)mesh) -> GetNE();
|
return ((Mesh*)mesh) -> GetNE();
|
||||||
}
|
}
|
||||||
@ -269,7 +269,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
// Return point coordinates of a given point index in the mesh
|
// Return point coordinates of a given point index in the mesh
|
||||||
DLL_HEADER void Ng_GetPoint (Ng_Mesh * mesh, int num, double * x)
|
NGLIB_API void Ng_GetPoint (Ng_Mesh * mesh, int num, double * x)
|
||||||
{
|
{
|
||||||
const Point3d & p = ((Mesh*)mesh)->Point(num);
|
const Point3d & p = ((Mesh*)mesh)->Point(num);
|
||||||
x[0] = p.X();
|
x[0] = p.X();
|
||||||
@ -281,7 +281,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
// Return the surface element at a given index "pi"
|
// Return the surface element at a given index "pi"
|
||||||
DLL_HEADER Ng_Surface_Element_Type
|
NGLIB_API Ng_Surface_Element_Type
|
||||||
Ng_GetSurfaceElement (Ng_Mesh * mesh, int num, int * pi)
|
Ng_GetSurfaceElement (Ng_Mesh * mesh, int num, int * pi)
|
||||||
{
|
{
|
||||||
const Element2d & el = ((Mesh*)mesh)->SurfaceElement(num);
|
const Element2d & el = ((Mesh*)mesh)->SurfaceElement(num);
|
||||||
@ -312,7 +312,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
// Return the volume element at a given index "pi"
|
// Return the volume element at a given index "pi"
|
||||||
DLL_HEADER Ng_Volume_Element_Type
|
NGLIB_API Ng_Volume_Element_Type
|
||||||
Ng_GetVolumeElement (Ng_Mesh * mesh, int num, int * pi)
|
Ng_GetVolumeElement (Ng_Mesh * mesh, int num, int * pi)
|
||||||
{
|
{
|
||||||
const Element & el = ((Mesh*)mesh)->VolumeElement(num);
|
const Element & el = ((Mesh*)mesh)->VolumeElement(num);
|
||||||
@ -335,7 +335,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
// Set a global limit on the maximum mesh size allowed
|
// Set a global limit on the maximum mesh size allowed
|
||||||
DLL_HEADER void Ng_RestrictMeshSizeGlobal (Ng_Mesh * mesh, double h)
|
NGLIB_API void Ng_RestrictMeshSizeGlobal (Ng_Mesh * mesh, double h)
|
||||||
{
|
{
|
||||||
((Mesh*)mesh) -> SetGlobalH (h);
|
((Mesh*)mesh) -> SetGlobalH (h);
|
||||||
}
|
}
|
||||||
@ -344,7 +344,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
// Set a local limit on the maximum mesh size allowed around the given point
|
// Set a local limit on the maximum mesh size allowed around the given point
|
||||||
DLL_HEADER void Ng_RestrictMeshSizePoint (Ng_Mesh * mesh, double * p, double h)
|
NGLIB_API void Ng_RestrictMeshSizePoint (Ng_Mesh * mesh, double * p, double h)
|
||||||
{
|
{
|
||||||
((Mesh*)mesh) -> RestrictLocalH (Point3d (p[0], p[1], p[2]), h);
|
((Mesh*)mesh) -> RestrictLocalH (Point3d (p[0], p[1], p[2]), h);
|
||||||
}
|
}
|
||||||
@ -353,7 +353,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
// Set a local limit on the maximum mesh size allowed within a given box region
|
// Set a local limit on the maximum mesh size allowed within a given box region
|
||||||
DLL_HEADER void Ng_RestrictMeshSizeBox (Ng_Mesh * mesh, double * pmin, double * pmax, double h)
|
NGLIB_API void Ng_RestrictMeshSizeBox (Ng_Mesh * mesh, double * pmin, double * pmax, double h)
|
||||||
{
|
{
|
||||||
for (double x = pmin[0]; x < pmax[0]; x += h)
|
for (double x = pmin[0]; x < pmax[0]; x += h)
|
||||||
for (double y = pmin[1]; y < pmax[1]; y += h)
|
for (double y = pmin[1]; y < pmax[1]; y += h)
|
||||||
@ -365,7 +365,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
// Generates volume mesh from an existing surface mesh
|
// Generates volume mesh from an existing surface mesh
|
||||||
DLL_HEADER Ng_Result Ng_GenerateVolumeMesh (Ng_Mesh * mesh, Ng_Meshing_Parameters * mp)
|
NGLIB_API Ng_Result Ng_GenerateVolumeMesh (Ng_Mesh * mesh, Ng_Meshing_Parameters * mp)
|
||||||
{
|
{
|
||||||
Mesh * m = (Mesh*)mesh;
|
Mesh * m = (Mesh*)mesh;
|
||||||
|
|
||||||
@ -388,7 +388,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
/* ------------------ 2D Meshing Functions ------------------------- */
|
/* ------------------ 2D Meshing Functions ------------------------- */
|
||||||
DLL_HEADER void Ng_AddPoint_2D (Ng_Mesh * mesh, double * x)
|
NGLIB_API void Ng_AddPoint_2D (Ng_Mesh * mesh, double * x)
|
||||||
{
|
{
|
||||||
Mesh * m = (Mesh*)mesh;
|
Mesh * m = (Mesh*)mesh;
|
||||||
|
|
||||||
@ -398,7 +398,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
DLL_HEADER void Ng_AddBoundarySeg_2D (Ng_Mesh * mesh, int pi1, int pi2)
|
NGLIB_API void Ng_AddBoundarySeg_2D (Ng_Mesh * mesh, int pi1, int pi2)
|
||||||
{
|
{
|
||||||
Mesh * m = (Mesh*)mesh;
|
Mesh * m = (Mesh*)mesh;
|
||||||
|
|
||||||
@ -411,7 +411,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
DLL_HEADER int Ng_GetNP_2D (Ng_Mesh * mesh)
|
NGLIB_API int Ng_GetNP_2D (Ng_Mesh * mesh)
|
||||||
{
|
{
|
||||||
Mesh * m = (Mesh*)mesh;
|
Mesh * m = (Mesh*)mesh;
|
||||||
return m->GetNP();
|
return m->GetNP();
|
||||||
@ -420,7 +420,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
DLL_HEADER int Ng_GetNE_2D (Ng_Mesh * mesh)
|
NGLIB_API int Ng_GetNE_2D (Ng_Mesh * mesh)
|
||||||
{
|
{
|
||||||
Mesh * m = (Mesh*)mesh;
|
Mesh * m = (Mesh*)mesh;
|
||||||
return m->GetNSE();
|
return m->GetNSE();
|
||||||
@ -429,7 +429,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
DLL_HEADER int Ng_GetNSeg_2D (Ng_Mesh * mesh)
|
NGLIB_API int Ng_GetNSeg_2D (Ng_Mesh * mesh)
|
||||||
{
|
{
|
||||||
Mesh * m = (Mesh*)mesh;
|
Mesh * m = (Mesh*)mesh;
|
||||||
return m->GetNSeg();
|
return m->GetNSeg();
|
||||||
@ -438,7 +438,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
DLL_HEADER void Ng_GetPoint_2D (Ng_Mesh * mesh, int num, double * x)
|
NGLIB_API void Ng_GetPoint_2D (Ng_Mesh * mesh, int num, double * x)
|
||||||
{
|
{
|
||||||
Mesh * m = (Mesh*)mesh;
|
Mesh * m = (Mesh*)mesh;
|
||||||
|
|
||||||
@ -450,7 +450,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
DLL_HEADER Ng_Surface_Element_Type
|
NGLIB_API Ng_Surface_Element_Type
|
||||||
Ng_GetElement_2D (Ng_Mesh * mesh, int num, int * pi, int * matnum)
|
Ng_GetElement_2D (Ng_Mesh * mesh, int num, int * pi, int * matnum)
|
||||||
{
|
{
|
||||||
const Element2d & el = ((Mesh*)mesh)->SurfaceElement(num);
|
const Element2d & el = ((Mesh*)mesh)->SurfaceElement(num);
|
||||||
@ -485,7 +485,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
DLL_HEADER void Ng_GetSegment_2D (Ng_Mesh * mesh, int num, int * pi, int * matnum)
|
NGLIB_API void Ng_GetSegment_2D (Ng_Mesh * mesh, int num, int * pi, int * matnum)
|
||||||
{
|
{
|
||||||
const Segment & seg = ((Mesh*)mesh)->LineSegment(num);
|
const Segment & seg = ((Mesh*)mesh)->LineSegment(num);
|
||||||
pi[0] = seg[0];
|
pi[0] = seg[0];
|
||||||
@ -498,7 +498,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
DLL_HEADER Ng_Geometry_2D * Ng_LoadGeometry_2D (const char * filename)
|
NGLIB_API Ng_Geometry_2D * Ng_LoadGeometry_2D (const char * filename)
|
||||||
{
|
{
|
||||||
SplineGeometry2d * geom = new SplineGeometry2d();
|
SplineGeometry2d * geom = new SplineGeometry2d();
|
||||||
geom -> Load (filename);
|
geom -> Load (filename);
|
||||||
@ -506,7 +506,7 @@ namespace nglib
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
DLL_HEADER Ng_Result Ng_GenerateMesh_2D (Ng_Geometry_2D * geom,
|
NGLIB_API Ng_Result Ng_GenerateMesh_2D (Ng_Geometry_2D * geom,
|
||||||
Ng_Mesh ** mesh,
|
Ng_Mesh ** mesh,
|
||||||
Ng_Meshing_Parameters * mp)
|
Ng_Meshing_Parameters * mp)
|
||||||
{
|
{
|
||||||
@ -527,7 +527,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
DLL_HEADER void Ng_HP_Refinement (Ng_Geometry_2D * geom,
|
NGLIB_API void Ng_HP_Refinement (Ng_Geometry_2D * geom,
|
||||||
Ng_Mesh * mesh,
|
Ng_Mesh * mesh,
|
||||||
int levels)
|
int levels)
|
||||||
{
|
{
|
||||||
@ -538,7 +538,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
DLL_HEADER void Ng_HP_Refinement (Ng_Geometry_2D * geom,
|
NGLIB_API void Ng_HP_Refinement (Ng_Geometry_2D * geom,
|
||||||
Ng_Mesh * mesh,
|
Ng_Mesh * mesh,
|
||||||
int levels, double parameter)
|
int levels, double parameter)
|
||||||
{
|
{
|
||||||
@ -553,7 +553,7 @@ namespace nglib
|
|||||||
NgArray<Point<3> > readedges; //only before init stlgeometry
|
NgArray<Point<3> > readedges; //only before init stlgeometry
|
||||||
|
|
||||||
// loads geometry from STL file
|
// loads geometry from STL file
|
||||||
DLL_HEADER Ng_STL_Geometry * Ng_STL_LoadGeometry (const char * filename, int binary)
|
NGLIB_API Ng_STL_Geometry * Ng_STL_LoadGeometry (const char * filename, int binary)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
STLGeometry geom;
|
STLGeometry geom;
|
||||||
@ -603,7 +603,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
// generate new STL Geometry
|
// generate new STL Geometry
|
||||||
DLL_HEADER Ng_STL_Geometry * Ng_STL_NewGeometry ()
|
NGLIB_API Ng_STL_Geometry * Ng_STL_NewGeometry ()
|
||||||
{
|
{
|
||||||
return (Ng_STL_Geometry*)(void*)new STLGeometry;
|
return (Ng_STL_Geometry*)(void*)new STLGeometry;
|
||||||
}
|
}
|
||||||
@ -612,7 +612,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
// after adding triangles (and edges) initialize
|
// after adding triangles (and edges) initialize
|
||||||
DLL_HEADER Ng_Result Ng_STL_InitSTLGeometry (Ng_STL_Geometry * geom)
|
NGLIB_API Ng_Result Ng_STL_InitSTLGeometry (Ng_STL_Geometry * geom)
|
||||||
{
|
{
|
||||||
STLGeometry* geo = (STLGeometry*)geom;
|
STLGeometry* geo = (STLGeometry*)geom;
|
||||||
geo->InitSTLGeometry(readtrias);
|
geo->InitSTLGeometry(readtrias);
|
||||||
@ -637,7 +637,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
// automatically generates edges:
|
// automatically generates edges:
|
||||||
DLL_HEADER Ng_Result Ng_STL_MakeEdges (Ng_STL_Geometry * geom,
|
NGLIB_API Ng_Result Ng_STL_MakeEdges (Ng_STL_Geometry * geom,
|
||||||
Ng_Mesh* mesh,
|
Ng_Mesh* mesh,
|
||||||
Ng_Meshing_Parameters * mp)
|
Ng_Meshing_Parameters * mp)
|
||||||
{
|
{
|
||||||
@ -683,7 +683,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
// generates mesh, empty mesh be already created.
|
// generates mesh, empty mesh be already created.
|
||||||
DLL_HEADER Ng_Result Ng_STL_GenerateSurfaceMesh (Ng_STL_Geometry * geom,
|
NGLIB_API Ng_Result Ng_STL_GenerateSurfaceMesh (Ng_STL_Geometry * geom,
|
||||||
Ng_Mesh* mesh,
|
Ng_Mesh* mesh,
|
||||||
Ng_Meshing_Parameters * mp)
|
Ng_Meshing_Parameters * mp)
|
||||||
{
|
{
|
||||||
@ -745,7 +745,7 @@ namespace nglib
|
|||||||
// fills STL Geometry
|
// fills STL Geometry
|
||||||
// positive orientation
|
// positive orientation
|
||||||
// normal vector may be null-pointer
|
// normal vector may be null-pointer
|
||||||
DLL_HEADER void Ng_STL_AddTriangle (Ng_STL_Geometry * geom,
|
NGLIB_API void Ng_STL_AddTriangle (Ng_STL_Geometry * geom,
|
||||||
double * p1, double * p2, double * p3,
|
double * p1, double * p2, double * p3,
|
||||||
double * nv)
|
double * nv)
|
||||||
{
|
{
|
||||||
@ -764,7 +764,7 @@ namespace nglib
|
|||||||
}
|
}
|
||||||
|
|
||||||
// add (optional) edges:
|
// add (optional) edges:
|
||||||
DLL_HEADER void Ng_STL_AddEdge (Ng_STL_Geometry * geom,
|
NGLIB_API void Ng_STL_AddEdge (Ng_STL_Geometry * geom,
|
||||||
double * p1, double * p2)
|
double * p1, double * p2)
|
||||||
{
|
{
|
||||||
readedges.Append(Point3d(p1[0],p1[1],p1[2]));
|
readedges.Append(Point3d(p1[0],p1[1],p1[2]));
|
||||||
@ -777,7 +777,7 @@ namespace nglib
|
|||||||
#ifdef OCCGEOMETRY
|
#ifdef OCCGEOMETRY
|
||||||
// --------------------- OCC Geometry / Meshing Utility Functions -------------------
|
// --------------------- OCC Geometry / Meshing Utility Functions -------------------
|
||||||
// Create new OCC Geometry Object
|
// Create new OCC Geometry Object
|
||||||
DLL_HEADER Ng_OCC_Geometry * Ng_OCC_NewGeometry ()
|
NGLIB_API Ng_OCC_Geometry * Ng_OCC_NewGeometry ()
|
||||||
{
|
{
|
||||||
return (Ng_OCC_Geometry*)(void*)new OCCGeometry;
|
return (Ng_OCC_Geometry*)(void*)new OCCGeometry;
|
||||||
}
|
}
|
||||||
@ -786,7 +786,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
// Delete the OCC Geometry Object
|
// Delete the OCC Geometry Object
|
||||||
DLL_HEADER Ng_Result Ng_OCC_DeleteGeometry(Ng_OCC_Geometry * geom)
|
NGLIB_API Ng_Result Ng_OCC_DeleteGeometry(Ng_OCC_Geometry * geom)
|
||||||
{
|
{
|
||||||
if (geom != NULL)
|
if (geom != NULL)
|
||||||
{
|
{
|
||||||
@ -802,7 +802,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
// Loads geometry from STEP File
|
// Loads geometry from STEP File
|
||||||
DLL_HEADER Ng_OCC_Geometry * Ng_OCC_Load_STEP (const char * filename)
|
NGLIB_API Ng_OCC_Geometry * Ng_OCC_Load_STEP (const char * filename)
|
||||||
{
|
{
|
||||||
// Call the STEP File Load function. Note.. the geometry class
|
// Call the STEP File Load function. Note.. the geometry class
|
||||||
// is created and instantiated within the load function
|
// is created and instantiated within the load function
|
||||||
@ -815,7 +815,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
// Loads geometry from IGES File
|
// Loads geometry from IGES File
|
||||||
DLL_HEADER Ng_OCC_Geometry * Ng_OCC_Load_IGES (const char * filename)
|
NGLIB_API Ng_OCC_Geometry * Ng_OCC_Load_IGES (const char * filename)
|
||||||
{
|
{
|
||||||
// Call the IGES File Load function. Note.. the geometry class
|
// Call the IGES File Load function. Note.. the geometry class
|
||||||
// is created and instantiated within the load function
|
// is created and instantiated within the load function
|
||||||
@ -828,7 +828,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
// Loads geometry from BREP File
|
// Loads geometry from BREP File
|
||||||
DLL_HEADER Ng_OCC_Geometry * Ng_OCC_Load_BREP (const char * filename)
|
NGLIB_API Ng_OCC_Geometry * Ng_OCC_Load_BREP (const char * filename)
|
||||||
{
|
{
|
||||||
// Call the BREP File Load function. Note.. the geometry class
|
// Call the BREP File Load function. Note.. the geometry class
|
||||||
// is created and instantiated within the load function
|
// is created and instantiated within the load function
|
||||||
@ -842,7 +842,7 @@ namespace nglib
|
|||||||
|
|
||||||
// Locally limit the size of the mesh to be generated at various points
|
// Locally limit the size of the mesh to be generated at various points
|
||||||
// based on the topology of the geometry
|
// based on the topology of the geometry
|
||||||
DLL_HEADER Ng_Result Ng_OCC_SetLocalMeshSize (Ng_OCC_Geometry * geom,
|
NGLIB_API Ng_Result Ng_OCC_SetLocalMeshSize (Ng_OCC_Geometry * geom,
|
||||||
Ng_Mesh * mesh,
|
Ng_Mesh * mesh,
|
||||||
Ng_Meshing_Parameters * mp)
|
Ng_Meshing_Parameters * mp)
|
||||||
{
|
{
|
||||||
@ -870,7 +870,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
// Mesh the edges and add Face descriptors to prepare for surface meshing
|
// Mesh the edges and add Face descriptors to prepare for surface meshing
|
||||||
DLL_HEADER Ng_Result Ng_OCC_GenerateEdgeMesh (Ng_OCC_Geometry * geom,
|
NGLIB_API Ng_Result Ng_OCC_GenerateEdgeMesh (Ng_OCC_Geometry * geom,
|
||||||
Ng_Mesh * mesh,
|
Ng_Mesh * mesh,
|
||||||
Ng_Meshing_Parameters * mp)
|
Ng_Meshing_Parameters * mp)
|
||||||
{
|
{
|
||||||
@ -896,7 +896,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
// Mesh the edges and add Face descriptors to prepare for surface meshing
|
// Mesh the edges and add Face descriptors to prepare for surface meshing
|
||||||
DLL_HEADER Ng_Result Ng_OCC_GenerateSurfaceMesh (Ng_OCC_Geometry * geom,
|
NGLIB_API Ng_Result Ng_OCC_GenerateSurfaceMesh (Ng_OCC_Geometry * geom,
|
||||||
Ng_Mesh * mesh,
|
Ng_Mesh * mesh,
|
||||||
Ng_Meshing_Parameters * mp)
|
Ng_Meshing_Parameters * mp)
|
||||||
{
|
{
|
||||||
@ -946,7 +946,7 @@ namespace nglib
|
|||||||
// Extract the face map from the OCC geometry
|
// Extract the face map from the OCC geometry
|
||||||
// The face map basically gives an index to each face in the geometry,
|
// The face map basically gives an index to each face in the geometry,
|
||||||
// which can be used to access a specific face
|
// which can be used to access a specific face
|
||||||
DLL_HEADER Ng_Result Ng_OCC_GetFMap(Ng_OCC_Geometry * geom,
|
NGLIB_API Ng_Result Ng_OCC_GetFMap(Ng_OCC_Geometry * geom,
|
||||||
Ng_OCC_TopTools_IndexedMapOfShape * FMap)
|
Ng_OCC_TopTools_IndexedMapOfShape * FMap)
|
||||||
{
|
{
|
||||||
OCCGeometry* occgeom = (OCCGeometry*)geom;
|
OCCGeometry* occgeom = (OCCGeometry*)geom;
|
||||||
@ -973,7 +973,7 @@ namespace nglib
|
|||||||
|
|
||||||
// ------------------ Begin - Meshing Parameters related functions ------------------
|
// ------------------ Begin - Meshing Parameters related functions ------------------
|
||||||
// Constructor for the local nglib meshing parameters class
|
// Constructor for the local nglib meshing parameters class
|
||||||
DLL_HEADER Ng_Meshing_Parameters :: Ng_Meshing_Parameters()
|
NGLIB_API Ng_Meshing_Parameters :: Ng_Meshing_Parameters()
|
||||||
{
|
{
|
||||||
uselocalh = 1;
|
uselocalh = 1;
|
||||||
|
|
||||||
@ -1014,7 +1014,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
// Reset the local meshing parameters to the default values
|
// Reset the local meshing parameters to the default values
|
||||||
DLL_HEADER void Ng_Meshing_Parameters :: Reset_Parameters()
|
NGLIB_API void Ng_Meshing_Parameters :: Reset_Parameters()
|
||||||
{
|
{
|
||||||
uselocalh = 1;
|
uselocalh = 1;
|
||||||
|
|
||||||
@ -1055,7 +1055,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
DLL_HEADER void Ng_Meshing_Parameters :: Transfer_Parameters()
|
NGLIB_API void Ng_Meshing_Parameters :: Transfer_Parameters()
|
||||||
{
|
{
|
||||||
mparam.uselocalh = uselocalh;
|
mparam.uselocalh = uselocalh;
|
||||||
|
|
||||||
@ -1088,7 +1088,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
// ------------------ Begin - Second Order Mesh generation functions ----------------
|
// ------------------ Begin - Second Order Mesh generation functions ----------------
|
||||||
DLL_HEADER void Ng_Generate_SecondOrder(Ng_Mesh * mesh)
|
NGLIB_API void Ng_Generate_SecondOrder(Ng_Mesh * mesh)
|
||||||
{
|
{
|
||||||
Refinement ref(*((Mesh*) mesh)->GetGeometry());
|
Refinement ref(*((Mesh*) mesh)->GetGeometry());
|
||||||
ref.MakeSecondOrder(*(Mesh*) mesh);
|
ref.MakeSecondOrder(*(Mesh*) mesh);
|
||||||
@ -1097,7 +1097,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
DLL_HEADER void Ng_2D_Generate_SecondOrder(Ng_Geometry_2D * geom,
|
NGLIB_API void Ng_2D_Generate_SecondOrder(Ng_Geometry_2D * geom,
|
||||||
Ng_Mesh * mesh)
|
Ng_Mesh * mesh)
|
||||||
{
|
{
|
||||||
( (SplineGeometry2d*)geom ) -> GetRefinement().MakeSecondOrder( * (Mesh*) mesh );
|
( (SplineGeometry2d*)geom ) -> GetRefinement().MakeSecondOrder( * (Mesh*) mesh );
|
||||||
@ -1106,7 +1106,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
DLL_HEADER void Ng_STL_Generate_SecondOrder(Ng_STL_Geometry * geom,
|
NGLIB_API void Ng_STL_Generate_SecondOrder(Ng_STL_Geometry * geom,
|
||||||
Ng_Mesh * mesh)
|
Ng_Mesh * mesh)
|
||||||
{
|
{
|
||||||
((STLGeometry*)geom)->GetRefinement().MakeSecondOrder(*(Mesh*) mesh);
|
((STLGeometry*)geom)->GetRefinement().MakeSecondOrder(*(Mesh*) mesh);
|
||||||
@ -1115,7 +1115,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
DLL_HEADER void Ng_CSG_Generate_SecondOrder (Ng_CSG_Geometry * geom,
|
NGLIB_API void Ng_CSG_Generate_SecondOrder (Ng_CSG_Geometry * geom,
|
||||||
Ng_Mesh * mesh)
|
Ng_Mesh * mesh)
|
||||||
{
|
{
|
||||||
((CSGeometry*)geom)->GetRefinement().MakeSecondOrder(*(Mesh*) mesh);
|
((CSGeometry*)geom)->GetRefinement().MakeSecondOrder(*(Mesh*) mesh);
|
||||||
@ -1125,7 +1125,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
#ifdef OCCGEOMETRY
|
#ifdef OCCGEOMETRY
|
||||||
DLL_HEADER void Ng_OCC_Generate_SecondOrder (Ng_OCC_Geometry * geom,
|
NGLIB_API void Ng_OCC_Generate_SecondOrder (Ng_OCC_Geometry * geom,
|
||||||
Ng_Mesh * mesh)
|
Ng_Mesh * mesh)
|
||||||
{
|
{
|
||||||
((OCCGeometry*)geom )->GetRefinement().MakeSecondOrder(*(Mesh*) mesh);
|
((OCCGeometry*)geom )->GetRefinement().MakeSecondOrder(*(Mesh*) mesh);
|
||||||
@ -1137,7 +1137,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
// ------------------ Begin - Uniform Mesh Refinement functions ---------------------
|
// ------------------ Begin - Uniform Mesh Refinement functions ---------------------
|
||||||
DLL_HEADER void Ng_Uniform_Refinement (Ng_Mesh * mesh)
|
NGLIB_API void Ng_Uniform_Refinement (Ng_Mesh * mesh)
|
||||||
{
|
{
|
||||||
Refinement ref(*((Mesh*)mesh)->GetGeometry());
|
Refinement ref(*((Mesh*)mesh)->GetGeometry());
|
||||||
ref.Refine ( * (Mesh*) mesh );
|
ref.Refine ( * (Mesh*) mesh );
|
||||||
@ -1146,7 +1146,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
DLL_HEADER void Ng_2D_Uniform_Refinement (Ng_Geometry_2D * geom,
|
NGLIB_API void Ng_2D_Uniform_Refinement (Ng_Geometry_2D * geom,
|
||||||
Ng_Mesh * mesh)
|
Ng_Mesh * mesh)
|
||||||
{
|
{
|
||||||
( (SplineGeometry2d*)geom ) -> GetRefinement().Refine ( * (Mesh*) mesh );
|
( (SplineGeometry2d*)geom ) -> GetRefinement().Refine ( * (Mesh*) mesh );
|
||||||
@ -1155,7 +1155,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
DLL_HEADER void Ng_STL_Uniform_Refinement (Ng_STL_Geometry * geom,
|
NGLIB_API void Ng_STL_Uniform_Refinement (Ng_STL_Geometry * geom,
|
||||||
Ng_Mesh * mesh)
|
Ng_Mesh * mesh)
|
||||||
{
|
{
|
||||||
( (STLGeometry*)geom ) -> GetRefinement().Refine ( * (Mesh*) mesh );
|
( (STLGeometry*)geom ) -> GetRefinement().Refine ( * (Mesh*) mesh );
|
||||||
@ -1164,7 +1164,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
DLL_HEADER void Ng_CSG_Uniform_Refinement (Ng_CSG_Geometry * geom,
|
NGLIB_API void Ng_CSG_Uniform_Refinement (Ng_CSG_Geometry * geom,
|
||||||
Ng_Mesh * mesh)
|
Ng_Mesh * mesh)
|
||||||
{
|
{
|
||||||
( (CSGeometry*)geom ) -> GetRefinement().Refine ( * (Mesh*) mesh );
|
( (CSGeometry*)geom ) -> GetRefinement().Refine ( * (Mesh*) mesh );
|
||||||
@ -1174,7 +1174,7 @@ namespace nglib
|
|||||||
|
|
||||||
|
|
||||||
#ifdef OCCGEOMETRY
|
#ifdef OCCGEOMETRY
|
||||||
DLL_HEADER void Ng_OCC_Uniform_Refinement (Ng_OCC_Geometry * geom,
|
NGLIB_API void Ng_OCC_Uniform_Refinement (Ng_OCC_Geometry * geom,
|
||||||
Ng_Mesh * mesh)
|
Ng_Mesh * mesh)
|
||||||
{
|
{
|
||||||
( (OCCGeometry*)geom ) -> GetRefinement().Refine ( * (Mesh*) mesh );
|
( (OCCGeometry*)geom ) -> GetRefinement().Refine ( * (Mesh*) mesh );
|
||||||
@ -1191,7 +1191,7 @@ namespace netgen
|
|||||||
{
|
{
|
||||||
char geomfilename[255];
|
char geomfilename[255];
|
||||||
|
|
||||||
DLL_HEADER void MyError2 (const char * ch)
|
NGLIB_API void MyError2 (const char * ch)
|
||||||
{
|
{
|
||||||
cerr << ch;
|
cerr << ch;
|
||||||
}
|
}
|
||||||
@ -1200,7 +1200,7 @@ namespace netgen
|
|||||||
|
|
||||||
|
|
||||||
//Destination for messages, errors, ...
|
//Destination for messages, errors, ...
|
||||||
DLL_HEADER void Ng_PrintDest2(const char * s)
|
NGLIB_API void Ng_PrintDest2(const char * s)
|
||||||
{
|
{
|
||||||
#ifdef PARALLEL
|
#ifdef PARALLEL
|
||||||
int id = 0;
|
int id = 0;
|
||||||
@ -1212,7 +1212,7 @@ namespace netgen
|
|||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
DLL_HEADER double GetTime ()
|
NGLIB_API double GetTime ()
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
134
nglib/nglib.h
134
nglib/nglib.h
@ -23,15 +23,15 @@
|
|||||||
|
|
||||||
// Philippose - 14.02.2009
|
// Philippose - 14.02.2009
|
||||||
// Modifications for creating a DLL in Windows
|
// Modifications for creating a DLL in Windows
|
||||||
#ifndef DLL_HEADER
|
#ifndef NGLIB_API
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
#ifdef NGLIB_EXPORTS || nglib_EXPORTS
|
#ifdef NGLIB_EXPORTS || nglib_EXPORTS
|
||||||
#define DLL_HEADER __declspec(dllexport)
|
#define NGLIB_API __declspec(dllexport)
|
||||||
#else
|
#else
|
||||||
#define DLL_HEADER __declspec(dllimport)
|
#define NGLIB_API __declspec(dllimport)
|
||||||
#endif
|
#endif
|
||||||
#else
|
#else
|
||||||
#define DLL_HEADER __attribute__((visibility("default")))
|
#define NGLIB_API __attribute__((visibility("default")))
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -156,7 +156,7 @@ public:
|
|||||||
- #check_overlap: 1
|
- #check_overlap: 1
|
||||||
- #check_overlapping_boundary: 1
|
- #check_overlapping_boundary: 1
|
||||||
*/
|
*/
|
||||||
DLL_HEADER Ng_Meshing_Parameters();
|
NGLIB_API Ng_Meshing_Parameters();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -166,7 +166,7 @@ public:
|
|||||||
This member function resets all the meshing parameters
|
This member function resets all the meshing parameters
|
||||||
of the object to the default values
|
of the object to the default values
|
||||||
*/
|
*/
|
||||||
DLL_HEADER void Reset_Parameters();
|
NGLIB_API void Reset_Parameters();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -177,7 +177,7 @@ public:
|
|||||||
defined in the local meshing parameters structure of nglib into
|
defined in the local meshing parameters structure of nglib into
|
||||||
the internal meshing parameters structure used by the Netgen core
|
the internal meshing parameters structure used by the Netgen core
|
||||||
*/
|
*/
|
||||||
DLL_HEADER void Transfer_Parameters();
|
NGLIB_API void Transfer_Parameters();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -194,7 +194,7 @@ public:
|
|||||||
program before beginning to use the other Netgen
|
program before beginning to use the other Netgen
|
||||||
specific functions.
|
specific functions.
|
||||||
*/
|
*/
|
||||||
DLL_HEADER void Ng_Init ();
|
NGLIB_API void Ng_Init ();
|
||||||
|
|
||||||
|
|
||||||
/*! \brief Exit the Netgen meshing kernel in a clean manner
|
/*! \brief Exit the Netgen meshing kernel in a clean manner
|
||||||
@ -202,7 +202,7 @@ DLL_HEADER void Ng_Init ();
|
|||||||
Use this function to exit the meshing sub-system in
|
Use this function to exit the meshing sub-system in
|
||||||
a clean and orderly manner.
|
a clean and orderly manner.
|
||||||
*/
|
*/
|
||||||
DLL_HEADER void Ng_Exit ();
|
NGLIB_API void Ng_Exit ();
|
||||||
|
|
||||||
|
|
||||||
/*! \brief Create a new (and empty) Netgen Mesh Structure
|
/*! \brief Create a new (and empty) Netgen Mesh Structure
|
||||||
@ -215,7 +215,7 @@ DLL_HEADER void Ng_Exit ();
|
|||||||
|
|
||||||
\return Ng_Mesh Pointer to a Netgen Mesh type #Ng_Mesh
|
\return Ng_Mesh Pointer to a Netgen Mesh type #Ng_Mesh
|
||||||
*/
|
*/
|
||||||
DLL_HEADER Ng_Mesh * Ng_NewMesh ();
|
NGLIB_API Ng_Mesh * Ng_NewMesh ();
|
||||||
|
|
||||||
|
|
||||||
/*! \brief Delete an existing Netgen Mesh Structure
|
/*! \brief Delete an existing Netgen Mesh Structure
|
||||||
@ -226,7 +226,7 @@ DLL_HEADER Ng_Mesh * Ng_NewMesh ();
|
|||||||
\param mesh Pointer to an existing Netgen Mesh structure
|
\param mesh Pointer to an existing Netgen Mesh structure
|
||||||
of type #Ng_Mesh
|
of type #Ng_Mesh
|
||||||
*/
|
*/
|
||||||
DLL_HEADER void Ng_DeleteMesh (Ng_Mesh * mesh);
|
NGLIB_API void Ng_DeleteMesh (Ng_Mesh * mesh);
|
||||||
|
|
||||||
|
|
||||||
/*! \brief Save a Netgen Mesh to disk
|
/*! \brief Save a Netgen Mesh to disk
|
||||||
@ -243,7 +243,7 @@ DLL_HEADER void Ng_DeleteMesh (Ng_Mesh * mesh);
|
|||||||
name of the file to which the mesh should
|
name of the file to which the mesh should
|
||||||
be saved
|
be saved
|
||||||
*/
|
*/
|
||||||
DLL_HEADER void Ng_SaveMesh(Ng_Mesh * mesh, const char* filename);
|
NGLIB_API void Ng_SaveMesh(Ng_Mesh * mesh, const char* filename);
|
||||||
|
|
||||||
|
|
||||||
/*! \brief Load a Netgen VOL Mesh from disk into memory
|
/*! \brief Load a Netgen VOL Mesh from disk into memory
|
||||||
@ -256,7 +256,7 @@ DLL_HEADER void Ng_SaveMesh(Ng_Mesh * mesh, const char* filename);
|
|||||||
\return Ng_Mesh Pointer to a Netgen Mesh type #Ng_Mesh containing
|
\return Ng_Mesh Pointer to a Netgen Mesh type #Ng_Mesh containing
|
||||||
the mesh loaded from disk
|
the mesh loaded from disk
|
||||||
*/
|
*/
|
||||||
DLL_HEADER Ng_Mesh * Ng_LoadMesh(const char* filename);
|
NGLIB_API Ng_Mesh * Ng_LoadMesh(const char* filename);
|
||||||
|
|
||||||
|
|
||||||
/*! \brief Merge a Netgen VOL Mesh from disk into an existing mesh in memory
|
/*! \brief Merge a Netgen VOL Mesh from disk into an existing mesh in memory
|
||||||
@ -269,7 +269,7 @@ DLL_HEADER Ng_Mesh * Ng_LoadMesh(const char* filename);
|
|||||||
name of the file to load
|
name of the file to load
|
||||||
\return Ng_Result Status of the merge operation
|
\return Ng_Result Status of the merge operation
|
||||||
*/
|
*/
|
||||||
DLL_HEADER Ng_Result Ng_MergeMesh(Ng_Mesh * mesh, const char* filename);
|
NGLIB_API Ng_Result Ng_MergeMesh(Ng_Mesh * mesh, const char* filename);
|
||||||
|
|
||||||
|
|
||||||
/*! \brief Merge one Netgen Mesh into another Netgen Mesh in the case
|
/*! \brief Merge one Netgen Mesh into another Netgen Mesh in the case
|
||||||
@ -286,7 +286,7 @@ DLL_HEADER Ng_Result Ng_MergeMesh(Ng_Mesh * mesh, const char* filename);
|
|||||||
the parent mesh
|
the parent mesh
|
||||||
\return Ng_Result Status of the merge operation
|
\return Ng_Result Status of the merge operation
|
||||||
*/
|
*/
|
||||||
DLL_HEADER Ng_Result Ng_MergeMesh(Ng_Mesh * mesh1, Ng_Mesh * mesh2);
|
NGLIB_API Ng_Result Ng_MergeMesh(Ng_Mesh * mesh1, Ng_Mesh * mesh2);
|
||||||
// ------------------------------------------------------------------
|
// ------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
@ -310,7 +310,7 @@ DLL_HEADER Ng_Result Ng_MergeMesh(Ng_Mesh * mesh1, Ng_Mesh * mesh2);
|
|||||||
- x[1] = Y co-ordinate
|
- x[1] = Y co-ordinate
|
||||||
- x[2] = Z co-ordinate
|
- x[2] = Z co-ordinate
|
||||||
*/
|
*/
|
||||||
DLL_HEADER void Ng_AddPoint (Ng_Mesh * mesh, double * x);
|
NGLIB_API void Ng_AddPoint (Ng_Mesh * mesh, double * x);
|
||||||
|
|
||||||
|
|
||||||
/*! \brief Add a surface element to a given Netgen Mesh Structure
|
/*! \brief Add a surface element to a given Netgen Mesh Structure
|
||||||
@ -333,7 +333,7 @@ DLL_HEADER void Ng_AddPoint (Ng_Mesh * mesh, double * x);
|
|||||||
\param pi Pointer to an array of integers containing the indices of the
|
\param pi Pointer to an array of integers containing the indices of the
|
||||||
points which constitute the surface element being added
|
points which constitute the surface element being added
|
||||||
*/
|
*/
|
||||||
DLL_HEADER void Ng_AddSurfaceElement (Ng_Mesh * mesh, Ng_Surface_Element_Type et, int * pi);
|
NGLIB_API void Ng_AddSurfaceElement (Ng_Mesh * mesh, Ng_Surface_Element_Type et, int * pi);
|
||||||
|
|
||||||
|
|
||||||
/*! \brief Add a volume element to a given Netgen Mesh Structure
|
/*! \brief Add a volume element to a given Netgen Mesh Structure
|
||||||
@ -357,7 +357,7 @@ DLL_HEADER void Ng_AddSurfaceElement (Ng_Mesh * mesh, Ng_Surface_Element_Type et
|
|||||||
points which constitute the volume element being added
|
points which constitute the volume element being added
|
||||||
|
|
||||||
*/
|
*/
|
||||||
DLL_HEADER void Ng_AddVolumeElement (Ng_Mesh * mesh, Ng_Volume_Element_Type et, int * pi);
|
NGLIB_API void Ng_AddVolumeElement (Ng_Mesh * mesh, Ng_Volume_Element_Type et, int * pi);
|
||||||
|
|
||||||
// ------------------------------------------------------------------
|
// ------------------------------------------------------------------
|
||||||
|
|
||||||
@ -384,7 +384,7 @@ DLL_HEADER void Ng_AddVolumeElement (Ng_Mesh * mesh, Ng_Volume_Element_Type et,
|
|||||||
\param h Variable of type <i>double</i>, specifying the maximum
|
\param h Variable of type <i>double</i>, specifying the maximum
|
||||||
allowable mesh size
|
allowable mesh size
|
||||||
*/
|
*/
|
||||||
DLL_HEADER void Ng_RestrictMeshSizeGlobal (Ng_Mesh * mesh, double h);
|
NGLIB_API void Ng_RestrictMeshSizeGlobal (Ng_Mesh * mesh, double h);
|
||||||
|
|
||||||
|
|
||||||
/*! \brief Locally restrict the mesh element size at the given point
|
/*! \brief Locally restrict the mesh element size at the given point
|
||||||
@ -408,7 +408,7 @@ DLL_HEADER void Ng_RestrictMeshSizeGlobal (Ng_Mesh * mesh, double h);
|
|||||||
\param h Variable of type <i>double</i>, specifying the maximum
|
\param h Variable of type <i>double</i>, specifying the maximum
|
||||||
allowable mesh size at that point
|
allowable mesh size at that point
|
||||||
*/
|
*/
|
||||||
DLL_HEADER void Ng_RestrictMeshSizePoint (Ng_Mesh * mesh, double * p, double h);
|
NGLIB_API void Ng_RestrictMeshSizePoint (Ng_Mesh * mesh, double * p, double h);
|
||||||
|
|
||||||
|
|
||||||
/*! \brief Locally restrict the mesh element size within a specified box
|
/*! \brief Locally restrict the mesh element size within a specified box
|
||||||
@ -439,7 +439,7 @@ DLL_HEADER void Ng_RestrictMeshSizePoint (Ng_Mesh * mesh, double * p, double h);
|
|||||||
\param h Variable of type <i>double</i>, specifying the maximum
|
\param h Variable of type <i>double</i>, specifying the maximum
|
||||||
allowable mesh size at that point
|
allowable mesh size at that point
|
||||||
*/
|
*/
|
||||||
DLL_HEADER void Ng_RestrictMeshSizeBox (Ng_Mesh * mesh, double * pmin, double * pmax, double h);
|
NGLIB_API void Ng_RestrictMeshSizeBox (Ng_Mesh * mesh, double * pmin, double * pmax, double h);
|
||||||
|
|
||||||
// ------------------------------------------------------------------
|
// ------------------------------------------------------------------
|
||||||
|
|
||||||
@ -470,7 +470,7 @@ DLL_HEADER void Ng_RestrictMeshSizeBox (Ng_Mesh * mesh, double * pmin, double *
|
|||||||
details regarding the return value can be
|
details regarding the return value can be
|
||||||
found in the description of #Ng_Result
|
found in the description of #Ng_Result
|
||||||
*/
|
*/
|
||||||
DLL_HEADER Ng_Result Ng_GenerateVolumeMesh (Ng_Mesh * mesh, Ng_Meshing_Parameters * mp);
|
NGLIB_API Ng_Result Ng_GenerateVolumeMesh (Ng_Mesh * mesh, Ng_Meshing_Parameters * mp);
|
||||||
|
|
||||||
// ------------------------------------------------------------------
|
// ------------------------------------------------------------------
|
||||||
|
|
||||||
@ -489,7 +489,7 @@ DLL_HEADER Ng_Result Ng_GenerateVolumeMesh (Ng_Mesh * mesh, Ng_Meshing_Parameter
|
|||||||
\return
|
\return
|
||||||
Integer Data-type with the number of points in the Mesh
|
Integer Data-type with the number of points in the Mesh
|
||||||
*/
|
*/
|
||||||
DLL_HEADER int Ng_GetNP (Ng_Mesh * mesh);
|
NGLIB_API int Ng_GetNP (Ng_Mesh * mesh);
|
||||||
|
|
||||||
|
|
||||||
/*! \brief Returns the Number of Surface Elements present in the specified Mesh
|
/*! \brief Returns the Number of Surface Elements present in the specified Mesh
|
||||||
@ -503,7 +503,7 @@ DLL_HEADER int Ng_GetNP (Ng_Mesh * mesh);
|
|||||||
\return
|
\return
|
||||||
Integer Data-type with the number of surface elements in the Mesh
|
Integer Data-type with the number of surface elements in the Mesh
|
||||||
*/
|
*/
|
||||||
DLL_HEADER int Ng_GetNSE (Ng_Mesh * mesh);
|
NGLIB_API int Ng_GetNSE (Ng_Mesh * mesh);
|
||||||
|
|
||||||
|
|
||||||
/*! \brief Returns the Number of Volume Elements present in the specified Mesh
|
/*! \brief Returns the Number of Volume Elements present in the specified Mesh
|
||||||
@ -517,7 +517,7 @@ DLL_HEADER int Ng_GetNSE (Ng_Mesh * mesh);
|
|||||||
\return
|
\return
|
||||||
Integer Data-type with the number of volume elements in the Mesh
|
Integer Data-type with the number of volume elements in the Mesh
|
||||||
*/
|
*/
|
||||||
DLL_HEADER int Ng_GetNE (Ng_Mesh * mesh);
|
NGLIB_API int Ng_GetNE (Ng_Mesh * mesh);
|
||||||
|
|
||||||
// ------------------------------------------------------------------
|
// ------------------------------------------------------------------
|
||||||
|
|
||||||
@ -531,15 +531,15 @@ DLL_HEADER int Ng_GetNE (Ng_Mesh * mesh);
|
|||||||
// Return the Point Coordinates of a specified Point
|
// Return the Point Coordinates of a specified Point
|
||||||
// The x, y and z co-ordinates are returned in the array pointer as
|
// The x, y and z co-ordinates are returned in the array pointer as
|
||||||
// x[0] = x ; x[1] = y ; x[2] = z
|
// x[0] = x ; x[1] = y ; x[2] = z
|
||||||
DLL_HEADER void Ng_GetPoint (Ng_Mesh * mesh, int num, double * x);
|
NGLIB_API void Ng_GetPoint (Ng_Mesh * mesh, int num, double * x);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// return surface and volume element in pi
|
// return surface and volume element in pi
|
||||||
DLL_HEADER Ng_Surface_Element_Type
|
NGLIB_API Ng_Surface_Element_Type
|
||||||
Ng_GetSurfaceElement (Ng_Mesh * mesh, int num, int * pi);
|
Ng_GetSurfaceElement (Ng_Mesh * mesh, int num, int * pi);
|
||||||
|
|
||||||
DLL_HEADER Ng_Volume_Element_Type
|
NGLIB_API Ng_Volume_Element_Type
|
||||||
Ng_GetVolumeElement (Ng_Mesh * mesh, int num, int * pi);
|
Ng_GetVolumeElement (Ng_Mesh * mesh, int num, int * pi);
|
||||||
|
|
||||||
// ------------------------------------------------------------------
|
// ------------------------------------------------------------------
|
||||||
@ -554,34 +554,34 @@ Ng_GetVolumeElement (Ng_Mesh * mesh, int num, int * pi);
|
|||||||
|
|
||||||
// feeds points and boundary to mesh
|
// feeds points and boundary to mesh
|
||||||
|
|
||||||
DLL_HEADER void Ng_AddPoint_2D (Ng_Mesh * mesh, double * x);
|
NGLIB_API void Ng_AddPoint_2D (Ng_Mesh * mesh, double * x);
|
||||||
DLL_HEADER void Ng_AddBoundarySeg_2D (Ng_Mesh * mesh, int pi1, int pi2);
|
NGLIB_API void Ng_AddBoundarySeg_2D (Ng_Mesh * mesh, int pi1, int pi2);
|
||||||
|
|
||||||
// ask for number of points, elements and boundary segments
|
// ask for number of points, elements and boundary segments
|
||||||
DLL_HEADER int Ng_GetNP_2D (Ng_Mesh * mesh);
|
NGLIB_API int Ng_GetNP_2D (Ng_Mesh * mesh);
|
||||||
DLL_HEADER int Ng_GetNE_2D (Ng_Mesh * mesh);
|
NGLIB_API int Ng_GetNE_2D (Ng_Mesh * mesh);
|
||||||
DLL_HEADER int Ng_GetNSeg_2D (Ng_Mesh * mesh);
|
NGLIB_API int Ng_GetNSeg_2D (Ng_Mesh * mesh);
|
||||||
|
|
||||||
// return point coordinates
|
// return point coordinates
|
||||||
DLL_HEADER void Ng_GetPoint_2D (Ng_Mesh * mesh, int num, double * x);
|
NGLIB_API void Ng_GetPoint_2D (Ng_Mesh * mesh, int num, double * x);
|
||||||
|
|
||||||
// return 2d elements
|
// return 2d elements
|
||||||
DLL_HEADER Ng_Surface_Element_Type
|
NGLIB_API Ng_Surface_Element_Type
|
||||||
Ng_GetElement_2D (Ng_Mesh * mesh, int num, int * pi, int * matnum = NULL);
|
Ng_GetElement_2D (Ng_Mesh * mesh, int num, int * pi, int * matnum = NULL);
|
||||||
|
|
||||||
// return 2d boundary segment
|
// return 2d boundary segment
|
||||||
DLL_HEADER void Ng_GetSegment_2D (Ng_Mesh * mesh, int num, int * pi, int * matnum = NULL);
|
NGLIB_API void Ng_GetSegment_2D (Ng_Mesh * mesh, int num, int * pi, int * matnum = NULL);
|
||||||
|
|
||||||
|
|
||||||
// load 2d netgen spline geometry
|
// load 2d netgen spline geometry
|
||||||
DLL_HEADER Ng_Geometry_2D * Ng_LoadGeometry_2D (const char * filename);
|
NGLIB_API Ng_Geometry_2D * Ng_LoadGeometry_2D (const char * filename);
|
||||||
|
|
||||||
// generate 2d mesh, mesh is allocated by function
|
// generate 2d mesh, mesh is allocated by function
|
||||||
DLL_HEADER Ng_Result Ng_GenerateMesh_2D (Ng_Geometry_2D * geom,
|
NGLIB_API Ng_Result Ng_GenerateMesh_2D (Ng_Geometry_2D * geom,
|
||||||
Ng_Mesh ** mesh,
|
Ng_Mesh ** mesh,
|
||||||
Ng_Meshing_Parameters * mp);
|
Ng_Meshing_Parameters * mp);
|
||||||
|
|
||||||
DLL_HEADER void Ng_HP_Refinement (Ng_Geometry_2D * geom,
|
NGLIB_API void Ng_HP_Refinement (Ng_Geometry_2D * geom,
|
||||||
Ng_Mesh * mesh,
|
Ng_Mesh * mesh,
|
||||||
int levels);
|
int levels);
|
||||||
|
|
||||||
@ -595,35 +595,35 @@ DLL_HEADER void Ng_HP_Refinement (Ng_Geometry_2D * geom,
|
|||||||
|
|
||||||
|
|
||||||
// loads geometry from STL file
|
// loads geometry from STL file
|
||||||
DLL_HEADER Ng_STL_Geometry * Ng_STL_LoadGeometry (const char * filename, int binary = 0);
|
NGLIB_API Ng_STL_Geometry * Ng_STL_LoadGeometry (const char * filename, int binary = 0);
|
||||||
|
|
||||||
|
|
||||||
// generate new STL Geometry
|
// generate new STL Geometry
|
||||||
DLL_HEADER Ng_STL_Geometry * Ng_STL_NewGeometry ();
|
NGLIB_API Ng_STL_Geometry * Ng_STL_NewGeometry ();
|
||||||
|
|
||||||
|
|
||||||
// fills STL Geometry
|
// fills STL Geometry
|
||||||
// positive orientation
|
// positive orientation
|
||||||
// normal vector may be null-pointer
|
// normal vector may be null-pointer
|
||||||
DLL_HEADER void Ng_STL_AddTriangle (Ng_STL_Geometry * geom,
|
NGLIB_API void Ng_STL_AddTriangle (Ng_STL_Geometry * geom,
|
||||||
double * p1, double * p2, double * p3,
|
double * p1, double * p2, double * p3,
|
||||||
double * nv = NULL);
|
double * nv = NULL);
|
||||||
|
|
||||||
// add (optional) edges :
|
// add (optional) edges :
|
||||||
DLL_HEADER void Ng_STL_AddEdge (Ng_STL_Geometry * geom,
|
NGLIB_API void Ng_STL_AddEdge (Ng_STL_Geometry * geom,
|
||||||
double * p1, double * p2);
|
double * p1, double * p2);
|
||||||
|
|
||||||
// after adding triangles (and edges) initialize
|
// after adding triangles (and edges) initialize
|
||||||
DLL_HEADER Ng_Result Ng_STL_InitSTLGeometry (Ng_STL_Geometry * geom);
|
NGLIB_API Ng_Result Ng_STL_InitSTLGeometry (Ng_STL_Geometry * geom);
|
||||||
|
|
||||||
// automatically generates edges:
|
// automatically generates edges:
|
||||||
DLL_HEADER Ng_Result Ng_STL_MakeEdges (Ng_STL_Geometry * geom,
|
NGLIB_API Ng_Result Ng_STL_MakeEdges (Ng_STL_Geometry * geom,
|
||||||
Ng_Mesh* mesh,
|
Ng_Mesh* mesh,
|
||||||
Ng_Meshing_Parameters * mp);
|
Ng_Meshing_Parameters * mp);
|
||||||
|
|
||||||
|
|
||||||
// generates mesh, empty mesh must be already created.
|
// generates mesh, empty mesh must be already created.
|
||||||
DLL_HEADER Ng_Result Ng_STL_GenerateSurfaceMesh (Ng_STL_Geometry * geom,
|
NGLIB_API Ng_Result Ng_STL_GenerateSurfaceMesh (Ng_STL_Geometry * geom,
|
||||||
Ng_Mesh * mesh,
|
Ng_Mesh * mesh,
|
||||||
Ng_Meshing_Parameters * mp);
|
Ng_Meshing_Parameters * mp);
|
||||||
|
|
||||||
@ -638,10 +638,10 @@ DLL_HEADER Ng_Result Ng_STL_GenerateSurfaceMesh (Ng_STL_Geometry * geom,
|
|||||||
typedef void * Ng_ACIS_Geometry;
|
typedef void * Ng_ACIS_Geometry;
|
||||||
|
|
||||||
// loads geometry from STL file
|
// loads geometry from STL file
|
||||||
DLL_HEADER Ng_ACIS_Geometry * Ng_ACIS_LoadGeometry (const char * filename);
|
NGLIB_API Ng_ACIS_Geometry * Ng_ACIS_LoadGeometry (const char * filename);
|
||||||
|
|
||||||
// generates mesh, empty mesh must be already created.
|
// generates mesh, empty mesh must be already created.
|
||||||
DLL_HEADER Ng_Result Ng_ACIS_GenerateSurfaceMesh (Ng_ACIS_Geometry * geom,
|
NGLIB_API Ng_Result Ng_ACIS_GenerateSurfaceMesh (Ng_ACIS_Geometry * geom,
|
||||||
Ng_Mesh * mesh,
|
Ng_Mesh * mesh,
|
||||||
Ng_Meshing_Parameters * mp);
|
Ng_Meshing_Parameters * mp);
|
||||||
|
|
||||||
@ -657,37 +657,37 @@ DLL_HEADER Ng_Result Ng_ACIS_GenerateSurfaceMesh (Ng_ACIS_Geometry * geom,
|
|||||||
// **********************************************************
|
// **********************************************************
|
||||||
|
|
||||||
// Create new OCC Geometry Object
|
// Create new OCC Geometry Object
|
||||||
DLL_HEADER Ng_OCC_Geometry * Ng_OCC_NewGeometry ();
|
NGLIB_API Ng_OCC_Geometry * Ng_OCC_NewGeometry ();
|
||||||
|
|
||||||
// Delete an OCC Geometry Object
|
// Delete an OCC Geometry Object
|
||||||
DLL_HEADER Ng_Result Ng_OCC_DeleteGeometry (Ng_OCC_Geometry * geom);
|
NGLIB_API Ng_Result Ng_OCC_DeleteGeometry (Ng_OCC_Geometry * geom);
|
||||||
|
|
||||||
// Loads geometry from STEP file
|
// Loads geometry from STEP file
|
||||||
DLL_HEADER Ng_OCC_Geometry * Ng_OCC_Load_STEP (const char * filename);
|
NGLIB_API Ng_OCC_Geometry * Ng_OCC_Load_STEP (const char * filename);
|
||||||
|
|
||||||
// Loads geometry from IGES file
|
// Loads geometry from IGES file
|
||||||
DLL_HEADER Ng_OCC_Geometry * Ng_OCC_Load_IGES (const char * filename);
|
NGLIB_API Ng_OCC_Geometry * Ng_OCC_Load_IGES (const char * filename);
|
||||||
|
|
||||||
// Loads geometry from BREP file
|
// Loads geometry from BREP file
|
||||||
DLL_HEADER Ng_OCC_Geometry * Ng_OCC_Load_BREP (const char * filename);
|
NGLIB_API Ng_OCC_Geometry * Ng_OCC_Load_BREP (const char * filename);
|
||||||
|
|
||||||
// Set the local mesh size based on geometry / topology
|
// Set the local mesh size based on geometry / topology
|
||||||
DLL_HEADER Ng_Result Ng_OCC_SetLocalMeshSize (Ng_OCC_Geometry * geom,
|
NGLIB_API Ng_Result Ng_OCC_SetLocalMeshSize (Ng_OCC_Geometry * geom,
|
||||||
Ng_Mesh * mesh,
|
Ng_Mesh * mesh,
|
||||||
Ng_Meshing_Parameters * mp);
|
Ng_Meshing_Parameters * mp);
|
||||||
|
|
||||||
// Mesh the edges and add Face descriptors to prepare for surface meshing
|
// Mesh the edges and add Face descriptors to prepare for surface meshing
|
||||||
DLL_HEADER Ng_Result Ng_OCC_GenerateEdgeMesh (Ng_OCC_Geometry * geom,
|
NGLIB_API Ng_Result Ng_OCC_GenerateEdgeMesh (Ng_OCC_Geometry * geom,
|
||||||
Ng_Mesh * mesh,
|
Ng_Mesh * mesh,
|
||||||
Ng_Meshing_Parameters * mp);
|
Ng_Meshing_Parameters * mp);
|
||||||
|
|
||||||
// Mesh the surfaces of an OCC geometry
|
// Mesh the surfaces of an OCC geometry
|
||||||
DLL_HEADER Ng_Result Ng_OCC_GenerateSurfaceMesh (Ng_OCC_Geometry * geom,
|
NGLIB_API Ng_Result Ng_OCC_GenerateSurfaceMesh (Ng_OCC_Geometry * geom,
|
||||||
Ng_Mesh * mesh,
|
Ng_Mesh * mesh,
|
||||||
Ng_Meshing_Parameters * mp);
|
Ng_Meshing_Parameters * mp);
|
||||||
|
|
||||||
// Get the face map of an already loaded OCC geometry
|
// Get the face map of an already loaded OCC geometry
|
||||||
DLL_HEADER Ng_Result Ng_OCC_GetFMap(Ng_OCC_Geometry * geom,
|
NGLIB_API Ng_Result Ng_OCC_GetFMap(Ng_OCC_Geometry * geom,
|
||||||
Ng_OCC_TopTools_IndexedMapOfShape * FMap);
|
Ng_OCC_TopTools_IndexedMapOfShape * FMap);
|
||||||
|
|
||||||
#endif // OCCGEOMETRY
|
#endif // OCCGEOMETRY
|
||||||
@ -699,22 +699,22 @@ DLL_HEADER Ng_Result Ng_OCC_GetFMap(Ng_OCC_Geometry * geom,
|
|||||||
// **********************************************************
|
// **********************************************************
|
||||||
|
|
||||||
// uniform mesh refinement
|
// uniform mesh refinement
|
||||||
DLL_HEADER void Ng_Uniform_Refinement (Ng_Mesh * mesh);
|
NGLIB_API void Ng_Uniform_Refinement (Ng_Mesh * mesh);
|
||||||
|
|
||||||
|
|
||||||
// uniform mesh refinement with geometry adaption:
|
// uniform mesh refinement with geometry adaption:
|
||||||
|
|
||||||
DLL_HEADER void Ng_2D_Uniform_Refinement (Ng_Geometry_2D * geom,
|
NGLIB_API void Ng_2D_Uniform_Refinement (Ng_Geometry_2D * geom,
|
||||||
Ng_Mesh * mesh);
|
Ng_Mesh * mesh);
|
||||||
|
|
||||||
DLL_HEADER void Ng_STL_Uniform_Refinement (Ng_STL_Geometry * geom,
|
NGLIB_API void Ng_STL_Uniform_Refinement (Ng_STL_Geometry * geom,
|
||||||
Ng_Mesh * mesh);
|
Ng_Mesh * mesh);
|
||||||
|
|
||||||
DLL_HEADER void Ng_CSG_Uniform_Refinement (Ng_CSG_Geometry * geom,
|
NGLIB_API void Ng_CSG_Uniform_Refinement (Ng_CSG_Geometry * geom,
|
||||||
Ng_Mesh * mesh);
|
Ng_Mesh * mesh);
|
||||||
|
|
||||||
#ifdef OCCGEOMETRY
|
#ifdef OCCGEOMETRY
|
||||||
DLL_HEADER void Ng_OCC_Uniform_Refinement (Ng_OCC_Geometry * geom,
|
NGLIB_API void Ng_OCC_Uniform_Refinement (Ng_OCC_Geometry * geom,
|
||||||
Ng_Mesh * mesh);
|
Ng_Mesh * mesh);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -725,22 +725,22 @@ DLL_HEADER void Ng_OCC_Uniform_Refinement (Ng_OCC_Geometry * geom,
|
|||||||
// **********************************************************
|
// **********************************************************
|
||||||
|
|
||||||
// convert mesh to second order
|
// convert mesh to second order
|
||||||
DLL_HEADER void Ng_Generate_SecondOrder (Ng_Mesh * mesh);
|
NGLIB_API void Ng_Generate_SecondOrder (Ng_Mesh * mesh);
|
||||||
|
|
||||||
|
|
||||||
// convert mesh to second order with geometry adaption:
|
// convert mesh to second order with geometry adaption:
|
||||||
|
|
||||||
DLL_HEADER void Ng_2D_Generate_SecondOrder (Ng_Geometry_2D * geom,
|
NGLIB_API void Ng_2D_Generate_SecondOrder (Ng_Geometry_2D * geom,
|
||||||
Ng_Mesh * mesh);
|
Ng_Mesh * mesh);
|
||||||
|
|
||||||
DLL_HEADER void Ng_STL_Generate_SecondOrder (Ng_STL_Geometry * geom,
|
NGLIB_API void Ng_STL_Generate_SecondOrder (Ng_STL_Geometry * geom,
|
||||||
Ng_Mesh * mesh);
|
Ng_Mesh * mesh);
|
||||||
|
|
||||||
DLL_HEADER void Ng_CSG_Generate_SecondOrder (Ng_CSG_Geometry * geom,
|
NGLIB_API void Ng_CSG_Generate_SecondOrder (Ng_CSG_Geometry * geom,
|
||||||
Ng_Mesh * mesh);
|
Ng_Mesh * mesh);
|
||||||
|
|
||||||
#ifdef OCCGEOMETRY
|
#ifdef OCCGEOMETRY
|
||||||
DLL_HEADER void Ng_OCC_Generate_SecondOrder (Ng_OCC_Geometry * geom,
|
NGLIB_API void Ng_OCC_Generate_SecondOrder (Ng_OCC_Geometry * geom,
|
||||||
Ng_Mesh * mesh);
|
Ng_Mesh * mesh);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@ void Parallel_Exit();
|
|||||||
namespace netgen {
|
namespace netgen {
|
||||||
extern AutoPtr<Mesh> mesh;
|
extern AutoPtr<Mesh> mesh;
|
||||||
// extern VisualSceneMesh vsmesh;
|
// extern VisualSceneMesh vsmesh;
|
||||||
extern DLL_HEADER MeshingParameters mparam;
|
extern NGLIB_API MeshingParameters mparam;
|
||||||
}
|
}
|
||||||
|
|
||||||
using namespace netgen;
|
using namespace netgen;
|
||||||
|
Loading…
Reference in New Issue
Block a user