mirror of
https://github.com/NGSolve/netgen.git
synced 2024-12-25 05:20:34 +05:00
geometry format modularization
This commit is contained in:
parent
b0f637862b
commit
55282bac84
@ -67,9 +67,6 @@
|
|||||||
/* Define to the one symbol short name of this package. */
|
/* Define to the one symbol short name of this package. */
|
||||||
#undef PACKAGE_TARNAME
|
#undef PACKAGE_TARNAME
|
||||||
|
|
||||||
/* Define to the home page for this package. */
|
|
||||||
#undef PACKAGE_URL
|
|
||||||
|
|
||||||
/* Define to the version of this package. */
|
/* Define to the version of this package. */
|
||||||
#undef PACKAGE_VERSION
|
#undef PACKAGE_VERSION
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@ revolution.hpp spline3d.hpp vscsg.hpp
|
|||||||
AM_CPPFLAGS = -I$(top_srcdir)/libsrc/include $(TCL_INCLUDES)
|
AM_CPPFLAGS = -I$(top_srcdir)/libsrc/include $(TCL_INCLUDES)
|
||||||
METASOURCES = AUTO
|
METASOURCES = AUTO
|
||||||
|
|
||||||
noinst_LTLIBRARIES = libcsg.la libcsgvis.la
|
lib_LTLIBRARIES = libcsg.la libcsgvis.la
|
||||||
|
|
||||||
|
|
||||||
libcsg_la_SOURCES = algprim.cpp brick.cpp \
|
libcsg_la_SOURCES = algprim.cpp brick.cpp \
|
||||||
@ -18,6 +18,8 @@ manifold.cpp meshsurf.cpp polyhedra.cpp revolution.cpp singularref.cpp \
|
|||||||
solid.cpp specpoin.cpp spline3d.cpp surface.cpp triapprox.cpp
|
solid.cpp specpoin.cpp spline3d.cpp surface.cpp triapprox.cpp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
libcsgvis_la_SOURCES = vscsg.cpp csgpkg.cpp
|
libcsgvis_la_SOURCES = vscsg.cpp csgpkg.cpp
|
||||||
|
|
||||||
|
|
||||||
|
libcsgvis_la_LIBADD = libcsg.la $(top_builddir)/libsrc/geom2d/libgeom2d.la
|
||||||
|
|
||||||
|
@ -7,9 +7,6 @@
|
|||||||
|
|
||||||
namespace netgen
|
namespace netgen
|
||||||
{
|
{
|
||||||
//using namespace netgen;
|
|
||||||
|
|
||||||
|
|
||||||
static kwstruct defkw[] =
|
static kwstruct defkw[] =
|
||||||
{
|
{
|
||||||
{ TOK_RECO, "algebraic3d" },
|
{ TOK_RECO, "algebraic3d" },
|
||||||
@ -695,6 +692,65 @@ namespace netgen
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template <int D>
|
||||||
|
void LoadSpline (SplineGeometry<D> & spline, CSGScanner & scan)
|
||||||
|
{
|
||||||
|
double hd;
|
||||||
|
Point<D> x;
|
||||||
|
int nump, numseg;
|
||||||
|
|
||||||
|
//scan.ReadNext();
|
||||||
|
scan >> nump >> ';';
|
||||||
|
|
||||||
|
hd = 1;
|
||||||
|
spline.geompoints.SetSize(nump);
|
||||||
|
for(int i = 0; i<nump; i++)
|
||||||
|
{
|
||||||
|
if(D==2)
|
||||||
|
scan >> x(0) >> ',' >> x(1) >> ';';
|
||||||
|
else if(D==3)
|
||||||
|
scan >> x(0) >> ',' >> x(1) >> ',' >> x(2) >> ';';
|
||||||
|
|
||||||
|
spline.geompoints[i] = GeomPoint<D>(x,hd);
|
||||||
|
}
|
||||||
|
|
||||||
|
scan >> numseg;// >> ';';
|
||||||
|
|
||||||
|
spline.splines.SetSize(numseg);
|
||||||
|
|
||||||
|
int pnums,pnum1,pnum2,pnum3;
|
||||||
|
|
||||||
|
|
||||||
|
for(int i = 0; i<numseg; i++)
|
||||||
|
{
|
||||||
|
scan >> ';' >> pnums >> ',';
|
||||||
|
if (pnums == 2)
|
||||||
|
{
|
||||||
|
scan >> pnum1 >> ',' >> pnum2;// >> ';';
|
||||||
|
spline.splines[i] = new LineSeg<D>(spline.geompoints[pnum1-1],
|
||||||
|
spline.geompoints[pnum2-1]);
|
||||||
|
}
|
||||||
|
else if (pnums == 3)
|
||||||
|
{
|
||||||
|
scan >> pnum1 >> ',' >> pnum2 >> ','
|
||||||
|
>> pnum3;// >> ';';
|
||||||
|
spline.splines[i] = new SplineSeg3<D>(spline.geompoints[pnum1-1],
|
||||||
|
spline.geompoints[pnum2-1],
|
||||||
|
spline.geompoints[pnum3-1]);
|
||||||
|
}
|
||||||
|
else if (pnums == 4)
|
||||||
|
{
|
||||||
|
scan >> pnum1 >> ',' >> pnum2 >> ','
|
||||||
|
>> pnum3;// >> ';';
|
||||||
|
spline.splines[i] = new CircleSeg<D>(spline.geompoints[pnum1-1],
|
||||||
|
spline.geompoints[pnum2-1],
|
||||||
|
spline.geompoints[pnum3-1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void ParseFlags (CSGScanner & scan, Flags & flags)
|
void ParseFlags (CSGScanner & scan, Flags & flags)
|
||||||
{
|
{
|
||||||
@ -1118,7 +1174,8 @@ namespace netgen
|
|||||||
ParseChar (scan, '(');
|
ParseChar (scan, '(');
|
||||||
|
|
||||||
SplineGeometry<2> * newspline = new SplineGeometry<2>;
|
SplineGeometry<2> * newspline = new SplineGeometry<2>;
|
||||||
newspline->CSGLoad(scan);
|
// newspline->CSGLoad(scan);
|
||||||
|
LoadSpline (*newspline, scan);
|
||||||
|
|
||||||
ParseChar (scan, ')');
|
ParseChar (scan, ')');
|
||||||
ParseChar (scan, ';');
|
ParseChar (scan, ';');
|
||||||
@ -1143,7 +1200,8 @@ namespace netgen
|
|||||||
ParseChar (scan, '(');
|
ParseChar (scan, '(');
|
||||||
|
|
||||||
SplineGeometry<3> * newspline = new SplineGeometry<3>;
|
SplineGeometry<3> * newspline = new SplineGeometry<3>;
|
||||||
newspline->CSGLoad(scan);
|
// newspline->CSGLoad(scan);
|
||||||
|
LoadSpline (*newspline, scan);
|
||||||
|
|
||||||
ParseChar (scan, ')');
|
ParseChar (scan, ')');
|
||||||
ParseChar (scan, ';');
|
ParseChar (scan, ';');
|
||||||
|
@ -10,4 +10,6 @@ libgeom2d_la_SOURCES = genmesh2d.cpp geom2dmesh.cpp spline.cpp \
|
|||||||
|
|
||||||
|
|
||||||
libgeom2dvis_la_SOURCES = geom2dpkg.cpp vsgeom2d.cpp
|
libgeom2dvis_la_SOURCES = geom2dpkg.cpp vsgeom2d.cpp
|
||||||
|
libgeom2dvis_la_LIBADD = libgeom2d.la
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#include <mystdlib.h>
|
#include <mystdlib.h>
|
||||||
#include <csg.hpp>
|
#include <meshing.hpp>
|
||||||
#include <geometry2d.hpp>
|
#include <geometry2d.hpp>
|
||||||
#include "meshing.hpp"
|
|
||||||
|
|
||||||
namespace netgen
|
namespace netgen
|
||||||
{
|
{
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
#include <mystdlib.h>
|
#include <mystdlib.h>
|
||||||
|
|
||||||
#include <csg.hpp>
|
|
||||||
#include <geometry2d.hpp>
|
|
||||||
#include <meshing.hpp>
|
#include <meshing.hpp>
|
||||||
|
|
||||||
|
#include <geometry2d.hpp>
|
||||||
|
|
||||||
namespace netgen
|
namespace netgen
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
#include <mystdlib.h>
|
#include <mystdlib.h>
|
||||||
#include <myadt.hpp>
|
#include <myadt.hpp>
|
||||||
#include <linalg.hpp>
|
#include <linalg.hpp>
|
||||||
#include <csg.hpp>
|
|
||||||
|
|
||||||
|
|
||||||
#include <incvis.hpp>
|
#include <incvis.hpp>
|
||||||
#include <visual.hpp>
|
#include <meshing.hpp>
|
||||||
|
#include <geometry2d.hpp>
|
||||||
|
|
||||||
|
#include <visual.hpp>
|
||||||
#include "vsgeom2d.hpp"
|
#include "vsgeom2d.hpp"
|
||||||
|
|
||||||
|
|
||||||
|
@ -5,9 +5,9 @@ Spline curve for Mesh generator
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <mystdlib.h>
|
#include <mystdlib.h>
|
||||||
#include <csg.hpp>
|
|
||||||
#include <linalg.hpp>
|
#include <linalg.hpp>
|
||||||
#include <meshing.hpp>
|
#include <meshing.hpp>
|
||||||
|
#include <geometry2d.hpp>
|
||||||
|
|
||||||
namespace netgen
|
namespace netgen
|
||||||
{
|
{
|
||||||
|
@ -286,20 +286,19 @@ public:
|
|||||||
template<int D>
|
template<int D>
|
||||||
double SplineSeg<D> :: Length () const
|
double SplineSeg<D> :: Length () const
|
||||||
{
|
{
|
||||||
Point<D> p, pold;
|
int n = 100;
|
||||||
|
|
||||||
int i, n = 100;
|
|
||||||
double dt = 1.0 / n;
|
double dt = 1.0 / n;
|
||||||
|
|
||||||
pold = GetPoint (0);
|
Point<D> pold = GetPoint (0);
|
||||||
|
|
||||||
double l = 0;
|
double l = 0;
|
||||||
for (i = 1; i <= n; i++)
|
for (int i = 1; i <= n; i++)
|
||||||
{
|
{
|
||||||
p = GetPoint (i * dt);
|
Point<D> p = GetPoint (i * dt);
|
||||||
l += Dist (p, pold);
|
l += Dist (p, pold);
|
||||||
pold = p;
|
pold = p;
|
||||||
}
|
}
|
||||||
|
|
||||||
return l;
|
return l;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6,9 +6,8 @@
|
|||||||
|
|
||||||
|
|
||||||
#include <mystdlib.h>
|
#include <mystdlib.h>
|
||||||
#include <csg.hpp>
|
#include <meshing.hpp>
|
||||||
#include <geometry2d.hpp>
|
#include <geometry2d.hpp>
|
||||||
#include "meshing.hpp"
|
|
||||||
|
|
||||||
namespace netgen
|
namespace netgen
|
||||||
{
|
{
|
||||||
@ -496,6 +495,7 @@ void SplineGeometry<D> :: GetRawData (Array<double> & raw_data) const
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
template<int D>
|
template<int D>
|
||||||
void SplineGeometry<D> :: CSGLoad (CSGScanner & scan)
|
void SplineGeometry<D> :: CSGLoad (CSGScanner & scan)
|
||||||
{
|
{
|
||||||
@ -554,7 +554,7 @@ void SplineGeometry<D> :: CSGLoad (CSGScanner & scan)
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -1268,8 +1268,6 @@ extern void MeshFromSpline2D (SplineGeometry2d & geometry,
|
|||||||
int SplineGeometry2d :: GenerateMesh (Mesh*& mesh, MeshingParameters & mparam,
|
int SplineGeometry2d :: GenerateMesh (Mesh*& mesh, MeshingParameters & mparam,
|
||||||
int perfstepsstart, int perfstepsend)
|
int perfstepsstart, int perfstepsend)
|
||||||
{
|
{
|
||||||
cout << "SplineGeometry2d::GenerateMesh not only a dummy" << endl;
|
|
||||||
|
|
||||||
MeshFromSpline2D (*this, mesh, mparam);
|
MeshFromSpline2D (*this, mesh, mparam);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,7 @@ in geom2d only 2D - Geometry classes (with material properties etc.)
|
|||||||
|
|
||||||
#ifndef _FILE_SPLINEGEOMETRY
|
#ifndef _FILE_SPLINEGEOMETRY
|
||||||
#define _FILE_SPLINEGEOMETRY
|
#define _FILE_SPLINEGEOMETRY
|
||||||
#include "../csg/csgparser.hpp"
|
// #include "../csg/csgparser.hpp"
|
||||||
|
|
||||||
|
|
||||||
namespace netgen
|
namespace netgen
|
||||||
@ -38,7 +38,8 @@ namespace netgen
|
|||||||
template < int D >
|
template < int D >
|
||||||
class SplineGeometry
|
class SplineGeometry
|
||||||
{
|
{
|
||||||
protected:
|
// protected:
|
||||||
|
public:
|
||||||
Array < GeomPoint<D> > geompoints;
|
Array < GeomPoint<D> > geompoints;
|
||||||
Array < SplineSeg<D>* > splines;
|
Array < SplineSeg<D>* > splines;
|
||||||
double elto0;
|
double elto0;
|
||||||
@ -59,7 +60,7 @@ namespace netgen
|
|||||||
|
|
||||||
int Load (const Array<double> & raw_data, const int startpos = 0);
|
int Load (const Array<double> & raw_data, const int startpos = 0);
|
||||||
void Load (const char * filename);
|
void Load (const char * filename);
|
||||||
void CSGLoad (CSGScanner & scan);
|
// void CSGLoad (CSGScanner & scan);
|
||||||
|
|
||||||
void LoadData( ifstream & infile );
|
void LoadData( ifstream & infile );
|
||||||
void LoadDataNew ( ifstream & infile );
|
void LoadDataNew ( ifstream & infile );
|
||||||
|
@ -3,9 +3,8 @@
|
|||||||
|
|
||||||
#include <myadt.hpp>
|
#include <myadt.hpp>
|
||||||
#include <meshing.hpp>
|
#include <meshing.hpp>
|
||||||
#include <csg.hpp>
|
|
||||||
#include <stlgeom.hpp>
|
|
||||||
|
|
||||||
|
#include <geometry2d.hpp>
|
||||||
#include <visual.hpp>
|
#include <visual.hpp>
|
||||||
|
|
||||||
#include "vsgeom2d.hpp"
|
#include "vsgeom2d.hpp"
|
||||||
@ -14,9 +13,6 @@ namespace netgen
|
|||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* *********************** Draw 2D Geometry **************** */
|
/* *********************** Draw 2D Geometry **************** */
|
||||||
|
|
||||||
|
|
||||||
|
@ -20,5 +20,9 @@ libocc_la_SOURCES = Partition_Inter2d.cxx Partition_Inter3d.cxx \
|
|||||||
Partition_Loop.cxx Partition_Loop2d.cxx Partition_Loop3d.cxx Partition_Spliter.cxx \
|
Partition_Loop.cxx Partition_Loop2d.cxx Partition_Loop3d.cxx Partition_Spliter.cxx \
|
||||||
occconstruction.cpp occgenmesh.cpp occgeom.cpp occmeshsurf.cpp
|
occconstruction.cpp occgenmesh.cpp occgeom.cpp occmeshsurf.cpp
|
||||||
|
|
||||||
liboccvis_la_SOURCES = occpkg.cpp vsocc.cpp
|
libocc_la_LIBADD = $(OCCLIBS)
|
||||||
|
|
||||||
|
liboccvis_la_SOURCES = occpkg.cpp vsocc.cpp
|
||||||
|
liboccvis_la_LIBADD = libocc.la
|
||||||
|
|
||||||
|
|
||||||
|
@ -4,12 +4,12 @@ stltool.hpp stltopology.hpp vsstl.hpp
|
|||||||
AM_CPPFLAGS = -I$(top_srcdir)/libsrc/include $(TCL_INCLUDES)
|
AM_CPPFLAGS = -I$(top_srcdir)/libsrc/include $(TCL_INCLUDES)
|
||||||
METASOURCES = AUTO
|
METASOURCES = AUTO
|
||||||
|
|
||||||
noinst_LTLIBRARIES = libstl.la libstlvis.la
|
lib_LTLIBRARIES = libstl.la libstlvis.la
|
||||||
|
|
||||||
libstl_la_SOURCES = meshstlsurface.cpp stlgeom.cpp stlgeomchart.cpp \
|
libstl_la_SOURCES = meshstlsurface.cpp stlgeom.cpp stlgeomchart.cpp \
|
||||||
stlgeommesh.cpp stlline.cpp stltool.cpp stltopology.cpp
|
stlgeommesh.cpp stlline.cpp stltool.cpp stltopology.cpp
|
||||||
|
|
||||||
|
|
||||||
libstlvis_la_SOURCES = stlpkg.cpp vsstl.cpp
|
libstlvis_la_SOURCES = stlpkg.cpp vsstl.cpp
|
||||||
|
libstlvis_la_LIBADD = libstl.la $(top_builddir)/libsrc/linalg/libla.la
|
||||||
|
|
||||||
|
@ -595,8 +595,8 @@ namespace netgen
|
|||||||
|
|
||||||
using namespace netgen;
|
using namespace netgen;
|
||||||
|
|
||||||
extern "C" int Ng_STL_Init (Tcl_Interp * interp);
|
extern "C" int Ng_stl_Init (Tcl_Interp * interp);
|
||||||
int Ng_STL_Init (Tcl_Interp * interp)
|
int Ng_stl_Init (Tcl_Interp * interp)
|
||||||
{
|
{
|
||||||
geometryregister.Append (new STLGeometryRegister);
|
geometryregister.Append (new STLGeometryRegister);
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
include_HEADERS =
|
include_HEADERS =
|
||||||
|
|
||||||
AM_CPPFLAGS = -I$(top_srcdir)/libsrc/include -I$(top_srcdir)/libsrc/interface -DOPENGL -D$(TOGL_WINDOWINGSYSTEM) $(OCCFLAGS) $(TCL_INCLUDES) $(MPI_INCLUDES) $(FFMPEG_INCLUDES) $(JPEGLIB_INCLUDES)
|
AM_CPPFLAGS = -I$(top_srcdir)/libsrc/include -I$(top_srcdir)/libsrc/interface -DOPENGL -D$(TOGL_WINDOWINGSYSTEM) $(TCL_INCLUDES) $(MPI_INCLUDES) $(FFMPEG_INCLUDES) $(JPEGLIB_INCLUDES)
|
||||||
|
|
||||||
bin_PROGRAMS = netgen
|
bin_PROGRAMS = netgen
|
||||||
netgen_SOURCES = demoview.cpp ngappinit.cpp ngpkg.cpp onetcl.cpp nginterface.cpp nginterface_v2.cpp parallelfunc.cpp parallelinterface.cpp demoview.hpp parallelfunc.hpp togl_1_7.h
|
netgen_SOURCES = demoview.cpp ngappinit.cpp ngpkg.cpp onetcl.cpp nginterface.cpp nginterface_v2.cpp parallelfunc.cpp parallelinterface.cpp demoview.hpp parallelfunc.hpp togl_1_7.h
|
||||||
@ -8,20 +8,19 @@ netgen_SOURCES = demoview.cpp ngappinit.cpp ngpkg.cpp onetcl.cpp nginterface.cpp
|
|||||||
|
|
||||||
netgen_LDADD = $(top_builddir)/libsrc/visualization/libvisual.a \
|
netgen_LDADD = $(top_builddir)/libsrc/visualization/libvisual.a \
|
||||||
$(top_builddir)/libsrc/csg/libcsgvis.la \
|
$(top_builddir)/libsrc/csg/libcsgvis.la \
|
||||||
$(top_builddir)/libsrc/csg/libcsg.la \
|
|
||||||
$(top_builddir)/libsrc/geom2d/libgeom2dvis.la \
|
$(top_builddir)/libsrc/geom2d/libgeom2dvis.la \
|
||||||
$(top_builddir)/libsrc/geom2d/libgeom2d.la \
|
|
||||||
$(top_builddir)/libsrc/interface/libinterface.la \
|
$(top_builddir)/libsrc/interface/libinterface.la \
|
||||||
$(top_builddir)/libsrc/stlgeom/libstlvis.la \
|
|
||||||
$(top_builddir)/libsrc/stlgeom/libstl.la \
|
|
||||||
$(top_builddir)/libsrc/meshing/libmesh.la \
|
$(top_builddir)/libsrc/meshing/libmesh.la \
|
||||||
$(top_builddir)/libsrc/gprim/libgprim.la \
|
$(top_builddir)/libsrc/gprim/libgprim.la \
|
||||||
$(top_builddir)/libsrc/linalg/libla.la \
|
$(top_builddir)/libsrc/linalg/libla.la \
|
||||||
$(top_builddir)/libsrc/general/libgen.la \
|
$(top_builddir)/libsrc/general/libgen.la \
|
||||||
$(OCCLIBS) -L$(TK_BIN_DIR)/Togl1.7 $(TOGLLIBDIR) -lTogl1.7 $(LIBGLU) $(TK_LIB_SPEC) $(TCL_LIB_SPEC) $(MPI_LIBS) $(FFMPEG_LIBS) $(JPEGLIB_LIBS) $(PKG_LIBS)
|
-L$(TK_BIN_DIR)/Togl1.7 $(TOGLLIBDIR) -lTogl1.7 $(LIBGLU) $(TK_LIB_SPEC) $(TCL_LIB_SPEC) $(MPI_LIBS) $(FFMPEG_LIBS) $(JPEGLIB_LIBS) $(PKG_LIBS)
|
||||||
#
|
#
|
||||||
# $(top_builddir)/libsrc/occ/liboccvis.la
|
# $(top_builddir)/libsrc/occ/liboccvis.la
|
||||||
# $(top_builddir)/libsrc/occ/libocc.la
|
# $(top_builddir)/libsrc/occ/libocc.la
|
||||||
|
# $(top_builddir)/libsrc/stlgeom/libstlvis.la
|
||||||
|
# $(top_builddir)/libsrc/stlgeom/libstl.la
|
||||||
|
# $(top_builddir)/libsrc/geom2d/libgeom2d.la
|
||||||
|
|
||||||
|
|
||||||
# add for static linkage of ngsolve:
|
# add for static linkage of ngsolve:
|
||||||
|
@ -2494,50 +2494,6 @@ proc printlatestwarning { } {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# for parallel visualization, overlapping meshes...
|
|
||||||
proc paralleldialog { } {
|
|
||||||
|
|
||||||
set w .parallel_dlg
|
|
||||||
|
|
||||||
if {[winfo exists .parallel_dlg] == 1} {
|
|
||||||
wm withdraw $w
|
|
||||||
wm deiconify $w
|
|
||||||
wm geometry $w =270x100
|
|
||||||
|
|
||||||
focus $w
|
|
||||||
} {
|
|
||||||
|
|
||||||
toplevel $w
|
|
||||||
wm geometry $w =270x100
|
|
||||||
|
|
||||||
# frame $w.buttons -relief groove -borderwidth 3 -width 300
|
|
||||||
# pack $w.buttons
|
|
||||||
set ww $w
|
|
||||||
|
|
||||||
button $ww.visallb -text "View All" -width 20 -command\
|
|
||||||
{ Ng_VisualizeAll; }
|
|
||||||
pack $ww.visallb
|
|
||||||
|
|
||||||
button $ww.visoneb -text "View One" -width 20 -command \
|
|
||||||
{ Ng_VisualizeOne; }
|
|
||||||
pack $ww.visoneb
|
|
||||||
|
|
||||||
button $ww.overlap -text "overlap++" -width 20 -command \
|
|
||||||
{ Ng_IncrOverlap; }
|
|
||||||
|
|
||||||
pack $ww.overlap
|
|
||||||
|
|
||||||
wm withdraw $w
|
|
||||||
wm geom $w +100+100
|
|
||||||
wm deiconify $w
|
|
||||||
wm title $w "Parallel Netgen"
|
|
||||||
focus .parallel_dlg
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# paralleldialog
|
|
||||||
#wm withdraw $w
|
|
||||||
|
|
||||||
proc runtestdialog { } {
|
proc runtestdialog { } {
|
||||||
source $::ngdir/ngshell.tcl
|
source $::ngdir/ngshell.tcl
|
||||||
|
@ -5,15 +5,16 @@ set oldmousex 0
|
|||||||
set oldmousey 0
|
set oldmousey 0
|
||||||
#
|
#
|
||||||
|
|
||||||
# if { 1 } {
|
|
||||||
|
|
||||||
# use this one for Togl 2.0
|
# use this one for Togl 2.0
|
||||||
|
|
||||||
|
# if { 1 } {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# if {[catch {togl .ndraw -width 400 -height 300 -rgba true -double true -depth true -privatecmap false -stereo false -indirect true -create init -display draw -reshape reshape }] } {
|
# if {[catch {togl .ndraw -width 400 -height 300 -rgba true -double true -depth true -privatecmap false -stereo false -indirect true -create init -display draw -reshape reshape }] } {
|
||||||
|
|
||||||
# changed -indirect true/false !!!
|
|
||||||
if {[catch {togl .ndraw -width 400 -height 300 -rgba true -double true -depth true -privatecmap false -stereo false -indirect true }] } {
|
if {[catch {togl .ndraw -width 400 -height 300 -rgba true -double true -depth true -privatecmap false -stereo false -indirect true }] } {
|
||||||
|
|
||||||
puts "no OpenGL"
|
puts "no OpenGL"
|
||||||
} {
|
} {
|
||||||
#
|
#
|
||||||
|
@ -833,17 +833,6 @@ pack .bubar.exitb .bubar.surfm .bubar.stopm -side left
|
|||||||
#button .bubar.scan -text "Scan" \
|
#button .bubar.scan -text "Scan" \
|
||||||
# -command { Ng_ParseGeometry; set selectvisual geometry; Ng_SetVisParameters; redraw }
|
# -command { Ng_ParseGeometry; set selectvisual geometry; Ng_SetVisParameters; redraw }
|
||||||
|
|
||||||
# fuer parallel - buttons :)
|
|
||||||
Ng_IsParallel;
|
|
||||||
if { $parallel_netgen } {
|
|
||||||
# catch{
|
|
||||||
# source ${ngdir}/ngtcltk/parallel_dialog.tcl
|
|
||||||
# }
|
|
||||||
button .bubar.visallb -text "Parallel" -command \
|
|
||||||
{ paralleldialog; redraw }
|
|
||||||
pack .bubar.visallb -side left
|
|
||||||
}
|
|
||||||
|
|
||||||
button .bubar.zoomall -text "Zoom All" \
|
button .bubar.zoomall -text "Zoom All" \
|
||||||
-command { Ng_ZoomAll; redraw }
|
-command { Ng_ZoomAll; redraw }
|
||||||
|
|
||||||
|
@ -101,7 +101,7 @@ int main(int argc, char ** argv)
|
|||||||
cout << "NETGEN-" << PACKAGE_VERSION << endl;
|
cout << "NETGEN-" << PACKAGE_VERSION << endl;
|
||||||
|
|
||||||
cout << "Developed by Joachim Schoeberl at" << endl
|
cout << "Developed by Joachim Schoeberl at" << endl
|
||||||
<< "2010-xxxx Vienna UT" << endl
|
<< "2010-xxxx Vienna University of Technology" << endl
|
||||||
<< "2006-2010 RWTH Aachen University" << endl
|
<< "2006-2010 RWTH Aachen University" << endl
|
||||||
<< "1996-2006 Johannes Kepler University Linz" << endl;
|
<< "1996-2006 Johannes Kepler University Linz" << endl;
|
||||||
|
|
||||||
|
@ -1,20 +1,7 @@
|
|||||||
#include <mystdlib.h>
|
#include <mystdlib.h>
|
||||||
|
|
||||||
|
|
||||||
#include <meshing.hpp>
|
#include <meshing.hpp>
|
||||||
#include <csg.hpp>
|
|
||||||
#include <geometry2d.hpp>
|
|
||||||
#include <stlgeom.hpp>
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef OCCGEOMETRY
|
|
||||||
#include <occgeom.hpp>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef ACIS
|
|
||||||
#include <acisgeom.hpp>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef SOCKETS
|
#ifdef SOCKETS
|
||||||
#include "../sockets/sockets.hpp"
|
#include "../sockets/sockets.hpp"
|
||||||
#endif
|
#endif
|
||||||
@ -27,11 +14,6 @@
|
|||||||
#include "nginterface.h"
|
#include "nginterface.h"
|
||||||
#include "nginterface_v2.hpp"
|
#include "nginterface_v2.hpp"
|
||||||
|
|
||||||
// #include <FlexLexer.h>
|
|
||||||
|
|
||||||
|
|
||||||
// #include <mystdlib.h>
|
|
||||||
|
|
||||||
|
|
||||||
namespace netgen
|
namespace netgen
|
||||||
{
|
{
|
||||||
@ -43,16 +25,6 @@ namespace netgen
|
|||||||
extern Tcl_Interp * tcl_interp;
|
extern Tcl_Interp * tcl_interp;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
extern AutoPtr<SplineGeometry2d> geometry2d;
|
|
||||||
extern AutoPtr<CSGeometry> geometry;
|
|
||||||
extern STLGeometry * stlgeometry;
|
|
||||||
|
|
||||||
#ifdef OCCGEOMETRY
|
|
||||||
extern OCCGeometry * occgeometry;
|
|
||||||
#endif
|
|
||||||
#ifdef ACIS
|
|
||||||
extern ACISGeometry * acisgeometry;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef OPENGL
|
#ifdef OPENGL
|
||||||
extern VisualSceneSolution vssolution;
|
extern VisualSceneSolution vssolution;
|
||||||
@ -217,23 +189,6 @@ namespace netgen
|
|||||||
double * dxdxi, size_t sdxdxi)
|
double * dxdxi, size_t sdxdxi)
|
||||||
{
|
{
|
||||||
mesh->GetCurvedElements().CalcMultiPointSegmentTransformation<2> (elnr, npts, xi, sxi, x, sx, dxdxi, sdxdxi);
|
mesh->GetCurvedElements().CalcMultiPointSegmentTransformation<2> (elnr, npts, xi, sxi, x, sx, dxdxi, sdxdxi);
|
||||||
/*
|
|
||||||
for (int ip = 0; ip < npts; ip++)
|
|
||||||
{
|
|
||||||
Point<3> xg;
|
|
||||||
Vec<3> dx;
|
|
||||||
|
|
||||||
mesh->GetCurvedElements().CalcSegmentTransformation (xi[ip*sxi], elnr, xg, dx);
|
|
||||||
|
|
||||||
if (x)
|
|
||||||
for (int i = 0; i < 2; i++)
|
|
||||||
x[ip*sx+i] = xg(i);
|
|
||||||
|
|
||||||
if (dxdxi)
|
|
||||||
for (int i=0; i<2; i++)
|
|
||||||
dxdxi[ip*sdxdxi+i] = dx(i);
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
@ -257,7 +212,6 @@ namespace netgen
|
|||||||
return mesh->GetTopology().GetNFaces();
|
return mesh->GetTopology().GetNFaces();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
template <> DLL_HEADER Ng_Node<1> Ng_GetNode<1> (int nr)
|
template <> DLL_HEADER Ng_Node<1> Ng_GetNode<1> (int nr)
|
||||||
{
|
{
|
||||||
Ng_Node<1> node;
|
Ng_Node<1> node;
|
||||||
@ -265,8 +219,6 @@ namespace netgen
|
|||||||
return node;
|
return node;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
template <> DLL_HEADER Ng_Node<2> Ng_GetNode<2> (int nr)
|
template <> DLL_HEADER Ng_Node<2> Ng_GetNode<2> (int nr)
|
||||||
{
|
{
|
||||||
Ng_Node<2> node;
|
Ng_Node<2> node;
|
||||||
|
119
ng/ngpkg.cpp
119
ng/ngpkg.cpp
@ -24,7 +24,6 @@ The interface between the GUI and the netgen library
|
|||||||
#include "../libsrc/sockets/socketmanager.hpp"
|
#include "../libsrc/sockets/socketmanager.hpp"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// #include <parallel.hpp>
|
|
||||||
|
|
||||||
// to be sure to include the 'right' togl-version
|
// to be sure to include the 'right' togl-version
|
||||||
#include "togl_1_7.h"
|
#include "togl_1_7.h"
|
||||||
@ -2012,10 +2011,10 @@ namespace netgen
|
|||||||
return TCL_ERROR;
|
return TCL_ERROR;
|
||||||
|
|
||||||
cout << "call Togl - load font (crash on my Linux64)" << endl;
|
cout << "call Togl - load font (crash on my Linux64)" << endl;
|
||||||
// togl_font = Togl_LoadBitmapFont( togl, "Times"); // TOGL_BITMAP_8_BY_13 );
|
togl_font = Togl_LoadBitmapFont( togl, "Times"); // TOGL_BITMAP_8_BY_13 );
|
||||||
// togl_font = Togl_LoadBitmapFont( togl, TOGL_BITMAP_8_BY_13 );
|
// togl_font = Togl_LoadBitmapFont( togl, TOGL_BITMAP_8_BY_13 );
|
||||||
// togl_font = Togl_LoadBitmapFont( togl, NULL );
|
// togl_font = Togl_LoadBitmapFont( togl, NULL );
|
||||||
// cout << "success" << endl;
|
cout << "success" << endl;
|
||||||
|
|
||||||
glMatrixMode(GL_PROJECTION);
|
glMatrixMode(GL_PROJECTION);
|
||||||
glLoadIdentity();
|
glLoadIdentity();
|
||||||
@ -2882,91 +2881,7 @@ namespace netgen
|
|||||||
return TCL_OK;
|
return TCL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef PARALLEL
|
|
||||||
int Ng_VisualizeAll (ClientData clientData,
|
|
||||||
Tcl_Interp * interp,
|
|
||||||
int argc, tcl_const char *argv[])
|
|
||||||
{
|
|
||||||
int id, rc, ntasks;
|
|
||||||
MPI_Comm_size(MPI_COMM_WORLD, &ntasks);
|
|
||||||
MPI_Comm_rank(MPI_COMM_WORLD, &id);
|
|
||||||
|
|
||||||
string visualizationmode = Tcl_GetVar (interp, "::selectvisual", 0);
|
|
||||||
string scalfun = Tcl_GetVar (interp, "::visoptions.scalfunction", 0);
|
|
||||||
for ( int dest = 1; dest < ntasks; dest++)
|
|
||||||
{
|
|
||||||
MyMPI_Send ( "visualize", dest );
|
|
||||||
MyMPI_Send ( visualizationmode, dest);
|
|
||||||
if ( visualizationmode == "solution" )
|
|
||||||
MyMPI_Send ( scalfun, dest);
|
|
||||||
}
|
|
||||||
return TCL_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
int Ng_VisualizeOne (ClientData clientData,
|
|
||||||
Tcl_Interp * interp,
|
|
||||||
int argc, tcl_const char *argv[])
|
|
||||||
{
|
|
||||||
int id, rc, ntasks;
|
|
||||||
MPI_Comm_size(MPI_COMM_WORLD, &ntasks);
|
|
||||||
MPI_Comm_rank(MPI_COMM_WORLD, &id);
|
|
||||||
|
|
||||||
string visualizationmode = Tcl_GetVar (interp, "::selectvisual", 0);
|
|
||||||
string scalfun = Tcl_GetVar (interp, "::visoptions.scalfunction", 0);
|
|
||||||
|
|
||||||
MyMPI_Send ( "visualize", 1 );
|
|
||||||
MyMPI_Send ( visualizationmode, 1);
|
|
||||||
|
|
||||||
if ( visualizationmode == "solution" )
|
|
||||||
MyMPI_Send ( scalfun, 1);
|
|
||||||
return TCL_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
int Ng_IncrOverlap ( ClientData clientDate,
|
|
||||||
Tcl_Interp * interp,
|
|
||||||
int argc, tcl_const char * argv[] )
|
|
||||||
{
|
|
||||||
int id, rc, ntasks;
|
|
||||||
MPI_Comm_size(MPI_COMM_WORLD, &ntasks);
|
|
||||||
MPI_Comm_rank(MPI_COMM_WORLD, &id);
|
|
||||||
|
|
||||||
for ( int dest = 1; dest < ntasks; dest++)
|
|
||||||
{
|
|
||||||
MyMPI_Send ( "overlap++", dest );
|
|
||||||
}
|
|
||||||
mesh->UpdateOverlap();
|
|
||||||
return TCL_OK;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
int Ng_SetSelectVisual ( ClientData clientDate,
|
|
||||||
Tcl_Interp * interp,
|
|
||||||
int argc, tcl_const char * argv[] )
|
|
||||||
{
|
|
||||||
string visualizationmode;
|
|
||||||
MyMPI_Recv ( visualizationmode, 0);
|
|
||||||
Tcl_SetVar (interp, "::selectvisual", visualizationmode.c_str(), 0);
|
|
||||||
return TCL_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
int Ng_SetScalarFunction ( ClientData clientDate,
|
|
||||||
Tcl_Interp * interp,
|
|
||||||
int argc, tcl_const char * argv[] )
|
|
||||||
{
|
|
||||||
string visualizationmode;
|
|
||||||
string scalarfun;
|
|
||||||
visualizationmode = Tcl_GetVar (interp, "::selectvisual", 0);
|
|
||||||
|
|
||||||
if ( visualizationmode == "solution" )
|
|
||||||
{
|
|
||||||
MyMPI_Recv ( scalarfun, 0);
|
|
||||||
Tcl_SetVar (interp, "::visoptions.scalfunction", scalarfun.c_str(), 0);
|
|
||||||
}
|
|
||||||
return TCL_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
int Ng_IsParallel (ClientData clientData,
|
int Ng_IsParallel (ClientData clientData,
|
||||||
Tcl_Interp * interp,
|
Tcl_Interp * interp,
|
||||||
@ -3073,7 +2988,7 @@ namespace netgen
|
|||||||
|
|
||||||
extern "C" int Ng_Init (Tcl_Interp * interp);
|
extern "C" int Ng_Init (Tcl_Interp * interp);
|
||||||
extern "C" int Ng_CSG_Init (Tcl_Interp * interp);
|
extern "C" int Ng_CSG_Init (Tcl_Interp * interp);
|
||||||
extern "C" int Ng_STL_Init (Tcl_Interp * interp);
|
// extern "C" int Ng_stl_Init (Tcl_Interp * interp);
|
||||||
|
|
||||||
#ifdef OCCGEOMETRY
|
#ifdef OCCGEOMETRY
|
||||||
// extern "C" int Ng_occ_Init (Tcl_Interp * interp);
|
// extern "C" int Ng_occ_Init (Tcl_Interp * interp);
|
||||||
@ -3094,11 +3009,8 @@ namespace netgen
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
Ng_CSG_Init(interp);
|
Ng_CSG_Init(interp);
|
||||||
Ng_STL_Init(interp);
|
// Ng_stl_Init(interp);
|
||||||
|
|
||||||
#ifdef OCCGEOMETRY
|
|
||||||
// Ng_occ_Init(interp);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
Ng_Geom2d_Init(interp);
|
Ng_Geom2d_Init(interp);
|
||||||
|
|
||||||
@ -3358,29 +3270,6 @@ namespace netgen
|
|||||||
(ClientData)NULL,
|
(ClientData)NULL,
|
||||||
(Tcl_CmdDeleteProc*) NULL);
|
(Tcl_CmdDeleteProc*) NULL);
|
||||||
|
|
||||||
|
|
||||||
#ifdef PARALLEL
|
|
||||||
Tcl_CreateCommand (interp, "Ng_VisualizeAll", Ng_VisualizeAll,
|
|
||||||
(ClientData)NULL,
|
|
||||||
(Tcl_CmdDeleteProc*) NULL);
|
|
||||||
|
|
||||||
Tcl_CreateCommand (interp, "Ng_VisualizeOne", Ng_VisualizeOne,
|
|
||||||
(ClientData)NULL,
|
|
||||||
(Tcl_CmdDeleteProc*) NULL);
|
|
||||||
|
|
||||||
Tcl_CreateCommand (interp, "Ng_IncrOverlap", Ng_IncrOverlap,
|
|
||||||
(ClientData)NULL,
|
|
||||||
(Tcl_CmdDeleteProc*) NULL);
|
|
||||||
|
|
||||||
Tcl_CreateCommand (interp, "Ng_SetSelectVisual", Ng_SetSelectVisual,
|
|
||||||
(ClientData)NULL,
|
|
||||||
(Tcl_CmdDeleteProc*) NULL);
|
|
||||||
|
|
||||||
Tcl_CreateCommand (interp, "Ng_SetScalarFunction", Ng_SetScalarFunction,
|
|
||||||
(ClientData)NULL,
|
|
||||||
(Tcl_CmdDeleteProc*) NULL);
|
|
||||||
|
|
||||||
#endif
|
|
||||||
Tcl_CreateCommand (interp, "Ng_IsParallel", Ng_IsParallel,
|
Tcl_CreateCommand (interp, "Ng_IsParallel", Ng_IsParallel,
|
||||||
(ClientData)NULL,
|
(ClientData)NULL,
|
||||||
(Tcl_CmdDeleteProc*) NULL);
|
(Tcl_CmdDeleteProc*) NULL);
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
if { [catch { load liboccvis[info sharedlibextension] Ng_OCC } result ] } {
|
if { [catch { load liboccvis[info sharedlibextension] Ng_OCC } result ] } {
|
||||||
# puts "cannot load occ"
|
puts "cannot load occ"
|
||||||
# puts "error: $result"
|
puts "error: $result"
|
||||||
|
|
||||||
# dummy
|
# dummy
|
||||||
proc rebuildoccdialog { } { }
|
proc rebuildoccdialog { } { }
|
||||||
|
@ -1,3 +1,9 @@
|
|||||||
|
if { [catch { load libstlvis[info sharedlibextension] Ng_STL } result ] } {
|
||||||
|
puts "cannot load stl"
|
||||||
|
puts "error: $result"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
.ngmenu.geometry add separator
|
.ngmenu.geometry add separator
|
||||||
|
|
||||||
.ngmenu.geometry add command -label "STL Doctor..." \
|
.ngmenu.geometry add command -label "STL Doctor..." \
|
||||||
|
Loading…
Reference in New Issue
Block a user