mirror of
https://github.com/NGSolve/netgen.git
synced 2024-11-11 16:49:16 +05:00
Clean up multiple definitions of DLL_HEADER
- define DLL_HEADER only once in mydefs.hpp - define/use NGLIB_API in nglib.h - use NGCORE_API_EXPORT for explicit export of symbols
This commit is contained in:
parent
979a695f62
commit
b2fea6dec1
@ -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 )
|
||||
if(APPLE)
|
||||
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>>
|
||||
(m, "Spline", "Spline of a SplineGeometry object")
|
||||
|
@ -11,22 +11,15 @@
|
||||
defines for graphics, testmodes, ...
|
||||
*/
|
||||
|
||||
#include <core/ngcore.hpp>
|
||||
#define PACKAGE_VERSION "6.2-dev"
|
||||
|
||||
// #define DEBUG
|
||||
|
||||
#ifdef WIN32
|
||||
#if NGINTERFACE_EXPORTS || NGLIB_EXPORTS || nglib_EXPORTS
|
||||
#define DLL_HEADER __declspec(dllexport)
|
||||
#if defined(NGINTERFACE_EXPORTS) || ( defined(WIN32) && (defined(NGLIB_EXPORTS) || defined(nglib_EXPORTS)) )
|
||||
#define DLL_HEADER NGCORE_API_EXPORT
|
||||
#else
|
||||
#define DLL_HEADER __declspec(dllimport)
|
||||
#endif
|
||||
#else
|
||||
#if __GNUC__ >= 4
|
||||
#define DLL_HEADER __attribute__ ((visibility ("default")))
|
||||
#else
|
||||
#define DLL_HEADER
|
||||
#endif
|
||||
#define DLL_HEADER NGCORE_API_IMPORT
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -11,22 +11,13 @@
|
||||
/* Date: 20. Nov. 99 */
|
||||
/**************************************************************************/
|
||||
|
||||
#include <core/ngcore.hpp>
|
||||
#include "mydefs.hpp"
|
||||
|
||||
/*
|
||||
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
|
||||
#define NG_ELEMENT_MAXPOINTS 20
|
||||
|
||||
|
@ -8,7 +8,7 @@
|
||||
/* Date: May 09 */
|
||||
/**************************************************************************/
|
||||
|
||||
#include <core/ngcore.hpp>
|
||||
#include "mydefs.hpp"
|
||||
|
||||
/*
|
||||
C++ interface to Netgen
|
||||
|
@ -1,3 +1,4 @@
|
||||
add_definitions(-DNGINTERFACE_EXPORTS)
|
||||
add_library(stl ${NG_LIB_TYPE}
|
||||
meshstlsurface.cpp stlgeom.cpp stlgeomchart.cpp
|
||||
stlgeommesh.cpp stlline.cpp stltool.cpp stltopology.cpp python_stl.cpp
|
||||
|
@ -6,10 +6,6 @@
|
||||
#include <stlgeom.hpp>
|
||||
#include "../meshing/python_mesh.hpp"
|
||||
|
||||
#ifdef WIN32
|
||||
#define DLL_HEADER __declspec(dllexport)
|
||||
#endif
|
||||
|
||||
using 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")
|
||||
.def(py::init<>())
|
||||
|
@ -1216,13 +1216,10 @@ void VisualSceneSTLMeshing :: MouseDblClick (int px, int py)
|
||||
#ifdef NG_PYTHON
|
||||
|
||||
|
||||
#ifdef WIN32
|
||||
#define DLL_HEADER __declspec(dllexport)
|
||||
#endif
|
||||
|
||||
#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;
|
||||
|
||||
|
@ -10,30 +10,30 @@
|
||||
namespace netgen
|
||||
{
|
||||
|
||||
class VisualSceneSTLGeometry : public VisualScene
|
||||
class DLL_HEADER VisualSceneSTLGeometry : public VisualScene
|
||||
{
|
||||
NgArray<int> trilists;
|
||||
class STLGeometry * stlgeometry;
|
||||
|
||||
public:
|
||||
DLL_HEADER VisualSceneSTLGeometry ();
|
||||
DLL_HEADER virtual ~VisualSceneSTLGeometry ();
|
||||
VisualSceneSTLGeometry ();
|
||||
virtual ~VisualSceneSTLGeometry ();
|
||||
void SetGeometry (class STLGeometry * astlgeometry) { stlgeometry = astlgeometry; }
|
||||
|
||||
DLL_HEADER virtual void BuildScene (int zoomall = 0);
|
||||
DLL_HEADER virtual void DrawScene ();
|
||||
virtual void BuildScene (int zoomall = 0);
|
||||
virtual void DrawScene ();
|
||||
};
|
||||
|
||||
|
||||
class VisualSceneSTLMeshing : public VisualScene
|
||||
class DLL_HEADER VisualSceneSTLMeshing : public VisualScene
|
||||
{
|
||||
NgArray<int> trilists;
|
||||
int selecttrig, nodeofseltrig;
|
||||
class STLGeometry * stlgeometry;
|
||||
|
||||
public:
|
||||
DLL_HEADER VisualSceneSTLMeshing ();
|
||||
DLL_HEADER virtual ~VisualSceneSTLMeshing ();
|
||||
VisualSceneSTLMeshing ();
|
||||
virtual ~VisualSceneSTLMeshing ();
|
||||
|
||||
void SetGeometry (class STLGeometry * astlgeometry) { stlgeometry = astlgeometry; }
|
||||
|
||||
|
16
ng/gui.cpp
16
ng/gui.cpp
@ -1,29 +1,21 @@
|
||||
#include <mystdlib.h>
|
||||
#include <inctcl.hpp>
|
||||
#include <meshing.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
|
||||
|
||||
#include <core/ngcore_api.hpp>
|
||||
|
||||
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_Vis_Init (Tcl_Interp * interp);
|
||||
extern "C" void Ng_TclCmd(string);
|
||||
|
||||
// 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) {
|
||||
cerr << "Problem in Ng_Init: " << endl;
|
||||
|
@ -2,27 +2,21 @@
|
||||
|
||||
#include <iostream>
|
||||
#include <../general/ngpython.hpp>
|
||||
#include <core/ngcore_api.hpp>
|
||||
|
||||
#ifdef WIN32
|
||||
#define DLL_HEADER __declspec(dllimport)
|
||||
#else
|
||||
#define DLL_HEADER
|
||||
#endif
|
||||
|
||||
|
||||
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);
|
||||
void NGCORE_API_IMPORT ExportNetgenMeshing(py::module &m);
|
||||
void NGCORE_API_IMPORT ExportMeshVis(py::module &m);
|
||||
void NGCORE_API_IMPORT ExportCSG(py::module &m);
|
||||
void NGCORE_API_IMPORT ExportCSGVis(py::module &m);
|
||||
void NGCORE_API_IMPORT ExportGeom2d(py::module &m);
|
||||
void NGCORE_API_IMPORT ExportSTL(py::module &m);
|
||||
void NGCORE_API_IMPORT ExportSTLVis(py::module &m);
|
||||
#ifdef OCCGEOMETRY
|
||||
void DLL_HEADER ExportNgOCC(py::module &m);
|
||||
void NGCORE_API_IMPORT ExportNgOCC(py::module &m);
|
||||
#endif // OCCGEOMETRY
|
||||
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)
|
||||
|
130
nglib/nglib.cpp
130
nglib/nglib.cpp
@ -78,7 +78,7 @@ namespace nglib
|
||||
|
||||
|
||||
// initialize, deconstruct Netgen library:
|
||||
DLL_HEADER void Ng_Init ()
|
||||
NGLIB_API void Ng_Init ()
|
||||
{
|
||||
mycout = &cout;
|
||||
myerr = &cerr;
|
||||
@ -90,7 +90,7 @@ namespace 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
|
||||
DLL_HEADER Ng_Mesh * Ng_NewMesh ()
|
||||
NGLIB_API Ng_Mesh * Ng_NewMesh ()
|
||||
{
|
||||
Mesh * mesh = new Mesh;
|
||||
mesh->AddFaceDescriptor (FaceDescriptor (1, 1, 0, 1));
|
||||
@ -110,7 +110,7 @@ namespace nglib
|
||||
|
||||
|
||||
// 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)
|
||||
{
|
||||
@ -129,7 +129,7 @@ namespace nglib
|
||||
|
||||
|
||||
// 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);
|
||||
}
|
||||
@ -138,7 +138,7 @@ namespace nglib
|
||||
|
||||
|
||||
// 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->Load(filename);
|
||||
@ -149,7 +149,7 @@ namespace nglib
|
||||
|
||||
|
||||
// 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;
|
||||
|
||||
@ -190,7 +190,7 @@ namespace nglib
|
||||
|
||||
|
||||
// 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;
|
||||
}
|
||||
@ -199,7 +199,7 @@ namespace nglib
|
||||
|
||||
|
||||
// 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;
|
||||
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
|
||||
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)
|
||||
{
|
||||
Mesh * m = (Mesh*)mesh;
|
||||
@ -225,7 +225,7 @@ namespace nglib
|
||||
|
||||
|
||||
// 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)
|
||||
{
|
||||
Mesh * m = (Mesh*)mesh;
|
||||
@ -242,7 +242,7 @@ namespace nglib
|
||||
|
||||
|
||||
// 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();
|
||||
}
|
||||
@ -251,7 +251,7 @@ namespace nglib
|
||||
|
||||
|
||||
// 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();
|
||||
}
|
||||
@ -260,7 +260,7 @@ namespace nglib
|
||||
|
||||
|
||||
// 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();
|
||||
}
|
||||
@ -269,7 +269,7 @@ namespace nglib
|
||||
|
||||
|
||||
// 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);
|
||||
x[0] = p.X();
|
||||
@ -281,7 +281,7 @@ namespace nglib
|
||||
|
||||
|
||||
// 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)
|
||||
{
|
||||
const Element2d & el = ((Mesh*)mesh)->SurfaceElement(num);
|
||||
@ -312,7 +312,7 @@ namespace nglib
|
||||
|
||||
|
||||
// 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)
|
||||
{
|
||||
const Element & el = ((Mesh*)mesh)->VolumeElement(num);
|
||||
@ -335,7 +335,7 @@ namespace nglib
|
||||
|
||||
|
||||
// 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);
|
||||
}
|
||||
@ -344,7 +344,7 @@ namespace nglib
|
||||
|
||||
|
||||
// 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);
|
||||
}
|
||||
@ -353,7 +353,7 @@ namespace nglib
|
||||
|
||||
|
||||
// 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 y = pmin[1]; y < pmax[1]; y += h)
|
||||
@ -365,7 +365,7 @@ namespace nglib
|
||||
|
||||
|
||||
// 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;
|
||||
|
||||
@ -388,7 +388,7 @@ namespace nglib
|
||||
|
||||
|
||||
/* ------------------ 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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
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;
|
||||
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;
|
||||
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;
|
||||
|
||||
@ -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)
|
||||
{
|
||||
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);
|
||||
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();
|
||||
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_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,
|
||||
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,
|
||||
int levels, double parameter)
|
||||
{
|
||||
@ -553,7 +553,7 @@ namespace nglib
|
||||
NgArray<Point<3> > readedges; //only before init stlgeometry
|
||||
|
||||
// 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;
|
||||
STLGeometry geom;
|
||||
@ -603,7 +603,7 @@ namespace nglib
|
||||
|
||||
|
||||
// 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;
|
||||
}
|
||||
@ -612,7 +612,7 @@ namespace nglib
|
||||
|
||||
|
||||
// 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;
|
||||
geo->InitSTLGeometry(readtrias);
|
||||
@ -637,7 +637,7 @@ namespace nglib
|
||||
|
||||
|
||||
// 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_Meshing_Parameters * mp)
|
||||
{
|
||||
@ -683,7 +683,7 @@ namespace nglib
|
||||
|
||||
|
||||
// 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_Meshing_Parameters * mp)
|
||||
{
|
||||
@ -745,7 +745,7 @@ namespace nglib
|
||||
// fills STL Geometry
|
||||
// positive orientation
|
||||
// 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 * nv)
|
||||
{
|
||||
@ -764,7 +764,7 @@ namespace nglib
|
||||
}
|
||||
|
||||
// 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)
|
||||
{
|
||||
readedges.Append(Point3d(p1[0],p1[1],p1[2]));
|
||||
@ -777,7 +777,7 @@ namespace nglib
|
||||
#ifdef OCCGEOMETRY
|
||||
// --------------------- OCC Geometry / Meshing Utility Functions -------------------
|
||||
// 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;
|
||||
}
|
||||
@ -786,7 +786,7 @@ namespace nglib
|
||||
|
||||
|
||||
// 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)
|
||||
{
|
||||
@ -802,7 +802,7 @@ namespace nglib
|
||||
|
||||
|
||||
// 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
|
||||
// is created and instantiated within the load function
|
||||
@ -815,7 +815,7 @@ namespace nglib
|
||||
|
||||
|
||||
// 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
|
||||
// is created and instantiated within the load function
|
||||
@ -828,7 +828,7 @@ namespace nglib
|
||||
|
||||
|
||||
// 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
|
||||
// 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
|
||||
// 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_Meshing_Parameters * mp)
|
||||
{
|
||||
@ -870,7 +870,7 @@ namespace nglib
|
||||
|
||||
|
||||
// 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_Meshing_Parameters * mp)
|
||||
{
|
||||
@ -896,7 +896,7 @@ namespace nglib
|
||||
|
||||
|
||||
// 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_Meshing_Parameters * mp)
|
||||
{
|
||||
@ -946,7 +946,7 @@ namespace nglib
|
||||
// Extract the face map from the OCC geometry
|
||||
// The face map basically gives an index to each face in the geometry,
|
||||
// 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)
|
||||
{
|
||||
OCCGeometry* occgeom = (OCCGeometry*)geom;
|
||||
@ -973,7 +973,7 @@ namespace nglib
|
||||
|
||||
// ------------------ Begin - Meshing Parameters related functions ------------------
|
||||
// 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;
|
||||
|
||||
@ -1014,7 +1014,7 @@ namespace nglib
|
||||
|
||||
|
||||
// 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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -1088,7 +1088,7 @@ namespace nglib
|
||||
|
||||
|
||||
// ------------------ 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());
|
||||
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)
|
||||
{
|
||||
( (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)
|
||||
{
|
||||
((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)
|
||||
{
|
||||
((CSGeometry*)geom)->GetRefinement().MakeSecondOrder(*(Mesh*) mesh);
|
||||
@ -1125,7 +1125,7 @@ namespace nglib
|
||||
|
||||
|
||||
#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)
|
||||
{
|
||||
((OCCGeometry*)geom )->GetRefinement().MakeSecondOrder(*(Mesh*) mesh);
|
||||
@ -1137,7 +1137,7 @@ namespace nglib
|
||||
|
||||
|
||||
// ------------------ 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());
|
||||
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)
|
||||
{
|
||||
( (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)
|
||||
{
|
||||
( (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)
|
||||
{
|
||||
( (CSGeometry*)geom ) -> GetRefinement().Refine ( * (Mesh*) mesh );
|
||||
@ -1174,7 +1174,7 @@ namespace nglib
|
||||
|
||||
|
||||
#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)
|
||||
{
|
||||
( (OCCGeometry*)geom ) -> GetRefinement().Refine ( * (Mesh*) mesh );
|
||||
@ -1191,7 +1191,7 @@ namespace netgen
|
||||
{
|
||||
char geomfilename[255];
|
||||
|
||||
DLL_HEADER void MyError2 (const char * ch)
|
||||
NGLIB_API void MyError2 (const char * ch)
|
||||
{
|
||||
cerr << ch;
|
||||
}
|
||||
@ -1200,7 +1200,7 @@ namespace netgen
|
||||
|
||||
|
||||
//Destination for messages, errors, ...
|
||||
DLL_HEADER void Ng_PrintDest2(const char * s)
|
||||
NGLIB_API void Ng_PrintDest2(const char * s)
|
||||
{
|
||||
#ifdef PARALLEL
|
||||
int id = 0;
|
||||
@ -1212,7 +1212,7 @@ namespace netgen
|
||||
|
||||
|
||||
/*
|
||||
DLL_HEADER double GetTime ()
|
||||
NGLIB_API double GetTime ()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
134
nglib/nglib.h
134
nglib/nglib.h
@ -23,15 +23,15 @@
|
||||
|
||||
// Philippose - 14.02.2009
|
||||
// Modifications for creating a DLL in Windows
|
||||
#ifndef DLL_HEADER
|
||||
#ifndef NGLIB_API
|
||||
#ifdef WIN32
|
||||
#ifdef NGLIB_EXPORTS || nglib_EXPORTS
|
||||
#define DLL_HEADER __declspec(dllexport)
|
||||
#define NGLIB_API __declspec(dllexport)
|
||||
#else
|
||||
#define DLL_HEADER __declspec(dllimport)
|
||||
#define NGLIB_API __declspec(dllimport)
|
||||
#endif
|
||||
#else
|
||||
#define DLL_HEADER __attribute__((visibility("default")))
|
||||
#define NGLIB_API __attribute__((visibility("default")))
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@ -156,7 +156,7 @@ public:
|
||||
- #check_overlap: 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
|
||||
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
|
||||
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
|
||||
specific functions.
|
||||
*/
|
||||
DLL_HEADER void Ng_Init ();
|
||||
NGLIB_API void Ng_Init ();
|
||||
|
||||
|
||||
/*! \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
|
||||
a clean and orderly manner.
|
||||
*/
|
||||
DLL_HEADER void Ng_Exit ();
|
||||
NGLIB_API void Ng_Exit ();
|
||||
|
||||
|
||||
/*! \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
|
||||
*/
|
||||
DLL_HEADER Ng_Mesh * Ng_NewMesh ();
|
||||
NGLIB_API Ng_Mesh * Ng_NewMesh ();
|
||||
|
||||
|
||||
/*! \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
|
||||
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
|
||||
@ -243,7 +243,7 @@ DLL_HEADER void Ng_DeleteMesh (Ng_Mesh * mesh);
|
||||
name of the file to which the mesh should
|
||||
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
|
||||
@ -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
|
||||
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
|
||||
@ -269,7 +269,7 @@ DLL_HEADER Ng_Mesh * Ng_LoadMesh(const char* filename);
|
||||
name of the file to load
|
||||
\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
|
||||
@ -286,7 +286,7 @@ DLL_HEADER Ng_Result Ng_MergeMesh(Ng_Mesh * mesh, const char* filename);
|
||||
the parent mesh
|
||||
\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[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
|
||||
@ -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
|
||||
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
|
||||
@ -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
|
||||
|
||||
*/
|
||||
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
|
||||
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
|
||||
@ -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
|
||||
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
|
||||
@ -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
|
||||
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
|
||||
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
|
||||
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
|
||||
@ -503,7 +503,7 @@ DLL_HEADER int Ng_GetNP (Ng_Mesh * mesh);
|
||||
\return
|
||||
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
|
||||
@ -517,7 +517,7 @@ DLL_HEADER int Ng_GetNSE (Ng_Mesh * mesh);
|
||||
\return
|
||||
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
|
||||
// The x, y and z co-ordinates are returned in the array pointer as
|
||||
// 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
|
||||
DLL_HEADER Ng_Surface_Element_Type
|
||||
NGLIB_API Ng_Surface_Element_Type
|
||||
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);
|
||||
|
||||
// ------------------------------------------------------------------
|
||||
@ -554,34 +554,34 @@ Ng_GetVolumeElement (Ng_Mesh * mesh, int num, int * pi);
|
||||
|
||||
// feeds points and boundary to mesh
|
||||
|
||||
DLL_HEADER 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_AddPoint_2D (Ng_Mesh * mesh, double * x);
|
||||
NGLIB_API void Ng_AddBoundarySeg_2D (Ng_Mesh * mesh, int pi1, int pi2);
|
||||
|
||||
// ask for number of points, elements and boundary segments
|
||||
DLL_HEADER int Ng_GetNP_2D (Ng_Mesh * mesh);
|
||||
DLL_HEADER int Ng_GetNE_2D (Ng_Mesh * mesh);
|
||||
DLL_HEADER int Ng_GetNSeg_2D (Ng_Mesh * mesh);
|
||||
NGLIB_API int Ng_GetNP_2D (Ng_Mesh * mesh);
|
||||
NGLIB_API int Ng_GetNE_2D (Ng_Mesh * mesh);
|
||||
NGLIB_API int Ng_GetNSeg_2D (Ng_Mesh * mesh);
|
||||
|
||||
// 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
|
||||
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);
|
||||
|
||||
// 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
|
||||
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
|
||||
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_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,
|
||||
int levels);
|
||||
|
||||
@ -595,35 +595,35 @@ DLL_HEADER void Ng_HP_Refinement (Ng_Geometry_2D * geom,
|
||||
|
||||
|
||||
// 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
|
||||
DLL_HEADER Ng_STL_Geometry * Ng_STL_NewGeometry ();
|
||||
NGLIB_API Ng_STL_Geometry * Ng_STL_NewGeometry ();
|
||||
|
||||
|
||||
// fills STL Geometry
|
||||
// positive orientation
|
||||
// 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 * nv = NULL);
|
||||
|
||||
// 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);
|
||||
|
||||
// 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:
|
||||
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_Meshing_Parameters * mp);
|
||||
|
||||
|
||||
// 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_Meshing_Parameters * mp);
|
||||
|
||||
@ -638,10 +638,10 @@ DLL_HEADER Ng_Result Ng_STL_GenerateSurfaceMesh (Ng_STL_Geometry * geom,
|
||||
typedef void * Ng_ACIS_Geometry;
|
||||
|
||||
// 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.
|
||||
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_Meshing_Parameters * mp);
|
||||
|
||||
@ -657,37 +657,37 @@ DLL_HEADER Ng_Result Ng_ACIS_GenerateSurfaceMesh (Ng_ACIS_Geometry * geom,
|
||||
// **********************************************************
|
||||
|
||||
// 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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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_Meshing_Parameters * mp);
|
||||
|
||||
// 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_Meshing_Parameters * mp);
|
||||
|
||||
// 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_Meshing_Parameters * mp);
|
||||
|
||||
// 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);
|
||||
|
||||
#endif // OCCGEOMETRY
|
||||
@ -699,22 +699,22 @@ DLL_HEADER Ng_Result Ng_OCC_GetFMap(Ng_OCC_Geometry * geom,
|
||||
// **********************************************************
|
||||
|
||||
// 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:
|
||||
|
||||
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);
|
||||
|
||||
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);
|
||||
|
||||
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);
|
||||
|
||||
#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);
|
||||
#endif
|
||||
|
||||
@ -725,22 +725,22 @@ DLL_HEADER void Ng_OCC_Uniform_Refinement (Ng_OCC_Geometry * geom,
|
||||
// **********************************************************
|
||||
|
||||
// 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:
|
||||
|
||||
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);
|
||||
|
||||
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);
|
||||
|
||||
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);
|
||||
|
||||
#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);
|
||||
#endif
|
||||
|
||||
|
@ -27,7 +27,7 @@ void Parallel_Exit();
|
||||
namespace netgen {
|
||||
extern AutoPtr<Mesh> mesh;
|
||||
// extern VisualSceneMesh vsmesh;
|
||||
extern DLL_HEADER MeshingParameters mparam;
|
||||
extern NGLIB_API MeshingParameters mparam;
|
||||
}
|
||||
|
||||
using namespace netgen;
|
||||
|
Loading…
Reference in New Issue
Block a user