mirror of
https://github.com/NGSolve/netgen.git
synced 2024-11-11 16:49:16 +05:00
Fix various typos
Found via `codespell -q 3 -S ./external_dependencies/pybind11 -L alledges,allright,ane,anormal,ans,apoints,ba,boxs,cancle,childs,co-ordinate,co-ordinates,daty,enty,filld,hel,identifyable,ist,linz,lod,ned,nd,selt,statics,suround,thev,thist,thisy,timere,upto,wel`
This commit is contained in:
parent
dc836ae7e4
commit
4033fac1b3
@ -1,7 +1,7 @@
|
|||||||
include (ExternalProject)
|
include (ExternalProject)
|
||||||
|
|
||||||
option( BUILD_ZLIB "Build and link static version of zlib (usefull for pip binaries)" OFF )
|
option( BUILD_ZLIB "Build and link static version of zlib (useful for pip binaries)" OFF )
|
||||||
option( BUILD_OCC "Build and link static version of occ (usefull for pip binaries)" OFF )
|
option( BUILD_OCC "Build and link static version of occ (useful for pip binaries)" OFF )
|
||||||
set_property (DIRECTORY PROPERTY EP_PREFIX dependencies)
|
set_property (DIRECTORY PROPERTY EP_PREFIX dependencies)
|
||||||
|
|
||||||
set (NETGEN_DEPENDENCIES)
|
set (NETGEN_DEPENDENCIES)
|
||||||
|
14
doc/ng4.tex
14
doc/ng4.tex
@ -176,7 +176,7 @@ Lines starting with $\#$ are comment lines. Every CSG file must contain the
|
|||||||
keyword {\tt algebraic3d} before any non-comment line.
|
keyword {\tt algebraic3d} before any non-comment line.
|
||||||
The keyword {\tt solid} defines a named solid, here the solid {\it cube}
|
The keyword {\tt solid} defines a named solid, here the solid {\it cube}
|
||||||
is defined. A solid is defined by the Eulerian operations applied to
|
is defined. A solid is defined by the Eulerian operations applied to
|
||||||
primitives. Here, the solid is just the primitve defined by {\tt orthobrick}.
|
primitives. Here, the solid is just the primitive defined by {\tt orthobrick}.
|
||||||
This is a brick parallel to the axis, specified by the minimal $x$, $y$, and
|
This is a brick parallel to the axis, specified by the minimal $x$, $y$, and
|
||||||
$z$ coordinates, and the maximal $x$, $y$, and $z$ coordinates. The present
|
$z$ coordinates, and the maximal $x$, $y$, and $z$ coordinates. The present
|
||||||
definition gives the cube $[0,1]^3$. Finally, the definition {\tt tlo cube}
|
definition gives the cube $[0,1]^3$. Finally, the definition {\tt tlo cube}
|
||||||
@ -260,7 +260,7 @@ amount of red, green and blue (RGB) values. The flag {\tt
|
|||||||
-transparent} makes the solid appear transparent.
|
-transparent} makes the solid appear transparent.
|
||||||
|
|
||||||
|
|
||||||
It is possible to specify bounday condition numbers for individual
|
It is possible to specify boundary condition numbers for individual
|
||||||
surfaces of a solid. The flag {\tt -bc} assigns the bc to all
|
surfaces of a solid. The flag {\tt -bc} assigns the bc to all
|
||||||
surfaces of that solid-tree. If several flags are given the one closest
|
surfaces of that solid-tree. If several flags are given the one closest
|
||||||
to the leaves of the tree dominates. The following file defines a
|
to the leaves of the tree dominates. The following file defines a
|
||||||
@ -536,7 +536,7 @@ STL is a standardized file format to describe (approximate) geometies
|
|||||||
by triangulated surfaces. It is useful to describe complicated parts
|
by triangulated surfaces. It is useful to describe complicated parts
|
||||||
which are modeled with some CAD programmes. Also, some users have written
|
which are modeled with some CAD programmes. Also, some users have written
|
||||||
their own (C) programmes to define STL geometries, where was not so easy
|
their own (C) programmes to define STL geometries, where was not so easy
|
||||||
to use the CSG format. The syntac of STL files is as follos
|
to use the CSG format. The syntax of STL files is as follows
|
||||||
\begin{quote}
|
\begin{quote}
|
||||||
(not available yet. please figure out the syntax from the examples)
|
(not available yet. please figure out the syntax from the examples)
|
||||||
\end{quote}
|
\end{quote}
|
||||||
@ -593,10 +593,10 @@ Finally, the refinement factor along the line follows.
|
|||||||
\chapter{Mesh and Solution Formats}
|
\chapter{Mesh and Solution Formats}
|
||||||
|
|
||||||
You can export meshes to a couple of file formats. Some are self-defined,
|
You can export meshes to a couple of file formats. Some are self-defined,
|
||||||
some other are standard formats. The self-defined are the followings:
|
some other are standard formats. The self-defined are the following:
|
||||||
|
|
||||||
\section{Mesh Size File}
|
\section{Mesh Size File}
|
||||||
By means of a mesh size file you can provide a local mesh size density. The file extension must be {\it .msz}. If you want to use the mesh size file, you specify it in the ``Meshing Options'', doalog box, page ``Mesh Size''.
|
By means of a mesh size file you can provide a local mesh size density. The file extension must be {\it .msz}. If you want to use the mesh size file, you specify it in the ``Meshing Options'', dialog box, page ``Mesh Size''.
|
||||||
|
|
||||||
The syntay is:
|
The syntay is:
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
@ -643,7 +643,7 @@ The Fepp 2D format contains the following sections:
|
|||||||
|
|
||||||
\begin{enumerate}
|
\begin{enumerate}
|
||||||
\item
|
\item
|
||||||
boundary segmetns \\
|
boundary segments \\
|
||||||
After the number of boundary segments there follows a list of
|
After the number of boundary segments there follows a list of
|
||||||
segments. Each segment is specified by the spline - patch number,
|
segments. Each segment is specified by the spline - patch number,
|
||||||
and the two node indices. Counting starts with 1
|
and the two node indices. Counting starts with 1
|
||||||
@ -749,7 +749,7 @@ the bottom, and the large drawing window. The menu items will be explained in
|
|||||||
\item Quit \newline
|
\item Quit \newline
|
||||||
Terminate Netgen
|
Terminate Netgen
|
||||||
\item Generate mesh \newline
|
\item Generate mesh \newline
|
||||||
Performe mesh generation
|
Perform mesh generation
|
||||||
\item Stop Meshing \newline
|
\item Stop Meshing \newline
|
||||||
Stop mesh generation
|
Stop mesh generation
|
||||||
\item Geometry/Edges/Mesh/Solution \newline
|
\item Geometry/Edges/Mesh/Solution \newline
|
||||||
|
@ -466,7 +466,7 @@ namespace ngcore
|
|||||||
// -1 restores a new shared ptr by restoring the inner pointer and creating a shared_ptr to it
|
// -1 restores a new shared ptr by restoring the inner pointer and creating a shared_ptr to it
|
||||||
if (nr == -1)
|
if (nr == -1)
|
||||||
{
|
{
|
||||||
logger->debug("Createing new shared_ptr");
|
logger->debug("Creating new shared_ptr");
|
||||||
T* p = nullptr;
|
T* p = nullptr;
|
||||||
bool neededDowncast;
|
bool neededDowncast;
|
||||||
(*this) & neededDowncast & p;
|
(*this) & neededDowncast & p;
|
||||||
|
@ -605,7 +605,7 @@ namespace ngcore
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// to be cleand up ...
|
// to be cleaned up ...
|
||||||
Array<char *> strs;
|
Array<char *> strs;
|
||||||
|
|
||||||
posbrack++;
|
posbrack++;
|
||||||
|
@ -500,7 +500,7 @@ namespace ngcore
|
|||||||
for (int i = 0; i < table[bnr].Size(); i++)
|
for (int i = 0; i < table[bnr].Size(); i++)
|
||||||
if (table[bnr][i].first == ind)
|
if (table[bnr][i].first == ind)
|
||||||
return i;
|
return i;
|
||||||
throw Exception ("Ask for unsused hash-value");
|
throw Exception ("Ask for unused hash-value");
|
||||||
}
|
}
|
||||||
|
|
||||||
T & operator[] (T_HASH ahash)
|
T & operator[] (T_HASH ahash)
|
||||||
|
@ -141,7 +141,7 @@ namespace ngcore
|
|||||||
|
|
||||||
NETGEN_INLINE double operator[] (int i) const { return ((double*)(&data))[i]; }
|
NETGEN_INLINE double operator[] (int i) const { return ((double*)(&data))[i]; }
|
||||||
NETGEN_INLINE double & operator[] (int i) { return ((double*)(&data))[i]; }
|
NETGEN_INLINE double & operator[] (int i) { return ((double*)(&data))[i]; }
|
||||||
// [[deprecated("don't write to individual elments of SIMD")]]
|
// [[deprecated("don't write to individual elements of SIMD")]]
|
||||||
// NETGEN_INLINE double & operator[] (int i) { return ((double*)(&data))[i]; }
|
// NETGEN_INLINE double & operator[] (int i) { return ((double*)(&data))[i]; }
|
||||||
template <int I>
|
template <int I>
|
||||||
double Get() const { return ((double*)(&data))[I]; }
|
double Get() const { return ((double*)(&data))[I]; }
|
||||||
|
@ -13,7 +13,7 @@ namespace netgen
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
||||||
2D Curve repesentation
|
2D Curve representation
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -180,7 +180,7 @@ namespace netgen
|
|||||||
|
|
||||||
pi1 = 0;
|
pi1 = 0;
|
||||||
copyedge = 0;
|
copyedge = 0;
|
||||||
// identifyable point available ?
|
// identifiable point available ?
|
||||||
|
|
||||||
|
|
||||||
for (int i = 0; i < geometry.identifications.Size() && !pi1; i++)
|
for (int i = 0; i < geometry.identifications.Size() && !pi1; i++)
|
||||||
@ -191,8 +191,8 @@ namespace netgen
|
|||||||
<< ", v = " << specpoints[startpoints[j]].v
|
<< ", v = " << specpoints[startpoints[j]].v
|
||||||
<< " for copying (i,j = " << i << ", " << j << ")" << endl;
|
<< " for copying (i,j = " << i << ", " << j << ")" << endl;
|
||||||
#endif
|
#endif
|
||||||
if (geometry.identifications[i]->IdentifyableCandidate (specpoints[startpoints[j]]) &&
|
if (geometry.identifications[i]->IdentifiableCandidate (specpoints[startpoints[j]]) &&
|
||||||
geometry.identifications[i]->IdentifyableCandidate (specpoints[endpoints[j]]))
|
geometry.identifications[i]->IdentifiableCandidate (specpoints[endpoints[j]]))
|
||||||
|
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -201,7 +201,7 @@ namespace netgen
|
|||||||
|
|
||||||
for (int k = 0; k < hsp.Size() && !pi1; k++)
|
for (int k = 0; k < hsp.Size() && !pi1; k++)
|
||||||
{
|
{
|
||||||
//(*testout) << " ? identifyable with " << specpoints[hsp[k]].p
|
//(*testout) << " ? identifiable with " << specpoints[hsp[k]].p
|
||||||
//<< ", v = " << specpoints[hsp[k]].v
|
//<< ", v = " << specpoints[hsp[k]].v
|
||||||
// << endl;
|
// << endl;
|
||||||
if (identification_used.Used (INDEX_2(i, startpoints[j])) ||
|
if (identification_used.Used (INDEX_2(i, startpoints[j])) ||
|
||||||
@ -212,12 +212,12 @@ namespace netgen
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (geometry.identifications[i]
|
if (geometry.identifications[i]
|
||||||
->Identifyable(specpoints[startpoints[j]], specpoints[hsp[k]], specpoint2tlo, specpoint2surface) ||
|
->Identifiable(specpoints[startpoints[j]], specpoints[hsp[k]], specpoint2tlo, specpoint2surface) ||
|
||||||
geometry.identifications[i]
|
geometry.identifications[i]
|
||||||
->Identifyable(specpoints[hsp[k]], specpoints[startpoints[j]], specpoint2tlo, specpoint2surface))
|
->Identifiable(specpoints[hsp[k]], specpoints[startpoints[j]], specpoint2tlo, specpoint2surface))
|
||||||
{
|
{
|
||||||
#ifdef DEVELOP
|
#ifdef DEVELOP
|
||||||
(*testout) << "identifyable: " << specpoints[hsp[k]].p << ", v = " << specpoints[hsp[k]].v
|
(*testout) << "identifiable: " << specpoints[hsp[k]].p << ", v = " << specpoints[hsp[k]].v
|
||||||
<< " and " << specpoints[startpoints[j]].p << ", v = " << specpoints[startpoints[j]].v
|
<< " and " << specpoints[startpoints[j]].p << ", v = " << specpoints[startpoints[j]].v
|
||||||
<< " (identification " << i+1 << ")" << endl;
|
<< " (identification " << i+1 << ")" << endl;
|
||||||
#endif
|
#endif
|
||||||
@ -245,7 +245,7 @@ namespace netgen
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// cannot copy from other ege ?
|
// cannot copy from other edge ?
|
||||||
if (!pi1)
|
if (!pi1)
|
||||||
checkedcopy = startpoints.Size();
|
checkedcopy = startpoints.Size();
|
||||||
|
|
||||||
@ -1680,9 +1680,9 @@ namespace netgen
|
|||||||
(*geometry.identifications.Get(copyedgeidentification));
|
(*geometry.identifications.Get(copyedgeidentification));
|
||||||
|
|
||||||
|
|
||||||
if (csi.Identifyable (mesh[frompi], mesh[topi]))
|
if (csi.Identifiable (mesh[frompi], mesh[topi]))
|
||||||
mesh.GetIdentifications().Add(frompi, topi, copyedgeidentification);
|
mesh.GetIdentifications().Add(frompi, topi, copyedgeidentification);
|
||||||
else if (csi.Identifyable (mesh[topi], mesh[frompi]))
|
else if (csi.Identifiable (mesh[topi], mesh[frompi]))
|
||||||
mesh.GetIdentifications().Add(topi, frompi, copyedgeidentification);
|
mesh.GetIdentifications().Add(topi, frompi, copyedgeidentification);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -13,7 +13,7 @@ namespace netgen
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
||||||
Explicit 2D Curve repesentation
|
Explicit 2D Curve representation
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -36,24 +36,24 @@ void Identification :: IdentifySpecialPoints (NgArray<class SpecialPoint> & poin
|
|||||||
|
|
||||||
|
|
||||||
int Identification ::
|
int Identification ::
|
||||||
Identifyable (const SpecialPoint & sp1, const SpecialPoint & sp2,
|
Identifiable (const SpecialPoint & sp1, const SpecialPoint & sp2,
|
||||||
const TABLE<int> & specpoint2solid,
|
const TABLE<int> & specpoint2solid,
|
||||||
const TABLE<int> & specpoint2surface) const
|
const TABLE<int> & specpoint2surface) const
|
||||||
{
|
{
|
||||||
cout << "Identification::Identifyable called for base-class" << endl;
|
cout << "Identification::Identifiable called for base-class" << endl;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int Identification ::
|
int Identification ::
|
||||||
Identifyable (const Point<3> & p1, const Point<3> & sp2) const
|
Identifiable (const Point<3> & p1, const Point<3> & sp2) const
|
||||||
{
|
{
|
||||||
cout << "Identification::Identifyable called for base-class" << endl;
|
cout << "Identification::Identifiable called for base-class" << endl;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int Identification ::
|
int Identification ::
|
||||||
IdentifyableCandidate (const SpecialPoint & sp1) const
|
IdentifiableCandidate (const SpecialPoint & sp1) const
|
||||||
{
|
{
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@ -196,7 +196,7 @@ void PeriodicIdentification :: IdentifySpecialPoints
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
int PeriodicIdentification ::
|
int PeriodicIdentification ::
|
||||||
Identifyable (const SpecialPoint & sp1, const SpecialPoint & sp2,
|
Identifiable (const SpecialPoint & sp1, const SpecialPoint & sp2,
|
||||||
const TABLE<int> & specpoint2solid,
|
const TABLE<int> & specpoint2solid,
|
||||||
const TABLE<int> & specpoint2surface) const
|
const TABLE<int> & specpoint2surface) const
|
||||||
{
|
{
|
||||||
@ -252,7 +252,7 @@ Identifyable (const SpecialPoint & sp1, const SpecialPoint & sp2,
|
|||||||
}
|
}
|
||||||
|
|
||||||
int PeriodicIdentification ::
|
int PeriodicIdentification ::
|
||||||
Identifyable (const Point<3> & p1, const Point<3> & p2) const
|
Identifiable (const Point<3> & p1, const Point<3> & p2) const
|
||||||
{
|
{
|
||||||
return (s1->PointOnSurface (p1) &&
|
return (s1->PointOnSurface (p1) &&
|
||||||
s2->PointOnSurface (p2));
|
s2->PointOnSurface (p2));
|
||||||
@ -672,7 +672,7 @@ void CloseSurfaceIdentification :: IdentifySpecialPoints
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
int CloseSurfaceIdentification ::
|
int CloseSurfaceIdentification ::
|
||||||
Identifyable (const SpecialPoint & sp1, const SpecialPoint & sp2,
|
Identifiable (const SpecialPoint & sp1, const SpecialPoint & sp2,
|
||||||
const TABLE<int> & specpoint2solid,
|
const TABLE<int> & specpoint2solid,
|
||||||
const TABLE<int> & specpoint2surface) const
|
const TABLE<int> & specpoint2surface) const
|
||||||
{
|
{
|
||||||
@ -830,7 +830,7 @@ Identifyable (const SpecialPoint & sp1, const SpecialPoint & sp2,
|
|||||||
}
|
}
|
||||||
|
|
||||||
int CloseSurfaceIdentification ::
|
int CloseSurfaceIdentification ::
|
||||||
Identifyable (const Point<3> & p1, const Point<3> & p2) const
|
Identifiable (const Point<3> & p1, const Point<3> & p2) const
|
||||||
{
|
{
|
||||||
// if (domain)
|
// if (domain)
|
||||||
// if (!domain->GetSolid()->IsIn (p1) || !domain->GetSolid()->IsIn (p2))
|
// if (!domain->GetSolid()->IsIn (p1) || !domain->GetSolid()->IsIn (p2))
|
||||||
@ -842,7 +842,7 @@ Identifyable (const Point<3> & p1, const Point<3> & p2) const
|
|||||||
|
|
||||||
|
|
||||||
int CloseSurfaceIdentification ::
|
int CloseSurfaceIdentification ::
|
||||||
IdentifyableCandidate (const SpecialPoint & sp1) const
|
IdentifiableCandidate (const SpecialPoint & sp1) const
|
||||||
{
|
{
|
||||||
if (domain)
|
if (domain)
|
||||||
if (!domain->GetSolid()->IsIn (sp1.p))
|
if (!domain->GetSolid()->IsIn (sp1.p))
|
||||||
@ -1544,7 +1544,7 @@ void CloseEdgesIdentification :: IdentifySpecialPoints
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
int CloseEdgesIdentification ::
|
int CloseEdgesIdentification ::
|
||||||
Identifyable (const SpecialPoint & sp1, const SpecialPoint & sp2,
|
Identifiable (const SpecialPoint & sp1, const SpecialPoint & sp2,
|
||||||
const TABLE<int> & specpoint2solid,
|
const TABLE<int> & specpoint2solid,
|
||||||
const TABLE<int> & specpoint2surface) const
|
const TABLE<int> & specpoint2surface) const
|
||||||
{
|
{
|
||||||
|
@ -38,13 +38,13 @@ namespace netgen
|
|||||||
|
|
||||||
/// can identify both special points (fixed direction)
|
/// can identify both special points (fixed direction)
|
||||||
/// (identified points, same tangent)
|
/// (identified points, same tangent)
|
||||||
virtual int Identifyable (const SpecialPoint & sp1, const SpecialPoint & sp2,
|
virtual int Identifiable (const SpecialPoint & sp1, const SpecialPoint & sp2,
|
||||||
const TABLE<int> & specpoint2solid,
|
const TABLE<int> & specpoint2solid,
|
||||||
const TABLE<int> & specpoint2surface) const;
|
const TABLE<int> & specpoint2surface) const;
|
||||||
///
|
///
|
||||||
virtual int Identifyable (const Point<3> & p1, const Point<3> & sp2) const;
|
virtual int Identifiable (const Point<3> & p1, const Point<3> & sp2) const;
|
||||||
/// is it possible to identify sp1 with some other ?
|
/// is it possible to identify sp1 with some other ?
|
||||||
virtual int IdentifyableCandidate (const SpecialPoint & sp1) const;
|
virtual int IdentifiableCandidate (const SpecialPoint & sp1) const;
|
||||||
|
|
||||||
/// are points (if connected) by a short edge (direction anyhow) ?
|
/// are points (if connected) by a short edge (direction anyhow) ?
|
||||||
virtual int ShortEdge (const SpecialPoint & sp1, const SpecialPoint & sp2) const;
|
virtual int ShortEdge (const SpecialPoint & sp1, const SpecialPoint & sp2) const;
|
||||||
@ -96,7 +96,7 @@ namespace netgen
|
|||||||
const TABLE<int> & specpoint2solid,
|
const TABLE<int> & specpoint2solid,
|
||||||
const TABLE<int> & specpoint2surface) const override;
|
const TABLE<int> & specpoint2surface) const override;
|
||||||
|
|
||||||
virtual int Identifyable (const Point<3> & p1, const Point<3> & sp2) const override;
|
virtual int Identifiable (const Point<3> & p1, const Point<3> & sp2) const override;
|
||||||
virtual int GetIdentifiedPoint (class Mesh & mesh, int pi1) override;
|
virtual int GetIdentifiedPoint (class Mesh & mesh, int pi1) override;
|
||||||
virtual void IdentifyPoints (class Mesh & mesh) override;
|
virtual void IdentifyPoints (class Mesh & mesh) override;
|
||||||
virtual void IdentifyFaces (class Mesh & mesh) override;
|
virtual void IdentifyFaces (class Mesh & mesh) override;
|
||||||
@ -150,8 +150,8 @@ namespace netgen
|
|||||||
virtual int Identifyable (const SpecialPoint & sp1, const SpecialPoint & sp2,
|
virtual int Identifyable (const SpecialPoint & sp1, const SpecialPoint & sp2,
|
||||||
const TABLE<int> & specpoint2solid,
|
const TABLE<int> & specpoint2solid,
|
||||||
const TABLE<int> & specpoint2surface) const;
|
const TABLE<int> & specpoint2surface) const;
|
||||||
virtual int Identifyable (const Point<3> & p1, const Point<3> & sp2) const;
|
virtual int Identifiable (const Point<3> & p1, const Point<3> & sp2) const;
|
||||||
virtual int IdentifyableCandidate (const SpecialPoint & sp1) const;
|
virtual int IdentifiableCandidate (const SpecialPoint & sp1) const;
|
||||||
virtual int ShortEdge (const SpecialPoint & sp1, const SpecialPoint & sp2) const;
|
virtual int ShortEdge (const SpecialPoint & sp1, const SpecialPoint & sp2) const;
|
||||||
virtual int GetIdentifiedPoint (class Mesh & mesh, int pi1);
|
virtual int GetIdentifiedPoint (class Mesh & mesh, int pi1);
|
||||||
const Array<double> & GetSlices () const { return slices; }
|
const Array<double> & GetSlices () const { return slices; }
|
||||||
|
@ -19,7 +19,7 @@ namespace netgen
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
Singular Face.
|
Singular Face.
|
||||||
Causes a bounday layer mesh refinement.
|
Causes a boundary layer mesh refinement.
|
||||||
All elements in subdomain domnr will get a boundary layer
|
All elements in subdomain domnr will get a boundary layer
|
||||||
on faces sharing the solid sol
|
on faces sharing the solid sol
|
||||||
*/
|
*/
|
||||||
|
@ -86,7 +86,7 @@ namespace netgen
|
|||||||
///
|
///
|
||||||
double size;
|
double size;
|
||||||
///
|
///
|
||||||
double relydegtest; // maximal dimension of bisection intervall for
|
double relydegtest; // maximal dimension of bisection interval for
|
||||||
/// test of degeneration parameters
|
/// test of degeneration parameters
|
||||||
double cpeps1, epeps1, epeps2, epspointdist2;
|
double cpeps1, epeps1, epeps2, epspointdist2;
|
||||||
|
|
||||||
|
@ -258,7 +258,7 @@ Primitive * Primitive :: CreatePrimitive (const char * classname)
|
|||||||
|
|
||||||
|
|
||||||
stringstream ost;
|
stringstream ost;
|
||||||
ost << "Primitve::CreatePrimitive not implemented for " << classname << endl;
|
ost << "Primitive::CreatePrimitive not implemented for " << classname << endl;
|
||||||
throw NgException (ost.str());
|
throw NgException (ost.str());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -266,7 +266,7 @@ Primitive * Primitive :: CreatePrimitive (const char * classname)
|
|||||||
Primitive * Primitive :: Copy () const
|
Primitive * Primitive :: Copy () const
|
||||||
{
|
{
|
||||||
stringstream ost;
|
stringstream ost;
|
||||||
ost << "Primitve::Copy not implemented for " << typeid(*this).name() << endl;
|
ost << "Primitive::Copy not implemented for " << typeid(*this).name() << endl;
|
||||||
throw NgException (ost.str());
|
throw NgException (ost.str());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -274,7 +274,7 @@ Primitive * Primitive :: Copy () const
|
|||||||
void Primitive :: Transform (Transformation<3> & trans)
|
void Primitive :: Transform (Transformation<3> & trans)
|
||||||
{
|
{
|
||||||
stringstream ost;
|
stringstream ost;
|
||||||
ost << "Primitve::Transform not implemented for " << typeid(*this).name() << endl;
|
ost << "Primitive::Transform not implemented for " << typeid(*this).name() << endl;
|
||||||
throw NgException (ost.str());
|
throw NgException (ost.str());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -66,7 +66,7 @@ namespace netgen
|
|||||||
if (!actsize)
|
if (!actsize)
|
||||||
{
|
{
|
||||||
throw Exception ("NgArray should not be empty");
|
throw Exception ("NgArray should not be empty");
|
||||||
// cerr << "NgArray souldn't be empty";
|
// cerr << "NgArray shouldn't be empty";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -232,7 +232,7 @@ public:
|
|||||||
inline void PrintMemInfo (ostream & ost) const
|
inline void PrintMemInfo (ostream & ost) const
|
||||||
{
|
{
|
||||||
int els = AllocatedElements();
|
int els = AllocatedElements();
|
||||||
ost << "table: allocaed " << els
|
ost << "table: allocated " << els
|
||||||
<< " a " << sizeof(T) << " Byts = "
|
<< " a " << sizeof(T) << " Byts = "
|
||||||
<< els * sizeof(T)
|
<< els * sizeof(T)
|
||||||
<< " bytes in " << Size() << " bags."
|
<< " bytes in " << Size() << " bags."
|
||||||
|
@ -307,7 +307,7 @@ IntersectionType IntersectSplineSegment1( const Spline & s, const Point<2> & r0,
|
|||||||
vbeta[0] = 1.0/(2*a_) * (-b_ + sqrt_det);
|
vbeta[0] = 1.0/(2*a_) * (-b_ + sqrt_det);
|
||||||
vbeta[1] = 1.0/(2*a_) * (-b_ - sqrt_det);
|
vbeta[1] = 1.0/(2*a_) * (-b_ - sqrt_det);
|
||||||
}
|
}
|
||||||
else // degenrate quadratic equation
|
else // degenerate quadratic equation
|
||||||
vbeta[0] = vbeta[1] = -c_/b_;
|
vbeta[0] = vbeta[1] = -c_/b_;
|
||||||
|
|
||||||
int dim = fabs(vr[0]) > fabs(vr[1]) ? 0 : 1;
|
int dim = fabs(vr[0]) > fabs(vr[1]) ? 0 : 1;
|
||||||
@ -542,7 +542,7 @@ bool BisectIntersect( Spline p, Spline s, double &t0, double &t1, double &s0, do
|
|||||||
bool left_hull_intersecting = IntersectTrigs( {left.StartPI(), left.TangentPoint(), left.EndPI()}, {curr.StartPI(), curr.TangentPoint(), curr.EndPI()});
|
bool left_hull_intersecting = IntersectTrigs( {left.StartPI(), left.TangentPoint(), left.EndPI()}, {curr.StartPI(), curr.TangentPoint(), curr.EndPI()});
|
||||||
bool right_hull_intersecting = IntersectTrigs( {right.StartPI(), right.TangentPoint(), right.EndPI()}, {curr.StartPI(), curr.TangentPoint(), curr.EndPI()});
|
bool right_hull_intersecting = IntersectTrigs( {right.StartPI(), right.TangentPoint(), right.EndPI()}, {curr.StartPI(), curr.TangentPoint(), curr.EndPI()});
|
||||||
|
|
||||||
// TODO: Additionaly check if one spline intersects with convex hull of other?
|
// TODO: Additionally check if one spline intersects with convex hull of other?
|
||||||
// // Check if one spline intersects with convex hull of spline
|
// // Check if one spline intersects with convex hull of spline
|
||||||
// if(left_hull_intersecting)
|
// if(left_hull_intersecting)
|
||||||
// {
|
// {
|
||||||
@ -936,7 +936,7 @@ RelativePositionType oracle_spline_p(Point<2> q, Point<2> p1, Point<2> p1t, Poin
|
|||||||
}
|
}
|
||||||
|
|
||||||
// (q,p2) is a spline segment, compare with tangent (qt,p2) instead of Segment (q,p2)
|
// (q,p2) is a spline segment, compare with tangent (qt,p2) instead of Segment (q,p2)
|
||||||
// BUT take care if tangent at p2 is collinear with eiter (p1,p2) or (p2,p3) (then use the segment (q,p2) again)
|
// BUT take care if tangent at p2 is collinear with either (p1,p2) or (p2,p3) (then use the segment (q,p2) again)
|
||||||
RelativePositionType oracle_spline_q(Point<2> q, Point<2> qt, Point<2> p1, Point<2> p2, Point<2> p3)
|
RelativePositionType oracle_spline_q(Point<2> q, Point<2> qt, Point<2> p1, Point<2> p2, Point<2> p3)
|
||||||
{
|
{
|
||||||
double s1 = Area( qt, p1, p2);
|
double s1 = Area( qt, p1, p2);
|
||||||
@ -1402,7 +1402,7 @@ void CreateResult(Solid2d & sp, Solid2d & sr, bool UNION)
|
|||||||
//
|
//
|
||||||
// for all crossing vertices
|
// for all crossing vertices
|
||||||
//
|
//
|
||||||
// NOTE: all crossing vertices that are visited while contructing a
|
// NOTE: all crossing vertices that are visited while constructing a
|
||||||
// component of the result polygon are marked as "not intersection",
|
// component of the result polygon are marked as "not intersection",
|
||||||
// so that they cannot serve as start vertex of another component
|
// so that they cannot serve as start vertex of another component
|
||||||
//
|
//
|
||||||
|
@ -73,7 +73,7 @@ extern "C" {
|
|||||||
// number of surface triangles
|
// number of surface triangles
|
||||||
DLL_HEADER int Ng_GetNSE ();
|
DLL_HEADER int Ng_GetNSE ();
|
||||||
|
|
||||||
// Get Point coordintes, index from 1 .. np
|
// Get Point coordinates, index from 1 .. np
|
||||||
DLL_HEADER void Ng_GetPoint (int pi, double * p);
|
DLL_HEADER void Ng_GetPoint (int pi, double * p);
|
||||||
|
|
||||||
// Get Element Points
|
// Get Element Points
|
||||||
|
@ -568,7 +568,7 @@ namespace netgen
|
|||||||
|
|
||||||
if(edge->primary == edge)
|
if(edge->primary == edge)
|
||||||
{
|
{
|
||||||
// check if start and end vertex are identified (if so, we only insert one segement and do z-refinement later)
|
// check if start and end vertex are identified (if so, we only insert one segment and do z-refinement later)
|
||||||
bool is_identified_edge = false;
|
bool is_identified_edge = false;
|
||||||
auto v0 = vertices[edge->GetStartVertex().nr].get();
|
auto v0 = vertices[edge->GetStartVertex().nr].get();
|
||||||
auto v1 = vertices[edge->GetEndVertex().nr].get();
|
auto v1 = vertices[edge->GetEndVertex().nr].get();
|
||||||
@ -909,7 +909,7 @@ namespace netgen
|
|||||||
Array<PointIndex, PointIndex> pmap(mesh.Points().Size());
|
Array<PointIndex, PointIndex> pmap(mesh.Points().Size());
|
||||||
pmap = PointIndex::INVALID;
|
pmap = PointIndex::INVALID;
|
||||||
|
|
||||||
// first map points on edges (mapped points alread in mesh, use search tree)
|
// first map points on edges (mapped points already in mesh, use search tree)
|
||||||
Array<bool, PointIndex> is_point_in_tree(mesh.Points().Size());
|
Array<bool, PointIndex> is_point_in_tree(mesh.Points().Size());
|
||||||
is_point_in_tree = false;
|
is_point_in_tree = false;
|
||||||
PointTree tree( bounding_box );
|
PointTree tree( bounding_box );
|
||||||
|
@ -535,7 +535,7 @@ namespace netgen
|
|||||||
if(mesh[points.Last()].Type() == FIXEDPOINT)
|
if(mesh[points.Last()].Type() == FIXEDPOINT)
|
||||||
break;
|
break;
|
||||||
if(!point_found)
|
if(!point_found)
|
||||||
throw Exception(string("Could not find connected list of line segements for edge ") + edgenr);
|
throw Exception(string("Could not find connected list of line segments for edge ") + edgenr);
|
||||||
}
|
}
|
||||||
|
|
||||||
// tangential part of growth vectors
|
// tangential part of growth vectors
|
||||||
|
@ -848,7 +848,7 @@ namespace netgen
|
|||||||
{
|
{
|
||||||
have_unknown_trigs = true;
|
have_unknown_trigs = true;
|
||||||
|
|
||||||
// any edge of unkown trig already marked?
|
// any edge of unknown trig already marked?
|
||||||
for(auto i : IntRange(3))
|
for(auto i : IntRange(3))
|
||||||
{
|
{
|
||||||
INT<2> edge{el[(i+1)%3], el[(i+2)%3]};
|
INT<2> edge{el[(i+1)%3], el[(i+2)%3]};
|
||||||
|
@ -33,7 +33,7 @@ namespace netgen
|
|||||||
}
|
}
|
||||||
|
|
||||||
HPRefElement :: HPRefElement(Element & el) :
|
HPRefElement :: HPRefElement(Element & el) :
|
||||||
type(HP_NONE), index(el.GetIndex()), levelx(0), levely(0), levelz(0), np(el.GetNV()), domin(-1), domout(-1) //domin,out for segements
|
type(HP_NONE), index(el.GetIndex()), levelx(0), levely(0), levelz(0), np(el.GetNV()), domin(-1), domout(-1) //domin,out for segments
|
||||||
{
|
{
|
||||||
//Reset();
|
//Reset();
|
||||||
for (int i=0; i<np ; i++)
|
for (int i=0; i<np ; i++)
|
||||||
@ -48,7 +48,7 @@ namespace netgen
|
|||||||
|
|
||||||
|
|
||||||
HPRefElement :: HPRefElement(Element2d & el) :
|
HPRefElement :: HPRefElement(Element2d & el) :
|
||||||
type(HP_NONE), index(el.GetIndex()), levelx(0), levely(0), levelz(0), np(el.GetNV()), domin(-1), domout(-1) //domin,out for segements
|
type(HP_NONE), index(el.GetIndex()), levelx(0), levely(0), levelz(0), np(el.GetNV()), domin(-1), domout(-1) //domin,out for segments
|
||||||
{
|
{
|
||||||
//Reset();
|
//Reset();
|
||||||
|
|
||||||
@ -1637,7 +1637,7 @@ bool CheckSingularities(Mesh & mesh, INDEX_2_HASHTABLE<int> & edges, INDEX_2_HAS
|
|||||||
}
|
}
|
||||||
|
|
||||||
// if 2 adjacent edges of an element are singular, the
|
// if 2 adjacent edges of an element are singular, the
|
||||||
// commen point must be a singular point
|
// common point must be a singular point
|
||||||
for (int i = 1; i <= mesh.GetNE(); i++)
|
for (int i = 1; i <= mesh.GetNE(); i++)
|
||||||
{
|
{
|
||||||
const Element & el = mesh.VolumeElement(i);
|
const Element & el = mesh.VolumeElement(i);
|
||||||
|
@ -4606,7 +4606,7 @@ namespace netgen
|
|||||||
if (bface[i] && bface[j])
|
if (bface[i] && bface[j])
|
||||||
if (!segedge[pi3map[i][j]][pi4map[i][j]])
|
if (!segedge[pi3map[i][j]][pi4map[i][j]])
|
||||||
{
|
{
|
||||||
// 2 boundary faces withoud edge in between
|
// 2 boundary faces without edge in between
|
||||||
el.SetLegal (0);
|
el.SetLegal (0);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -61,7 +61,7 @@ namespace netgen
|
|||||||
|
|
||||||
/// faces of rest-solid
|
/// faces of rest-solid
|
||||||
NgArray<Element2d> openelements;
|
NgArray<Element2d> openelements;
|
||||||
/// open segmenets for surface meshing
|
/// open segments for surface meshing
|
||||||
NgArray<Segment> opensegments;
|
NgArray<Segment> opensegments;
|
||||||
|
|
||||||
Array<int> tets_in_qualclass;
|
Array<int> tets_in_qualclass;
|
||||||
@ -132,9 +132,9 @@ namespace netgen
|
|||||||
/// changed after finishing global algorithm (improve, ...)
|
/// changed after finishing global algorithm (improve, ...)
|
||||||
int majortimestamp;
|
int majortimestamp;
|
||||||
|
|
||||||
/// mesh access semaphors.
|
/// mesh access semaphores.
|
||||||
NgMutex mutex;
|
NgMutex mutex;
|
||||||
/// mesh access semaphors.
|
/// mesh access semaphores.
|
||||||
NgMutex majormutex;
|
NgMutex majormutex;
|
||||||
|
|
||||||
SymbolTable< NgArray<int>* > userdata_int;
|
SymbolTable< NgArray<int>* > userdata_int;
|
||||||
|
@ -17,7 +17,7 @@ namespace netgen
|
|||||||
{
|
{
|
||||||
int domain;
|
int domain;
|
||||||
|
|
||||||
// mesh for one domain (contains all adjacent surface elments)
|
// mesh for one domain (contains all adjacent surface elements)
|
||||||
unique_ptr<Mesh> mesh;
|
unique_ptr<Mesh> mesh;
|
||||||
|
|
||||||
// maps from local (domain) mesh to global mesh
|
// maps from local (domain) mesh to global mesh
|
||||||
@ -133,7 +133,7 @@ namespace netgen
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// add segmetns
|
// add segments
|
||||||
for(auto i : Range(ret))
|
for(auto i : Range(ret))
|
||||||
{
|
{
|
||||||
auto & imap = ipmap[i];
|
auto & imap = ipmap[i];
|
||||||
@ -230,7 +230,7 @@ namespace netgen
|
|||||||
pis.insert(map[sel[i]]);
|
pis.insert(map[sel[i]]);
|
||||||
}
|
}
|
||||||
|
|
||||||
// degenerate element (mapped element onto itself, might happend for surface elements connecting two identified faces)
|
// degenerate element (mapped element onto itself, might happen for surface elements connecting two identified faces)
|
||||||
if(pis.size() < 2*np)
|
if(pis.size() < 2*np)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
@ -241,7 +241,7 @@ namespace netgen
|
|||||||
& edgenr & singedge_left & singedge_right
|
& edgenr & singedge_left & singedge_right
|
||||||
& si & cd2i & domin & domout & tlosurf
|
& si & cd2i & domin & domout & tlosurf
|
||||||
& surfnr1 & surfnr2
|
& surfnr1 & surfnr2
|
||||||
& bcname_dummy // keep this for backward compatiblity
|
& bcname_dummy // keep this for backward compatibility
|
||||||
& epgeominfo[0].edgenr & epgeominfo[1].edgenr;
|
& epgeominfo[0].edgenr & epgeominfo[1].edgenr;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1570,7 +1570,7 @@ namespace netgen
|
|||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
cout << "GetNodesLocal not impelemented for element " << GetType() << endl;
|
cout << "GetNodesLocal not implemented for element " << GetType() << endl;
|
||||||
np = 0;
|
np = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1676,7 +1676,7 @@ namespace netgen
|
|||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
cout << "GetNodesLocal not impelemented for element " << GetType() << endl;
|
cout << "GetNodesLocal not implemented for element " << GetType() << endl;
|
||||||
np = 0;
|
np = 0;
|
||||||
pp = NULL;
|
pp = NULL;
|
||||||
}
|
}
|
||||||
|
@ -1030,7 +1030,7 @@ namespace netgen
|
|||||||
|
|
||||||
/// surface decoding index
|
/// surface decoding index
|
||||||
int si;
|
int si;
|
||||||
/// co dim 2 deconding index
|
/// co dim 2 decoding index
|
||||||
int cd2i;
|
int cd2i;
|
||||||
/// domain number inner side
|
/// domain number inner side
|
||||||
int domin;
|
int domin;
|
||||||
|
@ -39,7 +39,7 @@ namespace ngcore
|
|||||||
class SurfPointPackage
|
class SurfPointPackage
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
int num; // point numebr
|
int num; // point number
|
||||||
int trignum; // STL geo info
|
int trignum; // STL geo info
|
||||||
double u, v; // OCC geo info
|
double u, v; // OCC geo info
|
||||||
SurfPointPackage () { ; }
|
SurfPointPackage () { ; }
|
||||||
@ -502,7 +502,7 @@ namespace netgen
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Next, we send the identifications themselfs.
|
Next, we send the identifications themselves.
|
||||||
|
|
||||||
Info about periodic identifications sent to each proc is an array of
|
Info about periodic identifications sent to each proc is an array of
|
||||||
integers.
|
integers.
|
||||||
@ -872,7 +872,7 @@ namespace netgen
|
|||||||
segm_buf.Add (dest, seg.singedge_right);
|
segm_buf.Add (dest, seg.singedge_right);
|
||||||
segm_buf.Add (dest, seg.singedge_left);
|
segm_buf.Add (dest, seg.singedge_left);
|
||||||
});
|
});
|
||||||
// distrubute segment data
|
// distribute segment data
|
||||||
for (int dest = 1; dest < ntasks; dest++)
|
for (int dest = 1; dest < ntasks; dest++)
|
||||||
sendrequests.Append (comm.ISend(segm_buf[dest], dest, MPI_TAG_MESH+5));
|
sendrequests.Append (comm.ISend(segm_buf[dest], dest, MPI_TAG_MESH+5));
|
||||||
|
|
||||||
|
@ -70,8 +70,8 @@ namespace netgen
|
|||||||
else if (name == "parentfaces")
|
else if (name == "parentfaces")
|
||||||
SetBuildParentFaces(set);
|
SetBuildParentFaces(set);
|
||||||
else
|
else
|
||||||
throw Exception ("noting known about table "+name +"\n"
|
throw Exception ("nothing known about table "+name +"\n"
|
||||||
"knwon are 'edges', 'faces', 'parentedges', 'parentfaces'");
|
"known are 'edges', 'faces', 'parentedges', 'parentfaces'");
|
||||||
}
|
}
|
||||||
|
|
||||||
bool MeshTopology :: static_buildedges = true;
|
bool MeshTopology :: static_buildedges = true;
|
||||||
@ -87,8 +87,8 @@ namespace netgen
|
|||||||
else if (name == "vertex2element")
|
else if (name == "vertex2element")
|
||||||
static_buildvertex2element = set;
|
static_buildvertex2element = set;
|
||||||
else
|
else
|
||||||
throw Exception ("noting known about table "+name +"\n"
|
throw Exception ("nothing known about table "+name +"\n"
|
||||||
"knwon are 'edges', 'faces', 'vertex2element'");
|
"known are 'edges', 'faces', 'vertex2element'");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -753,7 +753,7 @@ namespace netgen
|
|||||||
int orient_inner = 0;
|
int orient_inner = 0;
|
||||||
paedge1 = INT<2> (pa0[0], pa0[1]);
|
paedge1 = INT<2> (pa0[0], pa0[1]);
|
||||||
paedge2 = INT<2> (pa1[0], pa1[1]);
|
paedge2 = INT<2> (pa1[0], pa1[1]);
|
||||||
// find common vertex and the thrid pa edge
|
// find common vertex and the third pa edge
|
||||||
if (pa0[0]==pa1[0]){// 00
|
if (pa0[0]==pa1[0]){// 00
|
||||||
//orient1 = 0;
|
//orient1 = 0;
|
||||||
orient2 = 1;
|
orient2 = 1;
|
||||||
|
@ -170,7 +170,7 @@ TopoDS_Vertex Partition_Inter2d::AddVonE(const TopoDS_Vertex& theV,
|
|||||||
//-------------------------------------------------------------
|
//-------------------------------------------------------------
|
||||||
// test if the points of intersection already exist. If not,
|
// test if the points of intersection already exist. If not,
|
||||||
// add as descendants of the edges.
|
// add as descendants of the edges.
|
||||||
// nb: theses points are only vertices of intersection.
|
// nb: these points are only vertices of intersection.
|
||||||
//-------------------------------------------------------------
|
//-------------------------------------------------------------
|
||||||
const TopTools_ListOfShape& VOnE1 = AsDes->Descendant(E1);
|
const TopTools_ListOfShape& VOnE1 = AsDes->Descendant(E1);
|
||||||
const TopTools_ListOfShape& VOnE2 = AsDes->Descendant(E2);
|
const TopTools_ListOfShape& VOnE2 = AsDes->Descendant(E2);
|
||||||
@ -247,7 +247,7 @@ TopoDS_Vertex Partition_Inter2d::AddVonE(const TopoDS_Vertex& theV,
|
|||||||
// if 3 faces intersects each others, 3 new edges on them must pass
|
// if 3 faces intersects each others, 3 new edges on them must pass
|
||||||
// through one vertex but real intersection points of each
|
// through one vertex but real intersection points of each
|
||||||
// pair of edges are sometimes more far than a tolerance.
|
// pair of edges are sometimes more far than a tolerance.
|
||||||
// Try to analitically find vertices that E1 and E2 must pass trough
|
// Try to analytically find vertices that E1 and E2 must pass through
|
||||||
|
|
||||||
TopoDS_Shape F1 = getOtherShape( theF, AsDes->Ascendant( E1 ));
|
TopoDS_Shape F1 = getOtherShape( theF, AsDes->Ascendant( E1 ));
|
||||||
TopoDS_Shape F2 = getOtherShape( theF, AsDes->Ascendant( E2 ));
|
TopoDS_Shape F2 = getOtherShape( theF, AsDes->Ascendant( E2 ));
|
||||||
@ -405,7 +405,7 @@ static void EdgesPartition(const TopoDS_Face& F,
|
|||||||
|
|
||||||
// if E1 and E2 are results of intersection of F and two connex faces then
|
// if E1 and E2 are results of intersection of F and two connex faces then
|
||||||
// no need to intersect edges, they can contact by vertices only
|
// no need to intersect edges, they can contact by vertices only
|
||||||
// (encounted an exception in TopOpeBRep_EdgesIntersector in such a case)
|
// (encountered an exception in TopOpeBRep_EdgesIntersector in such a case)
|
||||||
Standard_Boolean intersect = Standard_True;
|
Standard_Boolean intersect = Standard_True;
|
||||||
TopTools_IndexedMapOfShape ME;
|
TopTools_IndexedMapOfShape ME;
|
||||||
TopExp::MapShapes(F, TopAbs_EDGE, ME);
|
TopExp::MapShapes(F, TopAbs_EDGE, ME);
|
||||||
|
@ -218,7 +218,7 @@ static void PutInBounds (const TopoDS_Face& F,
|
|||||||
const Standard_Real Um = 0.34*f + 0.66*l;
|
const Standard_Real Um = 0.34*f + 0.66*l;
|
||||||
gp_Pnt2d Pm = C2d->Value( Um );
|
gp_Pnt2d Pm = C2d->Value( Um );
|
||||||
|
|
||||||
// sometimes on shpere, pcurve is out of domain by V though S is
|
// sometimes on sphere, pcurve is out of domain by V though S is
|
||||||
// UPeriodic, sometimes it is in domain but nonetheless it has
|
// UPeriodic, sometimes it is in domain but nonetheless it has
|
||||||
// wrong position.
|
// wrong position.
|
||||||
// Check pcurve position by 3D point
|
// Check pcurve position by 3D point
|
||||||
@ -499,7 +499,7 @@ void Partition_Inter3d::Inter3D(const TopoDS_Face& F1,
|
|||||||
|
|
||||||
const TopoDS_Face& F = (ancRank == 1) ? F2 : F1;
|
const TopoDS_Face& F = (ancRank == 1) ? F2 : F1;
|
||||||
|
|
||||||
// add se to face but dont add twice
|
// add se to face but don't add twice
|
||||||
TopTools_ListIteratorOfListOfShape itE( myAsDes->Descendant( F ));
|
TopTools_ListIteratorOfListOfShape itE( myAsDes->Descendant( F ));
|
||||||
if (myAsDes->HasDescendant( F )) {
|
if (myAsDes->HasDescendant( F )) {
|
||||||
for ( ; itE.More(); itE.Next())
|
for ( ; itE.More(); itE.Next())
|
||||||
|
@ -1065,7 +1065,7 @@ void Partition_Spliter::MakeShells(const TopoDS_Shape& S,
|
|||||||
NS = ShellMaker.MakeShells( myAddedFacesMap );
|
NS = ShellMaker.MakeShells( myAddedFacesMap );
|
||||||
|
|
||||||
// Add faces added to new shell to myAddedFacesMap:
|
// Add faces added to new shell to myAddedFacesMap:
|
||||||
// avoid rebuilding twice commont part of 2 solids.
|
// avoid rebuilding twice common part of 2 solids.
|
||||||
TopTools_ListIteratorOfListOfShape itS(NS);
|
TopTools_ListIteratorOfListOfShape itS(NS);
|
||||||
while ( itS.More()) {
|
while ( itS.More()) {
|
||||||
TopExp_Explorer expF (itS.Value(), TopAbs_FACE);
|
TopExp_Explorer expF (itS.Value(), TopAbs_FACE);
|
||||||
@ -1664,7 +1664,7 @@ void Partition_Spliter::MergeEqualEdges (const TopTools_ListOfShape& LSE)
|
|||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : KeepShapesInside
|
//function : KeepShapesInside
|
||||||
//purpose : remove shapes that are outside of S from resul
|
//purpose : remove shapes that are outside of S from result
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
|
|
||||||
void Partition_Spliter::KeepShapesInside (const TopoDS_Shape& S)
|
void Partition_Spliter::KeepShapesInside (const TopoDS_Shape& S)
|
||||||
@ -1735,7 +1735,7 @@ void Partition_Spliter::KeepShapesInside (const TopoDS_Shape& S)
|
|||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : RemoveShapesInside
|
//function : RemoveShapesInside
|
||||||
//purpose : remove shapes that are inside S from resul
|
//purpose : remove shapes that are inside S from result
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
|
|
||||||
void Partition_Spliter::RemoveShapesInside (const TopoDS_Shape& S)
|
void Partition_Spliter::RemoveShapesInside (const TopoDS_Shape& S)
|
||||||
@ -1815,7 +1815,7 @@ void Partition_Spliter::RemoveShapesInside (const TopoDS_Shape& S)
|
|||||||
TopoDS_Shell Shell;
|
TopoDS_Shell Shell;
|
||||||
myBuilder.MakeShell( Shell );
|
myBuilder.MakeShell( Shell );
|
||||||
|
|
||||||
// exclude redundant internal face with edges encounterd only once
|
// exclude redundant internal face with edges encountered only once
|
||||||
TopTools_IndexedDataMapOfShapeListOfShape MEF;
|
TopTools_IndexedDataMapOfShapeListOfShape MEF;
|
||||||
TopTools_MapIteratorOfMapOfShape itF (RFM);
|
TopTools_MapIteratorOfMapOfShape itF (RFM);
|
||||||
for ( ; itF.More(); itF.Next())
|
for ( ; itF.More(); itF.Next())
|
||||||
|
@ -856,7 +856,7 @@ namespace netgen
|
|||||||
cout << "Edges : " << nnre << " (" << nre << ")" << endl;
|
cout << "Edges : " << nnre << " (" << nre << ")" << endl;
|
||||||
cout << "Vertices : " << nnrv << " (" << nrv << ")" << endl;
|
cout << "Vertices : " << nnrv << " (" << nrv << ")" << endl;
|
||||||
cout << endl;
|
cout << endl;
|
||||||
cout << "Totol surface area : " << newsurfacecont << " (" << surfacecont << ")" << endl;
|
cout << "Total surface area : " << newsurfacecont << " (" << surfacecont << ")" << endl;
|
||||||
cout << endl;
|
cout << endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1555,7 +1555,7 @@ namespace netgen
|
|||||||
writer.Write (shape, c_filename);
|
writer.Write (shape, c_filename);
|
||||||
}
|
}
|
||||||
|
|
||||||
throw NgException ("Unkown target format: " + filename);
|
throw NgException ("Unknown target format: " + filename);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OCCGeometry :: SaveToMeshFile (ostream & ost) const
|
void OCCGeometry :: SaveToMeshFile (ostream & ost) const
|
||||||
@ -1587,7 +1587,7 @@ namespace netgen
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
if(format_version>current_format_version)
|
if(format_version>current_format_version)
|
||||||
throw Exception("Loading OCCGeometry from archive: unkown format version "
|
throw Exception("Loading OCCGeometry from archive: unknown format version "
|
||||||
+ ToString(format_version)
|
+ ToString(format_version)
|
||||||
+ ", written by netgen version "
|
+ ", written by netgen version "
|
||||||
+ ToString(netgen_version));
|
+ ToString(netgen_version));
|
||||||
@ -1716,7 +1716,7 @@ namespace netgen
|
|||||||
case TopAbs_VERTEX:
|
case TopAbs_VERTEX:
|
||||||
count2 = vmap.FindIndex(TopoDS::Vertex(e.Current())); break;
|
count2 = vmap.FindIndex(TopoDS::Vertex(e.Current())); break;
|
||||||
default:
|
default:
|
||||||
cout << "RecursiveTopologyTree: Case " << e.Current().ShapeType() << " not handeled" << endl;
|
cout << "RecursiveTopologyTree: Case " << e.Current().ShapeType() << " not handled" << endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
int nrsubshapes = 0;
|
int nrsubshapes = 0;
|
||||||
|
@ -370,7 +370,7 @@ namespace netgen
|
|||||||
double u = gi.u;
|
double u = gi.u;
|
||||||
double v = gi.v;
|
double v = gi.v;
|
||||||
#ifdef OLD
|
#ifdef OLD
|
||||||
// was a problem for pheres: got u-v paramters outside range of definition
|
// was a problem for pheres: got u-v parameters outside range of definition
|
||||||
|
|
||||||
gp_Pnt x = occface->Value (u,v);
|
gp_Pnt x = occface->Value (u,v);
|
||||||
|
|
||||||
|
@ -1286,7 +1286,7 @@ DLL_HEADER void ExportNgOCCShapes(py::module &m)
|
|||||||
double s0, s1;
|
double s0, s1;
|
||||||
auto curve = BRep_Tool::Curve(e, s0, s1);
|
auto curve = BRep_Tool::Curve(e, s0, s1);
|
||||||
return curve->Value(s);
|
return curve->Value(s);
|
||||||
}, py::arg("s"), "evaluate curve for paramters 's'")
|
}, py::arg("s"), "evaluate curve for parameters 's'")
|
||||||
|
|
||||||
.def("Tangent", [](const TopoDS_Edge & e, double s) {
|
.def("Tangent", [](const TopoDS_Edge & e, double s) {
|
||||||
gp_Pnt p; gp_Vec v;
|
gp_Pnt p; gp_Vec v;
|
||||||
|
@ -212,7 +212,7 @@ STLGeometry * STLTopology :: LoadNaomi (istream & ist)
|
|||||||
if (strcmp (buf, "NODES") == 0)
|
if (strcmp (buf, "NODES") == 0)
|
||||||
{
|
{
|
||||||
ist >> novertex;
|
ist >> novertex;
|
||||||
PrintMessage(5,"nuber of vertices = ", novertex);
|
PrintMessage(5,"number of vertices = ", novertex);
|
||||||
for (i = 0; i < novertex; i++)
|
for (i = 0; i < novertex; i++)
|
||||||
{
|
{
|
||||||
ist >> px;
|
ist >> px;
|
||||||
|
@ -111,7 +111,7 @@ namespace netgen
|
|||||||
vssolution.vecfunction = vssolution.fieldlines_vecfunction;
|
vssolution.vecfunction = vssolution.fieldlines_vecfunction;
|
||||||
}
|
}
|
||||||
|
|
||||||
// reset visoptions.scalfunction and visoptions.vecfunction if not avialable
|
// reset visoptions.scalfunction and visoptions.vecfunction if not available
|
||||||
if ( vssolution.scalfunction == -1 && strcmp (scalname, "none") != 0)
|
if ( vssolution.scalfunction == -1 && strcmp (scalname, "none") != 0)
|
||||||
Tcl_SetVar ( interp, "::visoptions.scalfunction", "none", TCL_GLOBAL_ONLY );
|
Tcl_SetVar ( interp, "::visoptions.scalfunction", "none", TCL_GLOBAL_ONLY );
|
||||||
if ( vssolution.vecfunction == -1 && strcmp (vecname, "none") != 0)
|
if ( vssolution.vecfunction == -1 && strcmp (vecname, "none") != 0)
|
||||||
|
@ -214,7 +214,7 @@ namespace netgen
|
|||||||
case SOL_SURFACE_NONCONTINUOUS:
|
case SOL_SURFACE_NONCONTINUOUS:
|
||||||
ost << " -type=surfacenoncontinuous"; break;
|
ost << " -type=surfacenoncontinuous"; break;
|
||||||
default:
|
default:
|
||||||
cerr << "save solution data, case not handeld" << endl;
|
cerr << "save solution data, case not handled" << endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
ost << endl;
|
ost << endl;
|
||||||
@ -2019,7 +2019,7 @@ namespace netgen
|
|||||||
double(iz)/n);
|
double(iz)/n);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
cerr << "case not implementd 878234" << endl;
|
cerr << "case not implemented 878234" << endl;
|
||||||
ploc = 0.0;
|
ploc = 0.0;
|
||||||
}
|
}
|
||||||
if (compress[ii] != -1)
|
if (compress[ii] != -1)
|
||||||
@ -2889,7 +2889,7 @@ namespace netgen
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
cerr << "case not implementd 23523" << endl;
|
cerr << "case not implemented 23523" << endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i < np; i++)
|
for (int i = 0; i < np; i++)
|
||||||
@ -3408,7 +3408,7 @@ namespace netgen
|
|||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
cerr << "case not implementd 6565" << endl;
|
cerr << "case not implemented 6565" << endl;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -3575,7 +3575,7 @@ namespace netgen
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
cerr << "case not implementd 2342" << endl;
|
cerr << "case not implemented 2342" << endl;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -3844,7 +3844,7 @@ namespace netgen
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
cerr << "case not implented 3234" << endl;
|
cerr << "case not implemented 3234" << endl;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@ interface, witch means that the same binary works with any stubs-aware
|
|||||||
wish (i.e. version >= 8.1)
|
wish (i.e. version >= 8.1)
|
||||||
|
|
||||||
It has been tested on Windows NT/2000 and Linux for several Tcl/Tk versions up
|
It has been tested on Windows NT/2000 and Linux for several Tcl/Tk versions up
|
||||||
to 8.4a3. I haven't been able to test the Mac port, it propably needs mending
|
to 8.4a3. I haven't been able to test the Mac port, it probably needs mending
|
||||||
but I can't see why it shouldn't work in principle.
|
but I can't see why it shouldn't work in principle.
|
||||||
|
|
||||||
Implementation wise, what differs from Togl 1.5 is that Togl_MakeWindowExist()
|
Implementation wise, what differs from Togl 1.5 is that Togl_MakeWindowExist()
|
||||||
@ -16,6 +16,6 @@ same binary runs on all versions of Wish from 8.1 and up. For this to
|
|||||||
work you need to compile against the headers from Tcl/Tk 8.4a3 or later, or
|
work you need to compile against the headers from Tcl/Tk 8.4a3 or later, or
|
||||||
the binary will only work for Tcl/Tk 8.1-8.4a2.
|
the binary will only work for Tcl/Tk 8.1-8.4a2.
|
||||||
The tk8.4a3 public headers (tk8.4a3.h + tkDecls.h) are included for
|
The tk8.4a3 public headers (tk8.4a3.h + tkDecls.h) are included for
|
||||||
conveniance, and they are used if the flag -DUSE_LOCAL_TK_H is specified.
|
convenience, and they are used if the flag -DUSE_LOCAL_TK_H is specified.
|
||||||
|
|
||||||
Jonas Beskow, December 2001
|
Jonas Beskow, December 2001
|
@ -844,7 +844,7 @@ make -C Togl install
|
|||||||
<dt><code><var>pathName</var> swapbuffers</code>
|
<dt><code><var>pathName</var> swapbuffers</code>
|
||||||
<dd>
|
<dd>
|
||||||
Causes front/back buffers to be swapped if in double buffer mode.
|
Causes front/back buffers to be swapped if in double buffer mode.
|
||||||
And flushs the OpenGL command buffer if in single buffer mode.
|
And flushes the OpenGL command buffer if in single buffer mode.
|
||||||
(So this is appropriate to call after every frame is drawn.)
|
(So this is appropriate to call after every frame is drawn.)
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
@ -900,7 +900,7 @@ make -C Togl install
|
|||||||
type <code>make demos</code>.
|
type <code>make demos</code>.
|
||||||
The demos are compiled into shared libraries,
|
The demos are compiled into shared libraries,
|
||||||
that can are loaded into the Tcl interpreter as Tcl/Tk-extensions.
|
that can are loaded into the Tcl interpreter as Tcl/Tk-extensions.
|
||||||
Demos are started by running the corrsponding Tcl script.
|
Demos are started by running the corresponding Tcl script.
|
||||||
To run a demo just type <code>./double.tcl </code>or <code>./texture.tcl</code> etc.
|
To run a demo just type <code>./double.tcl </code>or <code>./texture.tcl</code> etc.
|
||||||
|
|
||||||
|
|
||||||
|
@ -67,7 +67,7 @@ File hierarchy:
|
|||||||
*.html Start with index.html
|
*.html Start with index.html
|
||||||
|
|
||||||
The contents of the include and lib directories can be placed verbatim
|
The contents of the include and lib directories can be placed verbatim
|
||||||
in the Tcl installataion hierarchy.
|
in the Tcl installation hierarchy.
|
||||||
|
|
||||||
Documentation is in the doc directory. Start with doc/index.html in
|
Documentation is in the doc directory. Start with doc/index.html in
|
||||||
your web browser.
|
your web browser.
|
||||||
|
@ -4,7 +4,7 @@ interface, witch means that the same binary works with any stubs-aware
|
|||||||
wish (i.e. version >= 8.1)
|
wish (i.e. version >= 8.1)
|
||||||
|
|
||||||
It has been tested on Windows NT/2000 and Linux for several Tcl/Tk versions up
|
It has been tested on Windows NT/2000 and Linux for several Tcl/Tk versions up
|
||||||
to 8.4a3. I haven't been able to test the Mac port, it propably needs mending
|
to 8.4a3. I haven't been able to test the Mac port, it probably needs mending
|
||||||
but I can't see why it shouldn't work in principle.
|
but I can't see why it shouldn't work in principle.
|
||||||
|
|
||||||
Implementation wise, what differs from Togl 1.5 is that Togl_MakeWindowExist()
|
Implementation wise, what differs from Togl 1.5 is that Togl_MakeWindowExist()
|
||||||
@ -16,6 +16,6 @@ same binary runs on all versions of Wish from 8.1 and up. For this to
|
|||||||
work you need to compile against the headers from Tcl/Tk 8.4a3 or later, or
|
work you need to compile against the headers from Tcl/Tk 8.4a3 or later, or
|
||||||
the binary will only work for Tcl/Tk 8.1-8.4a2.
|
the binary will only work for Tcl/Tk 8.1-8.4a2.
|
||||||
The tk8.4a3 public headers (tk8.4a3.h + tkDecls.h) are included for
|
The tk8.4a3 public headers (tk8.4a3.h + tkDecls.h) are included for
|
||||||
conveniance, and they are used if the flag -DUSE_LOCAL_TK_H is specified.
|
convenience, and they are used if the flag -DUSE_LOCAL_TK_H is specified.
|
||||||
|
|
||||||
Jonas Beskow, December 2001
|
Jonas Beskow, December 2001
|
@ -55,7 +55,7 @@
|
|||||||
should be replaced with the Togl
|
should be replaced with the Togl
|
||||||
<a href="tclapi.html#stereo cmds">Tcl</a> or
|
<a href="tclapi.html#stereo cmds">Tcl</a> or
|
||||||
<a href="capi.html#stereo">C</a> versions
|
<a href="capi.html#stereo">C</a> versions
|
||||||
for seemless stereo rendering.
|
for seamless stereo rendering.
|
||||||
<p>
|
<p>
|
||||||
The various stereo modes are:
|
The various stereo modes are:
|
||||||
<dl>
|
<dl>
|
||||||
|
@ -136,7 +136,7 @@ if {[lsearch [<i>pathName</i> extensions] GL_EXT_bgra] != -1]} {
|
|||||||
<dt><code><var>pathName</var> swapbuffers</code>
|
<dt><code><var>pathName</var> swapbuffers</code>
|
||||||
<dd>
|
<dd>
|
||||||
Causes front/back buffers to be swapped if in double buffer mode.
|
Causes front/back buffers to be swapped if in double buffer mode.
|
||||||
And flushs the OpenGL command buffer if in single buffer mode.
|
And flushes the OpenGL command buffer if in single buffer mode.
|
||||||
(So this is appropriate to call after every frame is drawn.)
|
(So this is appropriate to call after every frame is drawn.)
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
|
@ -95,7 +95,7 @@
|
|||||||
in the Togl source directory.
|
in the Togl source directory.
|
||||||
The C packages are compiled into shared libraries
|
The C packages are compiled into shared libraries
|
||||||
that are loaded into the Tcl interpreter as Tcl/Tk-extensions.
|
that are loaded into the Tcl interpreter as Tcl/Tk-extensions.
|
||||||
The examples are started by running the corrsponding Tcl script:
|
The examples are started by running the corresponding Tcl script:
|
||||||
just type <code>./double.tcl</code>
|
just type <code>./double.tcl</code>
|
||||||
(or <code>./texture.tcl</code> <i>etc.</i>)
|
(or <code>./texture.tcl</code> <i>etc.</i>)
|
||||||
or run under one of the Tcl interpreters, <i>i.e.</i>,
|
or run under one of the Tcl interpreters, <i>i.e.</i>,
|
||||||
|
@ -5112,7 +5112,7 @@ static int ObjectIsEmpty(Tcl_Obj *objPtr);
|
|||||||
*
|
*
|
||||||
* GetStereo -
|
* GetStereo -
|
||||||
*
|
*
|
||||||
* Converts an internal int into a a Tcl string obj.
|
* Converts an internal int into a Tcl string obj.
|
||||||
*
|
*
|
||||||
* Results:
|
* Results:
|
||||||
* Tcl_Obj containing the string representation of the stereo value.
|
* Tcl_Obj containing the string representation of the stereo value.
|
||||||
@ -5282,7 +5282,7 @@ RestoreStereo(ClientData clientData, Tk_Window tkwin, char *internalPtr,
|
|||||||
*
|
*
|
||||||
* GetWideInt -
|
* GetWideInt -
|
||||||
*
|
*
|
||||||
* Converts an internal wide integer into a a Tcl WideInt obj.
|
* Converts an internal wide integer into a Tcl WideInt obj.
|
||||||
*
|
*
|
||||||
* Results:
|
* Results:
|
||||||
* Tcl_Obj containing the wide int value.
|
* Tcl_Obj containing the wide int value.
|
||||||
|
@ -222,7 +222,7 @@ proc editprimitivedialog2 { name } {
|
|||||||
|
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# Select primitve to edit
|
# Select primitive to edit
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
|
||||||
|
@ -676,7 +676,7 @@ proc meshingoptionsdialog { } {
|
|||||||
|
|
||||||
ttk::checkbutton $f.cb1.slowchecks -text "Slow checks" \
|
ttk::checkbutton $f.cb1.slowchecks -text "Slow checks" \
|
||||||
-variable debug.slowchecks -command { Ng_SetDebugParameters }
|
-variable debug.slowchecks -command { Ng_SetDebugParameters }
|
||||||
ttk::checkbutton $f.cb1.debugoutput -text "Debugging outout" \
|
ttk::checkbutton $f.cb1.debugoutput -text "Debugging output" \
|
||||||
-variable debug.debugoutput -command { Ng_SetDebugParameters }
|
-variable debug.debugoutput -command { Ng_SetDebugParameters }
|
||||||
ttk::checkbutton $f.cb1.haltexline -text "Halt on existing line" \
|
ttk::checkbutton $f.cb1.haltexline -text "Halt on existing line" \
|
||||||
-variable debug.haltexistingline -command { Ng_SetDebugParameters }
|
-variable debug.haltexistingline -command { Ng_SetDebugParameters }
|
||||||
|
@ -190,7 +190,7 @@ proc AddRecentMeshFile { filename } {
|
|||||||
}
|
}
|
||||||
loadmeshinifile;
|
loadmeshinifile;
|
||||||
|
|
||||||
# astrid ende
|
# astrid end
|
||||||
|
|
||||||
|
|
||||||
.ngmenu.file add command -label "Save Mesh..." -accelerator "<s><m>" \
|
.ngmenu.file add command -label "Save Mesh..." -accelerator "<s><m>" \
|
||||||
|
@ -1852,7 +1852,7 @@ DLL_HEADER const char * ngscript[] = {""
|
|||||||
,"pack $f.cb1 -fill x -pady 15\n"
|
,"pack $f.cb1 -fill x -pady 15\n"
|
||||||
,"ttk::checkbutton $f.cb1.slowchecks -text \"Slow checks\" \\\n"
|
,"ttk::checkbutton $f.cb1.slowchecks -text \"Slow checks\" \\\n"
|
||||||
,"-variable debug.slowchecks -command { Ng_SetDebugParameters }\n"
|
,"-variable debug.slowchecks -command { Ng_SetDebugParameters }\n"
|
||||||
,"ttk::checkbutton $f.cb1.debugoutput -text \"Debugging outout\" \\\n"
|
,"ttk::checkbutton $f.cb1.debugoutput -text \"Debugging output\" \\\n"
|
||||||
,"-variable debug.debugoutput -command { Ng_SetDebugParameters }\n"
|
,"-variable debug.debugoutput -command { Ng_SetDebugParameters }\n"
|
||||||
,"ttk::checkbutton $f.cb1.haltexline -text \"Halt on existing line\" \\\n"
|
,"ttk::checkbutton $f.cb1.haltexline -text \"Halt on existing line\" \\\n"
|
||||||
,"-variable debug.haltexistingline -command { Ng_SetDebugParameters }\n"
|
,"-variable debug.haltexistingline -command { Ng_SetDebugParameters }\n"
|
||||||
|
@ -113,10 +113,10 @@ int main (int argc, char ** argv)
|
|||||||
Ng_SaveMesh(mesh,"test.vol");
|
Ng_SaveMesh(mesh,"test.vol");
|
||||||
|
|
||||||
|
|
||||||
// refinement without geomety adaption:
|
// refinement without geometry adaption:
|
||||||
// Ng_Uniform_Refinement (mesh);
|
// Ng_Uniform_Refinement (mesh);
|
||||||
|
|
||||||
// refinement with geomety adaption:
|
// refinement with geometry adaption:
|
||||||
Ng_STL_Uniform_Refinement (stl_geom, mesh);
|
Ng_STL_Uniform_Refinement (stl_geom, mesh);
|
||||||
|
|
||||||
cout << "elements after refinement: " << Ng_GetNE(mesh) << endl;
|
cout << "elements after refinement: " << Ng_GetNE(mesh) << endl;
|
||||||
|
@ -16,9 +16,9 @@ m2 = geo2.GenerateMesh (maxh=0.05)
|
|||||||
m2.Refine()
|
m2.Refine()
|
||||||
m2.Refine()
|
m2.Refine()
|
||||||
|
|
||||||
print ("***************************")
|
print ("****************************")
|
||||||
print ("** merging suface meshes **")
|
print ("** merging surface meshes **")
|
||||||
print ("***************************")
|
print ("****************************")
|
||||||
|
|
||||||
# create an empty mesh
|
# create an empty mesh
|
||||||
mesh = Mesh()
|
mesh = Mesh()
|
||||||
|
@ -11,7 +11,7 @@ solid cube = plane (0, 0, 0; 0, 0, -1)
|
|||||||
and plane (1, 1, 1; 0, 1, 0)
|
and plane (1, 1, 1; 0, 1, 0)
|
||||||
and plane (1, 1, 1; 1, 0, 0);
|
and plane (1, 1, 1; 1, 0, 0);
|
||||||
|
|
||||||
# two shperes
|
# two spheres
|
||||||
solid sph1 = sphere (0.5, 0.5, 0.5; 0.58);
|
solid sph1 = sphere (0.5, 0.5, 0.5; 0.58);
|
||||||
solid sph2 = sphere (0.5, 0.5, 0.5; 0.75);
|
solid sph2 = sphere (0.5, 0.5, 0.5; 0.75);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user