Merge branch 'molecularDynamics' of ssh://graham@hunt//home/noisy2/OpenFOAM/OpenFOAM-dev into molecularDynamics

This commit is contained in:
graham
2008-07-24 14:09:23 +01:00
80 changed files with 0 additions and 76876 deletions

View File

@ -1,84 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Typedefs
CGALTriangulation2Ddefs
Description
CGAL data structures used for 2D Delaunay meshing.
Define CGAL_INEXACT to use Exact_predicates_inexact_constructions kernel
otherwise the more robust but much less efficient
Exact_predicates_exact_constructions will be used.
Define CGAL_HIERARCHY to use hierarchical Delaunay triangulation which is
faster but uses more memory than the standard Delaunay triangulation.
\*---------------------------------------------------------------------------*/
#ifndef CGALTriangulation2Ddefs_H
#define CGALTriangulation2Ddefs_H
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "CGAL/Delaunay_triangulation_2.h"
#include "indexedVertex.H"
#include "indexedFace.H"
#ifdef CGAL_INEXACT
// Fast kernel using a double as the storage type but the triangulation
// may fail
#include "CGAL/Exact_predicates_inexact_constructions_kernel.h"
typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
#else
// Very robust but expensive kernel
#include "CGAL/Exact_predicates_exact_constructions_kernel.h"
typedef CGAL::Exact_predicates_exact_constructions_kernel K;
#endif
typedef CGAL::indexedVertex<K> Vb;
typedef CGAL::indexedFace<K> Fb;
#ifdef CGAL_HIERARCHY
// Data structures for hierarchical Delaunay triangulation which is more
// efficient but also uses more storage
#include "CGAL/Triangulation_hierarchy_2.h"
typedef CGAL::Triangulation_hierarchy_vertex_base_2<Vb> Vbh;
typedef CGAL::Triangulation_data_structure_2<Vbh, Fb> Tds;
typedef CGAL::Delaunay_triangulation_2<K, Tds> Triangulation;
typedef CGAL::Triangulation_hierarchy_2<Triangulation> HTriangulation;
#else
// Data structures for standard Delaunay triangulation
typedef CGAL::Triangulation_data_structure_2<Vb, Fb> Tds;
typedef CGAL::Delaunay_triangulation_2<K, Tds> Triangulation;
typedef Triangulation HTriangulation;
#endif
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -1,567 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*----------------------------------------------------------------------------*/
#include "CV2D.H"
#include "Random.H"
#include "transform.H"
#include "IFstream.H"
#include "uint.H"
#include "ulong.H"
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
void Foam::CV2D::insertBoundingBox()
{
Info<< "insertBoundingBox: creating bounding mesh" << endl;
scalar bigSpan = 10*tols_.span;
insertPoint(point2D(-bigSpan, -bigSpan), Vb::FAR_POINT);
insertPoint(point2D(-bigSpan, bigSpan), Vb::FAR_POINT);
insertPoint(point2D(bigSpan, -bigSpan), Vb::FAR_POINT);
insertPoint(point2D(bigSpan, bigSpan), Vb::FAR_POINT);
}
void Foam::CV2D::fast_restore_Delaunay(Vertex_handle vh)
{
int i;
Face_handle f = vh->face(), next, start(f);
do
{
i=f->index(vh);
if (!is_infinite(f))
{
if (!internal_flip(f, cw(i))) external_flip(f, i);
if (f->neighbor(i) == start) start = f;
}
f = f->neighbor(cw(i));
} while (f != start);
}
void Foam::CV2D::external_flip(Face_handle& f, int i)
{
Face_handle n = f->neighbor(i);
if
(
CGAL::ON_POSITIVE_SIDE
!= side_of_oriented_circle(n, f->vertex(i)->point())
) return;
flip(f, i);
i = n->index(f->vertex(i));
external_flip(n, i);
}
bool Foam::CV2D::internal_flip(Face_handle& f, int i)
{
Face_handle n = f->neighbor(i);
if
(
CGAL::ON_POSITIVE_SIDE
!= side_of_oriented_circle(n, f->vertex(i)->point())
)
{
return false;
}
flip(f, i);
return true;
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::CV2D::CV2D
(
const dictionary& controlDict,
const querySurface& qSurf
)
:
HTriangulation(),
qSurf_(qSurf),
controls_(controlDict),
tols_(controlDict, controls_.minCellSize, qSurf.bb()),
z_((1.0/3.0)*(qSurf_.bb().min().z() + qSurf_.bb().max().z())),
startOfInternalPoints_(0),
startOfSurfacePointPairs_(0),
startOfBoundaryConformPointPairs_(0)
{
insertBoundingBox();
insertFeaturePoints();
}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::CV2D::~CV2D()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
void Foam::CV2D::insertPoints
(
const point2DField& points,
const scalar nearness
)
{
Info<< "insertInitialPoints(const point2DField& points): ";
startOfInternalPoints_ = number_of_vertices();
label nVert = startOfInternalPoints_;
// Add the points and index them
forAll(points, i)
{
const point2D& p = points[i];
if (qSurf_.wellInside(toPoint3D(p), nearness))
{
insert(toPoint(p))->index() = nVert++;
}
else
{
Warning
<< "Rejecting point " << p << " outside surface" << endl;
}
}
Info<< nVert << " vertices inserted" << endl;
if (controls_.writeInitialTriangulation)
{
// Checking validity of triangulation
assert(is_valid());
writeTriangles("initial_triangles.obj", true);
writeFaces("initial_faces.obj", true);
}
}
void Foam::CV2D::insertPoints(const fileName& pointFileName)
{
IFstream pointsFile(pointFileName);
if (pointsFile.good())
{
insertPoints(point2DField(pointsFile), 0.5*controls_.minCellSize2);
}
else
{
FatalErrorIn("insertInitialPoints")
<< "Could not open pointsFile " << pointFileName
<< exit(FatalError);
}
}
void Foam::CV2D::insertGrid()
{
Info<< "insertInitialGrid: ";
startOfInternalPoints_ = number_of_vertices();
label nVert = startOfInternalPoints_;
scalar x0 = qSurf_.bb().min().x();
scalar xR = qSurf_.bb().max().x() - x0;
int ni = int(xR/controls_.minCellSize) + 1;
scalar deltax = xR/ni;
scalar y0 = qSurf_.bb().min().y();
scalar yR = qSurf_.bb().max().y() - y0;
int nj = int(yR/controls_.minCellSize) + 1;
scalar deltay = yR/nj;
Random rndGen(1321);
scalar pert = controls_.randomPurturbation*min(deltax, deltay);
for (int i=0; i<ni; i++)
{
for (int j=0; j<nj; j++)
{
point p(x0 + i*deltax, y0 + j*deltay, 0);
if (controls_.randomiseInitialGrid)
{
p.x() += pert*(rndGen.scalar01() - 0.5);
p.y() += pert*(rndGen.scalar01() - 0.5);
}
if (qSurf_.wellInside(p, 0.5*controls_.minCellSize2))
{
insert(Point(p.x(), p.y()))->index() = nVert++;
}
}
}
Info<< nVert << " vertices inserted" << endl;
if (controls_.writeInitialTriangulation)
{
// Checking validity of triangulation
assert(is_valid());
writeTriangles("initial_triangles.obj", true);
writeFaces("initial_faces.obj", true);
}
}
void Foam::CV2D::insertSurfacePointPairs()
{
startOfSurfacePointPairs_ = number_of_vertices();
if (controls_.insertSurfaceNearestPointPairs)
{
insertSurfaceNearestPointPairs();
}
if (controls_.writeNearestTriangulation)
{
writeFaces("near_allFaces.obj", false);
writeFaces("near_faces.obj", true);
writeTriangles("near_triangles.obj", true);
}
// Insertion of point-pais for near-points may cause protrusions
// so insertBoundaryConformPointPairs must be executed last
if (controls_.insertSurfaceNearPointPairs)
{
insertSurfaceNearPointPairs();
}
startOfBoundaryConformPointPairs_ = number_of_vertices();
}
void Foam::CV2D::boundaryConform()
{
if (!controls_.insertSurfaceNearestPointPairs)
{
markNearBoundaryPoints();
}
// Mark all the faces as SAVE_CHANGED
for
(
Triangulation::Finite_faces_iterator fit = finite_faces_begin();
fit != finite_faces_end();
fit++
)
{
fit->faceIndex() = Fb::SAVE_CHANGED;
}
for (label iter=1; iter<=controls_.maxBoundaryConformingIter; iter++)
{
label nIntersections = insertBoundaryConformPointPairs
(
"surfaceIntersections_" + Foam::name(iter) + ".obj"
);
if (nIntersections == 0)
{
break;
}
else
{
Info<< "BC iteration " << iter << ": "
<< nIntersections << " point-pairs inserted" << endl;
}
// Any faces changed by insertBoundaryConformPointPairs will now
// be marked CHANGED, mark those as SAVE_CHANGED and those that
// remained SAVE_CHANGED as UNCHANGED
for
(
Triangulation::Finite_faces_iterator fit = finite_faces_begin();
fit != finite_faces_end();
fit++
)
{
if (fit->faceIndex() == Fb::SAVE_CHANGED)
{
fit->faceIndex() = Fb::UNCHANGED;
}
else if (fit->faceIndex() == Fb::CHANGED)
{
fit->faceIndex() = Fb::SAVE_CHANGED;
}
}
}
Info<< nl;
}
void Foam::CV2D::removeSurfacePointPairs()
{
for
(
Triangulation::Finite_vertices_iterator vit = finite_vertices_begin();
vit != finite_vertices_end();
++vit
)
{
if (vit->index() >= startOfSurfacePointPairs_)
{
remove(vit);
}
}
}
void Foam::CV2D::newPoints(const scalar relaxation)
{
Info<< "newPointsFromVertices: ";
const vectorField& faceNormals = qSurf_.faceNormals();
// Initialise the total displacement and its distance for writing out
vector2D totalDisp = vector2D::zero;
scalar totalDist = 0;
for
(
Triangulation::Finite_vertices_iterator vit = finite_vertices_begin();
vit != finite_vertices_end();
++vit
)
{
if (vit->internalPoint())
{
// Current dual-cell defining vertex ("centre")
point2DFromPoint defVert0 = toPoint2D(vit->point());
Triangulation::Edge_circulator ec = incident_edges(vit);
Triangulation::Edge_circulator ecStart = ec;
// Circulate around the edges to find the first which is not
// infinite
do
{
if (!is_infinite(ec)) break;
} while (++ec != ecStart);
// Store the start-end of the first non-infinte edge
point2D de0 = toPoint2D(circumcenter(ec->first));
// Keep track of the maximum edge length^2
scalar maxEdgeLen2 = 0.0;
// Keep track of the index of the longest edge
label edgecd0i = -1;
// Edge counter
label edgei = 0;
do
{
if (!is_infinite(ec))
{
// Get the end of the current edge
point2D de1 = toPoint2D
(
circumcenter(ec->first->neighbor(ec->second))
);
// Store the current edge vector
edges[edgei] = de1 - de0;
// Store the edge mid-point in the vertices array
vertices[edgei] = 0.5*(de1 + de0);
// Move the current edge end into the edge start for the
// next iteration
de0 = de1;
// Keep track of the longest edge
scalar edgeLen2 = magSqr(edges[edgei]);
if (edgeLen2 > maxEdgeLen2)
{
maxEdgeLen2 = edgeLen2;
edgecd0i = edgei;
}
edgei++;
}
} while (++ec != ecStart);
// Initialise cd0 such that the mesh will align
// in in the x-y directions
vector2D cd0(1, 0);
if (controls_.relaxOrientation)
{
// Get the longest edge from the array and use as the primary
// direction of the coordinate system of the "square" cell
cd0 = edges[edgecd0i];
}
if (controls_.nearWallAlignedDist > 0)
{
pointIndexHit pHit = qSurf_.tree().findNearest
(
toPoint3D(defVert0),
controls_.nearWallAlignedDist2
);
if (pHit.hit())
{
cd0 = toPoint2D(faceNormals[pHit.index()]);
}
}
// Rotate by 45deg needed to create an averaging procedure which
// encourages the cells to be square
cd0 = vector2D(cd0.x() + cd0.y(), cd0.y() - cd0.x());
// Normalise the primary coordinate direction
cd0 /= mag(cd0);
// Calculate the orthogonal coordinate direction
vector2D cd1(-cd0.y(), cd0.x());
// Restart the circulator
ec = ecStart;
// ... and the counter
edgei = 0;
// Initialise the displacement for the centre and sum-weights
vector2D disp = vector2D::zero;
scalar sumw = 0;
do
{
if (!is_infinite(ec))
{
// Pick up the current edge
const vector2D& ei = edges[edgei];
// Calculate the centre to edge-centre vector
vector2D deltai = vertices[edgei] - defVert0;
// Set the weight for this edge contribution
scalar w = 1;
if (controls_.squares)
{
w = magSqr(deltai.x()*ei.y() - deltai.y()*ei.x());
// alternative weights
//w = mag(deltai.x()*ei.y() - deltai.y()*ei.x());
//w = magSqr(ei)*mag(deltai);
// Use the following for an ~square mesh
// Find the coordinate contributions for this edge delta
scalar cd0deltai = cd0 & deltai;
scalar cd1deltai = cd1 & deltai;
// Create a "square" displacement
if (mag(cd0deltai) > mag(cd1deltai))
{
disp += (w*cd0deltai)*cd0;
}
else
{
disp += (w*cd1deltai)*cd1;
}
}
else
{
// Use this for a hexagon/pentagon mesh
disp += w*deltai;
}
// Sum the weights
sumw += w;
}
else
{
FatalErrorIn("CV2D::newPoints() const")
<< "Infinite triangle found in internal mesh"
<< exit(FatalError);
}
edgei++;
} while (++ec != ecStart);
// Calculate the average displacement
disp /= sumw;
totalDisp += disp;
totalDist += mag(disp);
// Move the point by a fraction of the average displacement
movePoint(vit, defVert0 + relaxation*disp);
}
}
Info << "\nTotal displacement = " << totalDisp
<< " total distance = " << totalDist << endl;
}
void Foam::CV2D::moveInternalPoints(const point2DField& newPoints)
{
label pointI = 0;
for
(
Triangulation::Finite_vertices_iterator vit = finite_vertices_begin();
vit != finite_vertices_end();
++vit
)
{
if (vit->internalPoint())
{
movePoint(vit, newPoints[pointI++]);
}
}
}
void Foam::CV2D::write() const
{
if (controls_.writeFinalTriangulation)
{
writeFaces("allFaces.obj", false);
writeFaces("faces.obj", true);
writeTriangles("allTriangles.obj", false);
writeTriangles("triangles.obj", true);
writePatch("patch.pch");
}
}
// ************************************************************************* //

View File

@ -1,514 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
CV2D
Description
Conformal-Voronoi 2D automatic mesher with grid or read initial points
and point position relaxation with optional "squarification".
There are a substantial number of options to this mesher read from
CV2DMesherDict file e.g.:
// Min cell size used in tolerances when inserting points for
// boundary conforming.
// Also used to as the grid spacing usind in insertGrid.
minCellSize 0.05;
// Feature angle used to inser feature points
// 0 = all features, 180 = no features
featureAngle 45;
// Maximum quadrant angle allowed at a concave corner before
// additional "mitering" lines are added
maxQuadAngle 110;
// Should the mesh be square-dominated or of unbiased hexagons
squares yes;
// Near-wall region where cells are aligned with the wall specified as a
// number of cell layers
nearWallAlignedDist 3;
// Chose if the cell orientation should relax during the iterations
// or remain fixed to the x-y directions
relaxOrientation no;
// Insert near-boundary point mirror or point-pairs
insertSurfaceNearestPointPairs yes;
// Mirror near-boundary points rather than insert point-pairs
mirrorPoints no;
// Insert point-pairs vor dual-cell vertices very near the surface
insertSurfaceNearPointPairs yes;
// Choose if to randomise the initial grid created by insertGrid.
randomiseInitialGrid yes;
// Perturbation fraction, 1 = cell-size.
randomPurturbation 0.1;
// Number of relaxation iterations.
nIterations 5;
// Relaxation factor at the start of the iteration sequence.
// 0.5 is a sensible maximum and < 0.2 converges better.
relaxationFactorStart 0.8;
// Relaxation factor at the end of the iteration sequence.
// Should be <= relaxationFactorStart
relaxationFactorEnd 0;
writeInitialTriangulation no;
writeFeatureTriangulation no;
writeNearestTriangulation no;
writeInsertedPointPairs no;
writeFinalTriangulation yes;
// Maximum number of iterations used in boundaryConform.
maxBoundaryConformingIter 5;
minEdgeLenCoeff 0.5;
maxNotchLenCoeff 0.3;
minNearPointDistCoeff 0.25;
ppDistCoeff 0.05;
SourceFiles
CGALTriangulation2Ddefs.H
indexedVertex.H
indexedFace.H
CV2DI.H
CV2D.C
CV2DIO.C
tolerances.C
controls.C
insertFeaturePoints.C
insertSurfaceNearestPointPairs.C
insertSurfaceNearPointPairs.C
insertBoundaryConformPointPairs.C
\*---------------------------------------------------------------------------*/
#ifndef CV2D_H
#define CV2D_H
#define CGAL_INEXACT
#define CGAL_HIERARCHY
#include "CGALTriangulation2Ddefs.H"
#include "querySurface.H"
#include "point2DFieldFwd.H"
#include "dictionary.H"
#include "Switch.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
/*---------------------------------------------------------------------------*\
Class CV2D Declaration
\*---------------------------------------------------------------------------*/
class CV2D
:
public HTriangulation
{
public:
class controls
{
public:
//- Minimum cell size below which protusions through the surface are
// not split
scalar minCellSize;
//- Square of minCellSize
scalar minCellSize2;
//- The feature angle used to select corners to be
// explicitly represented in the mesh.
// 0 = all features, 180 = no features
scalar featAngle;
//- Maximum quadrant angle allowed at a concave corner before
// additional "mitering" lines are added
scalar maxQuadAngle;
//- Should the mesh be square-dominated or of unbiased hexagons
Switch squares;
//- Near-wall region where cells are aligned with the wall
scalar nearWallAlignedDist;
//- Square of nearWallAlignedDist
scalar nearWallAlignedDist2;
//- Chose if the cell orientation should relax during the iterations
// or remain fixed to the x-y directions
Switch relaxOrientation;
//- Insert near-boundary point mirror or point-pairs
Switch insertSurfaceNearestPointPairs;
//- Mirror near-boundary points rather than insert point-pairs
Switch mirrorPoints;
//- Insert point-pairs vor dual-cell vertices very near the surface
Switch insertSurfaceNearPointPairs;
Switch writeInitialTriangulation;
Switch writeFeatureTriangulation;
Switch writeNearestTriangulation;
Switch writeInsertedPointPairs;
Switch writeFinalTriangulation;
Switch randomiseInitialGrid;
scalar randomPurturbation;
label maxBoundaryConformingIter;
//- Relaxation factor at the start of the iteration
scalar relaxationFactorStart;
//- Relaxation factor at the end of the iteration
scalar relaxationFactorEnd;
controls(const dictionary& controlDict);
};
class tolerances
{
public:
//- Maximum cartesian span of the geometry
scalar span;
//- Square of span
scalar span2;
//- Minumum edge-length of the cell size below which protusions
// through the surface are not split
scalar minEdgeLen;
//- Square of minEdgeLen
scalar minEdgeLen2;
//- Maximum notch size below which protusions into the surface are
// not filled
scalar maxNotchLen;
//- Square of maxNotchLen
scalar maxNotchLen2;
//- The minimum distance alowed between a dual-cell vertex
// and the surface before a point-pair is introduced
scalar minNearPointDist;
//- Square of minNearPoint
scalar minNearPointDist2;
//- Distance between boundary conforming point-pairs
scalar ppDist;
//- Square of ppDist
scalar ppDist2;
tolerances
(
const dictionary& controlDict,
scalar minCellSize,
const boundBox&
);
};
private:
// Private data
//- The surface to mesh
const querySurface& qSurf_;
//- Meshing controls
controls controls_;
//- Meshing tolerances
tolerances tols_;
//- z-level
scalar z_;
//- Keep track of the start of the internal points
label startOfInternalPoints_;
//- Keep track of the start of the surface point-pairs
label startOfSurfacePointPairs_;
//- Keep track of the boundary conform point-pairs
// stored after the insertion of the surface point-pairs in case
// the boundary conform function is called more than once without
// removing and insertin the surface point-pairs
label startOfBoundaryConformPointPairs_;
//- Temporary storage for a dual-cell
static const label maxNvert = 20;
mutable point2D vertices[maxNvert+1];
mutable vector2D edges[maxNvert+1];
// Private Member Functions
//- Disallow default bitwise copy construct
CV2D(const CV2D&);
//- Disallow default bitwise assignment
void operator=(const CV2D&);
//- Insert point and return it's index
inline label insertPoint
(
const point2D& pt,
const label type
);
inline bool insertMirrorPoint
(
const point2D& nearSurfPt,
const point2D& surfPt
);
//- Insert a point-pair at a distance ppDist either side of
// surface point point surfPt in the direction n
inline void insertPointPair
(
const scalar mirrorDist,
const point2D& surfPt,
const vector2D& n
);
//- Create the initial mesh from the bounding-box
void insertBoundingBox();
//- Insert point groups at the feature points.
void insertFeaturePoints();
//- Insert point-pairs at the given set of points using the surface
// normals corresponding to the given set of surface triangles
// and write the inserted point locations to the given file.
void insertPointPairs
(
const DynamicList<point2D>& nearSurfacePoints,
const DynamicList<point2D>& surfacePoints,
const DynamicList<label>& surfaceTris,
const fileName fName
);
//- Check to see if dual cell specified by given vertex iterator
// intersects the boundary and hence reqires a point-pair.
bool dualCellSurfaceIntersection
(
const Triangulation::Finite_vertices_iterator& vit
) const;
//- Insert point-pairs at the nearest points on the surface to the
// control vertex of dual-cells which intersect the boundary in order
// to provide a boundary-layer mesh.
// NB: This is not guaranteed to close the boundary
void insertSurfaceNearestPointPairs();
//- Insert point-pairs at small duak-cell edges on the surface in order
// to improve the boundary-layer mesh generated by
// insertSurfaceNearestPointPairs.
void insertSurfaceNearPointPairs();
//- Insert point-pair and correcting the Finite_vertices_iterator
// to account for the additional vertices
void insertPointPair
(
Triangulation::Finite_vertices_iterator& vit,
const point2D& p,
const label trii
);
//- Insert point-pair at the best intersection point between the lines
// from the dual-cell real centroid and it's vertices and the surface.
bool insertPointPairAtIntersection
(
Triangulation::Finite_vertices_iterator& vit,
const point2D& defVert,
const point2D vertices[],
const scalar maxProtSize
);
//- Insert point-pairs corresponding to dual-cells which intersect
// the boundary surface
label insertBoundaryConformPointPairs(const fileName& fName);
void markNearBoundaryPoints();
//- Restore the Delaunay contraint
void fast_restore_Delaunay(Vertex_handle vh);
// Flip operations used by fast_restore_Delaunay
void external_flip(Face_handle& f, int i);
bool internal_flip(Face_handle& f, int i);
public:
// Constructors
//- Construct for given surface
CV2D(const dictionary& controlDict, const querySurface& qSurf);
// Destructor
~CV2D();
// Member Functions
// Access
const controls& meshingControls() const
{
return controls_;
}
// Conversion functions between point2D, point and Point
inline const point2D& toPoint2D(const point&) const;
inline point toPoint3D(const point2D&) const;
# ifdef CGAL_INEXACT
typedef const point2D& point2DFromPoint;
typedef const Point& PointFromPoint2D;
# else
typedef point2D point2DFromPoint;
typedef Point PointFromPoint2D;
# endif
inline point2DFromPoint toPoint2D(const Point&) const;
inline PointFromPoint2D toPoint(const point2D&) const;
inline point toPoint3D(const Point&) const;
// Point insertion
//- Create the initial mesh from the given internal points.
// Points must be inside the boundary by at least nearness
// otherwise they are ignored.
void insertPoints
(
const point2DField& points,
const scalar nearness
);
//- Create the initial mesh from the internal points in the given
// file. Points outside the geometry are ignored.
void insertPoints(const fileName& pointFileName);
//- Create the initial mesh as a regular grid of points.
// Points outside the geometry are ignored.
void insertGrid();
//- Insert all surface point-pairs from
// insertSurfaceNearestPointPairs and
// findIntersectionForOutsideCentroid
void insertSurfacePointPairs();
//- Insert point-pairs where there are protrusions into
// or out of the surface
void boundaryConform();
// Point removal
//- Remove the point-pairs introduced by insertSurfacePointPairs
// and boundaryConform
void removeSurfacePointPairs();
// Point motion
inline void movePoint(const Vertex_handle& vh, const point2D& p);
//- Move the internal points to the given new locations and update
// the triangulation to ensure it is Delaunay
void moveInternalPoints(const point2DField& newPoints);
//- Calculate the displacements to create the new points
void newPoints(const scalar relaxation);
// Write
//- Write internal points to .obj file
void writePoints(const fileName& fName, bool internalOnly) const;
//- Write triangles as .obj file
void writeTriangles(const fileName& fName, bool internalOnly) const;
//- Write dual faces as .obj file
void writeFaces(const fileName& fName, bool internalOnly) const;
//- Calculates dual points (circumcentres of tets) and faces
// (point-cell walk of tets). Returns
// - dualPoints (in triangle ordering)
// - dualFaces (compacted)
void calcDual(point2DField& dualPoints, faceList& dualFaces) const;
//- Write patch
void writePatch(const fileName& fName) const;
void write() const;
};
inline bool boundaryTriangle(const CV2D::Face_handle fc);
inline bool outsideTriangle(const CV2D::Face_handle fc);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "CV2DI.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -1,169 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
inline Foam::label Foam::CV2D::insertPoint
(
const point2D& p,
const label type
)
{
uint nVert = number_of_vertices();
Vertex_handle vh = insert(toPoint(p));
if (nVert == number_of_vertices())
{
WarningIn("Foam::CV2D::insertPoint")
<< "Failed to insert point " << p << endl;
}
else
{
vh->index() = nVert;
vh->type() = type;
}
return vh->index();
}
inline bool Foam::CV2D::insertMirrorPoint
(
const point2D& nearSurfPt,
const point2D& surfPt
)
{
point2D mirrorPoint(2*surfPt - nearSurfPt);
if (qSurf_.outside(toPoint3D(mirrorPoint)))
{
insertPoint(mirrorPoint, Vb::MIRROR_POINT);
return true;
}
else
{
return false;
}
}
inline void Foam::CV2D::insertPointPair
(
const scalar ppDist,
const point2D& surfPt,
const vector2D& n
)
{
vector2D ppDistn = ppDist*n;
label master = insertPoint
(
surfPt - ppDistn,
number_of_vertices() + 1
);
insertPoint(surfPt + ppDistn, master);
}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
inline const Foam::point2D& Foam::CV2D::toPoint2D(const point& p) const
{
return reinterpret_cast<const point2D&>(p);
}
inline Foam::point Foam::CV2D::toPoint3D(const point2D& p) const
{
return point(p.x(), p.y(), z_);
}
#ifdef CGAL_INEXACT
inline Foam::CV2D::point2DFromPoint Foam::CV2D::toPoint2D(const Point& P) const
{
return reinterpret_cast<point2DFromPoint>(P);
}
inline Foam::CV2D::PointFromPoint2D Foam::CV2D::toPoint(const point2D& p) const
{
return reinterpret_cast<PointFromPoint2D>(p);
}
#else
inline Foam::CV2D::point2DFromPoint Foam::CV2D::toPoint2D(const Point& P) const
{
return point2D(CGAL::to_double(P.x()), CGAL::to_double(P.y()));
}
inline Foam::CV2D::PointFromPoint2D Foam::CV2D::toPoint(const point2D& p) const
{
return Point(p.x(), p.y());
}
#endif
inline Foam::point Foam::CV2D::toPoint3D(const Point& P) const
{
return point(CGAL::to_double(P.x()), CGAL::to_double(P.y()), z_);
}
inline void Foam::CV2D::movePoint(const Vertex_handle& vh, const point2D& p)
{
vh->set_point(toPoint(p));
fast_restore_Delaunay(vh);
}
// * * * * * * * * * * * * * * * Friend Functions * * * * * * * * * * * * * //
inline bool Foam::boundaryTriangle(const CV2D::Face_handle fc)
{
return boundaryTriangle
(
*fc->vertex(0),
*fc->vertex(1),
*fc->vertex(2)
);
}
inline bool Foam::outsideTriangle(const CV2D::Face_handle fc)
{
return outsideTriangle
(
*fc->vertex(0),
*fc->vertex(1),
*fc->vertex(2)
);
}
// ************************************************************************* //

View File

@ -1,285 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#include "CV2D.H"
#include "OFstream.H"
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
void Foam::CV2D::writePoints(const fileName& fName, bool internalOnly) const
{
Info<< "Writing points to " << fName << nl << endl;
OFstream str(fName);
for
(
Triangulation::Finite_vertices_iterator vit = finite_vertices_begin();
vit != finite_vertices_end();
++vit
)
{
if (!internalOnly || vit->internalOrBoundaryPoint())
{
meshTools::writeOBJ(str, toPoint3D(vit->point()));
}
}
}
void Foam::CV2D::writeTriangles(const fileName& fName, bool internalOnly) const
{
Info<< "Writing triangles to " << fName << nl << endl;
OFstream str(fName);
labelList vertexMap(number_of_vertices());
label verti = 0;
for
(
Triangulation::Finite_vertices_iterator vit = finite_vertices_begin();
vit != finite_vertices_end();
++vit
)
{
if (!internalOnly || !vit->farPoint())
{
vertexMap[vit->index()] = verti++;
meshTools::writeOBJ(str, toPoint3D(vit->point()));
}
}
for
(
Triangulation::Finite_faces_iterator fit = finite_faces_begin();
fit != finite_faces_end();
++fit
)
{
if
(
!internalOnly
|| (
fit->vertex(0)->internalOrBoundaryPoint()
|| fit->vertex(1)->internalOrBoundaryPoint()
|| fit->vertex(2)->internalOrBoundaryPoint()
)
)
{
str << "f " << vertexMap[fit->vertex(0)->index()] + 1
<< ' ' << vertexMap[fit->vertex(1)->index()] + 1
<< ' ' << vertexMap[fit->vertex(2)->index()] + 1
<< nl;
}
}
}
void Foam::CV2D::writeFaces(const fileName& fName, bool internalOnly) const
{
Info<< "Writing dual faces to " << fName << nl << endl;
OFstream str(fName);
label dualVerti = 0;
for
(
Triangulation::Finite_faces_iterator fit = finite_faces_begin();
fit != finite_faces_end();
++fit
)
{
if
(
!internalOnly
|| (
fit->vertex(0)->internalOrBoundaryPoint()
|| fit->vertex(1)->internalOrBoundaryPoint()
|| fit->vertex(2)->internalOrBoundaryPoint()
)
)
{
fit->faceIndex() = dualVerti++;
meshTools::writeOBJ(str, toPoint3D(circumcenter(fit)));
}
else
{
fit->faceIndex() = -1;
}
}
for
(
Triangulation::Finite_vertices_iterator vit = finite_vertices_begin();
vit != finite_vertices_end();
++vit
)
{
if (!internalOnly || vit->internalOrBoundaryPoint())
{
Face_circulator fcStart = incident_faces(vit);
Face_circulator fc = fcStart;
str<< 'f';
do
{
if (!is_infinite(fc))
{
if (fc->faceIndex() < 0)
{
FatalErrorIn
(
"Foam::CV2D::writeFaces"
"(const fileName& fName, bool internalOnly)"
)<< "Dual face uses vertex defined by a triangle"
" defined by an external point"
<< exit(FatalError);
}
str<< ' ' << fc->faceIndex() + 1;
}
} while (++fc != fcStart);
str<< nl;
}
}
}
void Foam::CV2D::calcDual(point2DField& dualPoints, faceList& dualFaces) const
{
// Dual points stored in triangle order.
dualPoints.setSize(number_of_faces());
label dualVerti = 0;
for
(
Triangulation::Finite_faces_iterator fit = finite_faces_begin();
fit != finite_faces_end();
++fit
)
{
if
(
fit->vertex(0)->internalOrBoundaryPoint()
|| fit->vertex(1)->internalOrBoundaryPoint()
|| fit->vertex(2)->internalOrBoundaryPoint()
)
{
fit->faceIndex() = dualVerti;
dualPoints[dualVerti++] = toPoint2D(circumcenter(fit));
}
else
{
fit->faceIndex() = -1;
}
}
dualPoints.setSize(dualVerti);
// Create dual faces
// ~~~~~~~~~~~~~~~~~
dualFaces.setSize(number_of_vertices());
label dualFacei = 0;
labelList faceVerts(maxNvert);
for
(
Triangulation::Finite_vertices_iterator vit = finite_vertices_begin();
vit != finite_vertices_end();
++vit
)
{
if (vit->internalOrBoundaryPoint())
{
Face_circulator fcStart = incident_faces(vit);
Face_circulator fc = fcStart;
label verti = 0;
do
{
if (!is_infinite(fc))
{
if (fc->faceIndex() < 0)
{
FatalErrorIn
(
"Foam::CV2D::calcDual"
"(point2DField& dualPoints, faceList& dualFaces)"
)<< "Dual face uses vertex defined by a triangle"
" defined by an external point"
<< exit(FatalError);
}
// Look up the index of the triangle
faceVerts[verti++] = fc->faceIndex();
}
} while (++fc != fcStart);
if (faceVerts.size() > 2)
{
dualFaces[dualFacei++] =
face(labelList::subList(faceVerts, verti));
}
else
{
Info<< "From triangle point:" << vit->index()
<< " coord:" << toPoint2D(vit->point())
<< " generated illegal dualFace:" << faceVerts
<< endl;
}
}
}
dualFaces.setSize(dualFacei);
}
void Foam::CV2D::writePatch(const fileName& fName) const
{
point2DField dual2DPoints;
faceList dualFaces;
calcDual(dual2DPoints, dualFaces);
pointField dualPoints(dual2DPoints.size());
forAll(dualPoints, ip)
{
dualPoints[ip] = toPoint3D(dual2DPoints[ip]);
}
// Dump as primitive patch to be read by extrudeMesh.
OFstream str(fName);
Info<< "Writing patch to be used with extrudeMesh to file " << fName
<< endl;
str << dualPoints << nl << dualFaces << nl;
}
// ************************************************************************* //

View File

@ -1,116 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Application
CV2DMesher
Description
Conformal-Voronoi 2D automatic mesher with grid or read initial points
and point position relaxation with optional "squarification".
\*---------------------------------------------------------------------------*/
#include "CV2D.H"
#include "argList.H"
#include "IFstream.H"
using namespace Foam;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// Main program:
int main(int argc, char *argv[])
{
argList::noParallel();
argList::validArgs.clear();
argList::validArgs.append("surface");
argList::validOptions.insert("pointsFile", "<filename>");
argList args(argc, argv);
// Read control dictionary
// ~~~~~~~~~~~~~~~~~~~~~~~
dictionary controlDict(IFstream(args.executable() + "Dict")());
label nIterations(readLabel(controlDict.lookup("nIterations")));
// Read the surface to conform to
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
querySurface surf(args.args()[1]);
surf.writeTreeOBJ();
Info<< nl
<< "Read surface with " << surf.size() << " triangles from file "
<< args.args()[1] << nl << endl;
// Read and triangulation
// ~~~~~~~~~~~~~~~~~~~~~~
CV2D mesh(controlDict, surf);
if (args.options().found("pointsFile"))
{
fileName pointFileName(IStringStream(args.options()["pointsFile"])());
mesh.insertPoints(pointFileName);
mesh.insertSurfacePointPairs();
mesh.boundaryConform();
}
else
{
mesh.insertGrid();
mesh.insertSurfacePointPairs();
mesh.boundaryConform();
}
for (int iter=1; iter<=nIterations; iter++)
{
Info<< nl
<< "Relaxation iteration " << iter << nl
<< "~~~~~~~~~~~~~~~~~~~~~~~~" << endl;
scalar relax =
mesh.meshingControls().relaxationFactorStart
+
(
mesh.meshingControls().relaxationFactorEnd
- mesh.meshingControls().relaxationFactorStart
)
*scalar(iter)/scalar(nIterations);
mesh.newPoints(relax);
mesh.removeSurfacePointPairs();
mesh.insertSurfacePointPairs();
mesh.boundaryConform();
}
mesh.write();
Info<< nl << "End\n" << endl;
return 0;
}
// ************************************************************************* //

View File

@ -1,14 +0,0 @@
#include CGAL_FILES
querySurface.C
CV2D.C
controls.C
tolerances.C
insertFeaturePoints.C
insertSurfaceNearestPointPairs.C
insertSurfaceNearPointPairs.C
insertBoundaryConformPointPairs.C
CV2DIO.C
CV2DMesher.C
EXE = $(FOAM_APPBIN)/CV2DMesher

View File

@ -1,16 +0,0 @@
EXE_DEBUG = -DFULLDEBUG -g -O0
//EXE_DEBUG =
include $(GENERAL_RULES)/CGAL
FFLAGS = -DCGAL_FILES='"${CGAL_PATH}/CGAL/files"'
EXE_INC = \
${EXE_DEBUG} \
${CGAL_INC} \
-I$(LIB_SRC)/meshTools/lnInclude \
-I$(LIB_SRC)/triSurface/lnInclude
EXE_LIBS = \
-lmeshTools \
-ltriSurface

View File

@ -1,76 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*----------------------------------------------------------------------------*/
#include "CV2D.H"
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::CV2D::controls::controls(const dictionary& controlDict)
:
minCellSize(readScalar(controlDict.lookup("minCellSize"))),
minCellSize2(Foam::sqr(minCellSize)),
featAngle(readScalar(controlDict.lookup("featureAngle"))),
maxQuadAngle(readScalar(controlDict.lookup("maxQuadAngle"))),
squares(controlDict.lookup("squares")),
nearWallAlignedDist
(
readScalar(controlDict.lookup("nearWallAlignedDist"))*minCellSize
),
nearWallAlignedDist2(Foam::sqr(nearWallAlignedDist)),
relaxOrientation(controlDict.lookup("relaxOrientation")),
insertSurfaceNearestPointPairs
(
controlDict.lookup("insertSurfaceNearestPointPairs")
),
mirrorPoints(controlDict.lookup("mirrorPoints")),
insertSurfaceNearPointPairs
(
controlDict.lookup("insertSurfaceNearPointPairs")
),
writeInitialTriangulation(controlDict.lookup("writeInitialTriangulation")),
writeFeatureTriangulation(controlDict.lookup("writeFeatureTriangulation")),
writeNearestTriangulation(controlDict.lookup("writeNearestTriangulation")),
writeInsertedPointPairs(controlDict.lookup("writeInsertedPointPairs")),
writeFinalTriangulation(controlDict.lookup("writeFinalTriangulation")),
randomiseInitialGrid(controlDict.lookup("randomiseInitialGrid")),
randomPurturbation(readScalar(controlDict.lookup("randomPurturbation"))),
maxBoundaryConformingIter
(
readLabel(controlDict.lookup("maxBoundaryConformingIter"))
),
relaxationFactorStart
(
readScalar(controlDict.lookup("relaxationFactorStart"))
),
relaxationFactorEnd(readScalar(controlDict.lookup("relaxationFactorEnd")))
{}
// ************************************************************************* //

View File

@ -1,148 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
indexedFace
Description
An indexed form of CGAL::Triangulation_face_base_2<K> used to keep
track of the vertices in the triangulation.
\*---------------------------------------------------------------------------*/
#ifndef indexedFace_H
#define indexedFace_H
#include <CGAL/Triangulation_2.h>
#include "indexedVertex.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace CGAL
{
/*---------------------------------------------------------------------------*\
Class indexedFace Declaration
\*---------------------------------------------------------------------------*/
template<class Gt, class Fb=CGAL::Triangulation_face_base_2<Gt> >
class indexedFace
:
public Fb
{
// Private data
//- The index for this triangle face
// -1: triangle and changed and associated data needs updating
// >=0: index of triangles, set by external update algorithm
int index_;
public:
enum faceTypes
{
UNCHANGED = 0,
CHANGED = -1,
SAVE_CHANGED = -2
};
typedef typename Fb::Vertex_handle Vertex_handle;
typedef typename Fb::Face_handle Face_handle;
template < typename TDS2 >
struct Rebind_TDS
{
typedef typename Fb::template Rebind_TDS<TDS2>::Other Fb2;
typedef indexedFace<Gt, Fb2> Other;
};
indexedFace()
:
Fb(),
index_(CHANGED)
{}
indexedFace(Vertex_handle v0, Vertex_handle v1, Vertex_handle v2)
:
Fb(v0, v1, v2),
index_(CHANGED)
{}
indexedFace
(
Vertex_handle v0,
Vertex_handle v1,
Vertex_handle v2,
Face_handle n0,
Face_handle n1,
Face_handle n2
)
:
Fb(v0, v1, v2, n0, n1, n2),
index_(CHANGED)
{}
void set_vertex(int i, Vertex_handle v)
{
index_ = CHANGED;
Fb::set_vertex(i, v);
}
void set_vertices()
{
index_ = CHANGED;
Fb::set_vertices();
}
void set_vertices(Vertex_handle v0, Vertex_handle v1, Vertex_handle v2)
{
index_ = CHANGED;
Fb::set_vertices(v0, v1, v2);
}
int& faceIndex()
{
return index_;
}
int faceIndex() const
{
return index_;
}
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace CGAL
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -1,261 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
indexedVertex
Description
An indexed form of CGAL::Triangulation_vertex_base_2<K> used to keep
track of the vertices in the triangulation.
\*---------------------------------------------------------------------------*/
#ifndef indexedVertex_H
#define indexedVertex_H
#include <CGAL/Triangulation_2.h>
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace CGAL
{
/*---------------------------------------------------------------------------*\
Class indexedVertex Declaration
\*---------------------------------------------------------------------------*/
template<class Gt, class Vb=CGAL::Triangulation_vertex_base_2<Gt> >
class indexedVertex
:
public Vb
{
// Private data
//- The index for this triangle vertex
int index_;
//- Index of pair-point :
// NEAR_BOUNDARY_POINT : internal near boundary point.
// INTERNAL_POINT : internal point.
// FAR_POINT : far-point.
// >= 0 : part of point-pair. Index of other point.
// Lowest numbered is inside one (master).
int type_;
public:
enum pointTypes
{
NEAR_BOUNDARY_POINT = -4,
INTERNAL_POINT = -3,
MIRROR_POINT = -2,
FAR_POINT = -1
};
typedef typename Vb::Vertex_handle Vertex_handle;
typedef typename Vb::Face_handle Face_handle;
typedef typename Vb::Point Point;
template<typename TDS2>
struct Rebind_TDS
{
typedef typename Vb::template Rebind_TDS<TDS2>::Other Vb2;
typedef indexedVertex<Gt,Vb2> Other;
};
indexedVertex()
:
Vb(),
index_(INTERNAL_POINT),
type_(INTERNAL_POINT)
{}
indexedVertex(const Point& p)
:
Vb(p),
index_(INTERNAL_POINT),
type_(INTERNAL_POINT)
{}
indexedVertex(const Point& p, Face_handle f)
:
Vb(f, p),
index_(INTERNAL_POINT),
type_(INTERNAL_POINT)
{}
indexedVertex(Face_handle f)
:
Vb(f),
index_(INTERNAL_POINT),
type_(INTERNAL_POINT)
{}
int& index()
{
return index_;
}
int index() const
{
return index_;
}
int& type()
{
return type_;
}
int type() const
{
return type_;
}
//- Is point a far-point
inline bool farPoint() const
{
return type_ == FAR_POINT;
}
//- Is point internal, i.e. not on boundary
inline bool internalPoint() const
{
return type_ <= INTERNAL_POINT;
}
//- Is point internal and near the boundary
inline bool nearBoundary() const
{
return type_ == NEAR_BOUNDARY_POINT;
}
//- Set the point to be near the boundary
inline void setNearBoundary()
{
type_ = NEAR_BOUNDARY_POINT;
}
//- Is point a mirror point
inline bool mirrorPoint() const
{
return type_ == MIRROR_POINT;
}
//- Either master or slave of pointPair.
inline bool pairPoint() const
{
return type_ >= 0;
}
//- Master of a pointPair is the lowest numbered one.
inline bool ppMaster() const
{
if (type_ > index_)
{
return true;
}
else
{
return false;
}
}
//- Slave of a pointPair is the highest numbered one.
inline bool ppSlave() const
{
if (type_ >= 0 && type_ < index_)
{
return true;
}
else
{
return false;
}
}
//- Either original internal point or master of pointPair.
inline bool internalOrBoundaryPoint() const
{
return internalPoint() || ppMaster();
}
//- Is point near the boundary or part of the boundary definition
inline bool nearOrOnBoundary() const
{
return pairPoint() || mirrorPoint() || nearBoundary();
}
//- Do the two given vertices consitute a boundary point-pair
inline friend bool pointPair
(
const indexedVertex& v0,
const indexedVertex& v1
)
{
return v0.index_ == v1.type_ || v1.index_ == v0.type_;
}
//- Do the three given vertices consitute a boundary triangle
inline friend bool boundaryTriangle
(
const indexedVertex& v0,
const indexedVertex& v1,
const indexedVertex& v2
)
{
return (v0.pairPoint() && pointPair(v1, v2))
|| (v1.pairPoint() && pointPair(v2, v0))
|| (v2.pairPoint() && pointPair(v0, v1));
}
//- Do the three given vertices consitute an outside triangle
inline friend bool outsideTriangle
(
const indexedVertex& v0,
const indexedVertex& v1,
const indexedVertex& v2
)
{
return (v0.farPoint() || v0.ppSlave())
|| (v1.farPoint() || v1.ppSlave())
|| (v2.farPoint() || v2.ppSlave());
}
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace CGAL
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -1,290 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*----------------------------------------------------------------------------*/
#include "CV2D.H"
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
void Foam::CV2D::insertPointPair
(
Triangulation::Finite_vertices_iterator& vit,
const point2D& p,
const label trii
)
{
if
(
!controls_.mirrorPoints
|| !insertMirrorPoint(toPoint2D(vit->point()), p)
)
{
insertPointPair
(
tols_.ppDist,
p,
toPoint2D(qSurf_.faceNormals()[trii])
);
}
vit = Triangulation::Finite_vertices_iterator
(
CGAL::Filter_iterator
<
Triangulation::All_vertices_iterator,
Triangulation::Infinite_tester
>(finite_vertices_end(), vit.predicate(), vit.base())
);
}
bool Foam::CV2D::insertPointPairAtIntersection
(
Triangulation::Finite_vertices_iterator& vit,
const point2D& defVert,
const point2D vertices[],
const scalar maxProtSize2
)
{
bool found = false;
point2D interPoint;
label interTri = -1;
scalar interDist2 = 0;
Face_circulator fcStart = incident_faces(vit);
Face_circulator fc = fcStart;
label vi = 0;
do
{
if (!is_infinite(fc))
{
pointIndexHit pHit = qSurf_.tree().findLine
(
toPoint3D(defVert),
toPoint3D(vertices[vi])
);
if (pHit.hit())
{
scalar dist2 =
magSqr(toPoint2D(pHit.hitPoint()) - vertices[vi]);
// Check the point is further away than the furthest so far
if (dist2 > interDist2)
{
scalar mps2 = maxProtSize2;
// If this is a boundary triangle reset the tolerance
// to avoid finding a hit point very close to a boundary
// vertex
if (boundaryTriangle(fc))
{
mps2 = tols_.maxNotchLen2;
}
if (dist2 > mps2)
{
found = true;
interPoint = toPoint2D(pHit.hitPoint());
interTri = pHit.index();
interDist2 = dist2;
}
}
}
vi++;
}
} while (++fc != fcStart);
if (found)
{
insertPointPair(vit, interPoint, interTri);
return true;
}
else
{
return false;
}
}
Foam::label Foam::CV2D::insertBoundaryConformPointPairs
(
const fileName& fName
)
{
label nIntersections = 0;
for
(
Triangulation::Finite_vertices_iterator vit = finite_vertices_begin();
vit != finite_vertices_end();
vit++
)
{
// Consider only those points part of point-pairs or near boundary
if (!vit->nearOrOnBoundary())
{
continue;
}
// Counter-clockwise circulator
Face_circulator fcStart = incident_faces(vit);
Face_circulator fc = fcStart;
bool infinite = false;
bool changed = false;
do
{
if (is_infinite(fc))
{
infinite = true;
break;
}
else if (fc->faceIndex() < Fb::UNCHANGED)
{
changed = true;
break;
}
} while (++fc != fcStart);
// If the dual-cell is connected to the infinite point or none of the
// faces whose circumcentres it uses have changed ignore
if (infinite || !changed) continue;
fc = fcStart;
label nVerts = 0;
do
{
vertices[nVerts++] = toPoint2D(circumcenter(fc));
if (nVerts == maxNvert)
{
break;
}
} while (++fc != fcStart);
// Check if dual-cell has a large number of faces in which case
// assumed to be in the far-field and reject
if (nVerts == maxNvert) continue;
// Set n+1 vertex to the first vertex for easy circulating
vertices[nVerts] = vertices[0];
// Convert triangle vertex to OpenFOAM point
point2DFromPoint defVert = toPoint2D(vit->point());
scalar maxProtSize2 = tols_.maxNotchLen2;
if (vit->internalOrBoundaryPoint())
{
// Calculate metrics of the dual-cell
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// The perimeter of the dual-cell
scalar perimeter = 0;
// Twice the area of the dual-cell
scalar areaT2 = 0;
for (int vi=0; vi<nVerts; vi++)
{
vector2D edge(vertices[vi+1] - vertices[vi]);
perimeter += mag(edge);
vector2D otherEdge = defVert - vertices[vi];
areaT2 += mag(edge.x()*otherEdge.y() - edge.y()*otherEdge.x());
}
// If the dual-cell is very small reject refinement
if (areaT2 < tols_.minEdgeLen2) continue;
// Estimate the cell width
scalar cellWidth = areaT2/perimeter;
// Check dimensions of dual-cell
/*
// Quick rejection of dual-cell refinement based on it's perimeter
if (perimeter < 2*tols_.minCellSize) continue;
// Also check the area of the cell and reject refinement
// if it is less than that allowed
if (areaT2 < tols_.minCellSize2) continue;
// Estimate the cell width and reject refinement if it is less than
// that allowed
if (cellWidth < 0.5*tols_.minEdgeLen) continue;
*/
if
(
perimeter > 2*controls_.minCellSize
&& areaT2 > controls_.minCellSize2
&& cellWidth > 0.5*tols_.minEdgeLen
)
{
maxProtSize2 = 0.25*tols_.maxNotchLen2;
}
}
if (insertPointPairAtIntersection(vit, defVert, vertices, maxProtSize2))
{
nIntersections++;
}
}
return nIntersections;
}
void Foam::CV2D::markNearBoundaryPoints()
{
for
(
Triangulation::Finite_vertices_iterator vit = finite_vertices_begin();
vit != finite_vertices_end();
vit++
)
{
if (vit->internalPoint())
{
point vert(toPoint3D(vit->point()));
pointIndexHit pHit =
qSurf_.tree().findNearest(vert, 4*controls_.minCellSize2);
if (pHit.hit())
{
vit->setNearBoundary();
}
}
}
}
// ************************************************************************* //

View File

@ -1,162 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*----------------------------------------------------------------------------*/
#include "CV2D.H"
#include "plane.H"
#include "triSurfaceTools.H"
#include "mathematicalConstants.H"
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
// Create feature points/edges by creating a triplet in the corner.
// (this triplet will have as its circumcentre the feature)
void Foam::CV2D::insertFeaturePoints()
{
labelList featEdges(qSurf_.extractFeatures2D(controls_.featAngle));
const pointField& localPts = qSurf_.localPoints();
forAll(featEdges, i)
{
label edgeI = featEdges[i];
const edge& featEdge = qSurf_.edges()[edgeI];
// Get the feature point as the mid-point of the edge and convert to 2D
point2D featPt = toPoint2D(featEdge.centre(qSurf_.localPoints()));
// Pick up the two faces adjacent to the feature edge
const labelList& eFaces = qSurf_.edgeFaces()[edgeI];
label faceA = eFaces[0];
vector2D nA = toPoint2D(qSurf_.faceNormals()[faceA]);
label faceB = eFaces[1];
vector2D nB = toPoint2D(qSurf_.faceNormals()[faceB]);
// Intersect planes parallel to faceA and faceB offset by ppDist.
plane planeA(toPoint3D(featPt - tols_.ppDist*nA), toPoint3D(nA));
plane planeB(toPoint3D(featPt - tols_.ppDist*nB), toPoint3D(nB));
plane::ray interLine(planeA.planeIntersect(planeB));
// The reference point is where this line intersects the z_ plane
point2D refPt = toPoint2D
(
interLine.refPoint()
+ ((z_ - interLine.refPoint().z())/interLine.dir().z())
*interLine.dir()
);
point2D faceAVert = toPoint2D
(
localPts[triSurfaceTools::oppositeVertex(qSurf_, faceA, edgeI)]
);
// Determine convex or concave angle
if (((faceAVert - featPt) & nB) < 0)
{
// Convex. So refPt will be inside domain and hence a master point
// Insert the master point refering the the first slave
label masterPtIndex = insertPoint(refPt, number_of_vertices() + 1);
// Insert the slave points by reflecting refPt in both faces.
// with each slave refering to the master
point2D reflectedA = refPt + 2*((featPt - refPt) & nA)*nA;
insertPoint(reflectedA, masterPtIndex);
point2D reflectedB = refPt + 2*((featPt - refPt) & nB)*nB;
insertPoint(reflectedB, masterPtIndex);
}
else
{
// Concave. master and reflected points inside the domain.
// Generate reflected master to be outside.
point2D reflMasterPt = refPt + 2*(featPt - refPt);
// Reflect refPt in both faces.
point2D reflectedA =
reflMasterPt + 2*((featPt - reflMasterPt) & nA)*nA;
point2D reflectedB =
reflMasterPt + 2*((featPt - reflMasterPt) & nB)*nB;
// Total angle around the concave feature
// scalar totalAngle =
// 180*(2.0*mathematicalConstant::pi - acos(mag(nA & nB)))
// /mathematicalConstant::pi;
scalar totalAngle =
180*(mathematicalConstant::pi + acos(mag(nA & nB)))
/mathematicalConstant::pi;
// Number of quadrants the angle should be split into
int nQuads = int(totalAngle/controls_.maxQuadAngle) + 1;
// The number of additional master points needed to obtain the
// required number of quadrants.
int nAddPoints = min(max(nQuads - 2, 0), 2);
// index of reflMaster
label reflectedMaster = number_of_vertices() + 2 + nAddPoints;
// Master A is inside.
label reflectedAI = insertPoint(reflectedA, reflectedMaster);
// Master B is inside.
insertPoint(reflectedB, reflectedMaster);
if (nAddPoints == 1)
{
// One additinal point is the reflection of the slave point,
// i.e. the original reference point
insertPoint(refPt, reflectedMaster);
}
else if (nAddPoints == 2)
{
point2D reflectedAa = refPt - ((featPt - reflMasterPt) & nB)*nB;
insertPoint(reflectedAa, reflectedMaster);
point2D reflectedBb = refPt - ((featPt - reflMasterPt) & nA)*nA;
insertPoint(reflectedBb, reflectedMaster);
}
// Slave is outside.
insertPoint(reflMasterPt, reflectedAI);
}
}
if (controls_.writeFeatureTriangulation)
{
writePoints("feat_allPoints.obj", false);
writeFaces("feat_allFaces.obj", false);
writeFaces("feat_faces.obj", true);
writeTriangles("feat_triangles.obj", true);
}
}
// ************************************************************************* //

View File

@ -1,103 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*----------------------------------------------------------------------------*/
#include "CV2D.H"
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
void Foam::CV2D::insertSurfaceNearPointPairs()
{
Info<< "insertSurfaceNearPointPairs: ";
label nNearPoints = 0;
for
(
Triangulation::Finite_edges_iterator eit = finite_edges_begin();
eit != finite_edges_end();
eit++
)
{
Vertex_handle v0h = eit->first->vertex(cw(eit->second));
Vertex_handle v1h = eit->first->vertex(ccw(eit->second));
if (v0h->ppMaster() && v1h->ppMaster())
{
point2DFromPoint v0(toPoint2D(v0h->point()));
point2DFromPoint v1(toPoint2D(v1h->point()));
// Check that the two triangle vertices are further apart than the
// minimum cell size
if (magSqr(v1 - v0) > controls_.minCellSize2)
{
point2D e0(toPoint2D(circumcenter(eit->first)));
point2D e1
(
toPoint2D(circumcenter(eit->first->neighbor(eit->second)))
);
// Calculate the length^2 of the edge normal to the surface
scalar edgeLen2 = magSqr(e0 - e1);
if (edgeLen2 < tols_.minNearPointDist2)
{
pointIndexHit pHit = qSurf_.tree().findNearest
(
toPoint3D(e0),
tols_.minEdgeLen2
);
if (pHit.hit())
{
insertPointPair
(
tols_.ppDist,
toPoint2D(pHit.hitPoint()),
toPoint2D(qSurf_.faceNormals()[pHit.index()])
);
nNearPoints++;
// Correct the edge iterator for the change in the
// number od edges following the point-pair insertion
eit = Finite_edges_iterator
(
finite_edges_end().base(),
eit.predicate(),
eit.base()
);
}
}
}
}
}
Info<< nNearPoints << " point-pairs inserted" << endl;
}
// ************************************************************************* //

View File

@ -1,223 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*----------------------------------------------------------------------------*/
#include "CV2D.H"
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
bool Foam::CV2D::dualCellSurfaceIntersection
(
const Triangulation::Finite_vertices_iterator& vit
) const
{
Triangulation::Edge_circulator ecStart = incident_edges(vit);
Triangulation::Edge_circulator ec = ecStart;
do
{
if (!is_infinite(ec))
{
point e0 = toPoint3D(circumcenter(ec->first));
// If edge end is outside bounding box then edge cuts boundary
if (!qSurf_.bb().contains(e0))
{
return true;
}
point e1 = toPoint3D(circumcenter(ec->first->neighbor(ec->second)));
// If other edge end is ouside bounding box then edge cuts boundary
if (!qSurf_.bb().contains(e1))
{
return true;
}
if (magSqr(e1 - e0) > tols_.minEdgeLen2)
{
pointIndexHit pHit = qSurf_.tree().findLineAny(e0, e1);
if (pHit.hit())
{
return true;
}
}
}
} while (++ec != ecStart);
return false;
}
void Foam::CV2D::insertPointPairs
(
const DynamicList<point2D>& nearSurfacePoints,
const DynamicList<point2D>& surfacePoints,
const DynamicList<label>& surfaceTris,
const fileName fName
)
{
if (controls_.mirrorPoints)
{
forAll(surfacePoints, ppi)
{
insertMirrorPoint
(
nearSurfacePoints[ppi],
surfacePoints[ppi]
);
}
}
else
{
forAll(surfacePoints, ppi)
{
insertPointPair
(
tols_.ppDist,
surfacePoints[ppi],
toPoint2D(qSurf_.faceNormals()[surfaceTris[ppi]])
);
}
}
Info<< surfacePoints.size() << " point-pairs inserted" << endl;
if (controls_.writeInsertedPointPairs)
{
OFstream str(fName);
label vertI = 0;
forAll(surfacePoints, ppi)
{
meshTools::writeOBJ(str, toPoint3D(surfacePoints[ppi]));
vertI++;
}
Info<< "insertPointPairs: Written " << surfacePoints.size()
<< " inserted point-pair locations to file "
<< str.name() << endl;
}
}
void Foam::CV2D::insertSurfaceNearestPointPairs()
{
Info<< "insertSurfaceNearestPointPairs: ";
label nSurfacePointsEst = min
(
number_of_vertices(),
size_t(10*sqrt(scalar(number_of_vertices())))
);
DynamicList<point2D> nearSurfacePoints(nSurfacePointsEst);
DynamicList<point2D> surfacePoints(nSurfacePointsEst);
DynamicList<label> surfaceTris(nSurfacePointsEst);
// Local references to surface mesh addressing
const pointField& localPoints = qSurf_.localPoints();
const labelListList& edgeFaces = qSurf_.edgeFaces();
const vectorField& faceNormals = qSurf_.faceNormals();
const labelListList& faceEdges = qSurf_.faceEdges();
for
(
Triangulation::Finite_vertices_iterator vit = finite_vertices_begin();
vit != finite_vertices_end();
vit++
)
{
if (vit->internalPoint())
{
point2DFromPoint vert(toPoint2D(vit->point()));
pointIndexHit pHit = qSurf_.tree().findNearest
(
toPoint3D(vert),
4*controls_.minCellSize2
);
if (pHit.hit())
{
vit->setNearBoundary();
// Reference to the nearest triangle
const labelledTri& f = qSurf_[pHit.index()];
// Find where point is on triangle.
// Note tolerance needed is relative one
// (used in comparing normalized [0..1] triangle coordinates).
label nearType, nearLabel;
triPointRef
(
localPoints[f[0]],
localPoints[f[1]],
localPoints[f[2]]
).classify(pHit.hitPoint(), 1e-6, nearType, nearLabel);
// If point is on a edge check if it is an internal feature
bool internalFeatureEdge = false;
if (nearType == triPointRef::EDGE)
{
label edgeI = faceEdges[pHit.index()][nearLabel];
const labelList& eFaces = edgeFaces[edgeI];
if
(
eFaces.size() == 2
&& (faceNormals[eFaces[0]] & faceNormals[eFaces[1]])
< -0.2
)
{
internalFeatureEdge = true;
}
}
if (!internalFeatureEdge && dualCellSurfaceIntersection(vit))
{
nearSurfacePoints.append(vert);
surfacePoints.append(toPoint2D(pHit.hitPoint()));
surfaceTris.append(pHit.index());
}
}
}
}
insertPointPairs
(
nearSurfacePoints,
surfacePoints,
surfaceTris,
"surfaceNearestIntersections.obj"
);
}
// ************************************************************************* //

View File

@ -1,229 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*----------------------------------------------------------------------------*/
#include "querySurface.H"
#include "mathematicalConstants.H"
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::querySurface::querySurface(const fileName& surfaceFileName)
:
triSurface(surfaceFileName),
rndGen_(12345),
bb_(localPoints()),
tree_
(
treeDataTriSurface(*this),
bb_.extend(rndGen_, 1e-3), // slightly randomize bb
8, // maxLevel
4, //10, // leafsize
10.0 //3.0 // duplicity
)
{}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::querySurface::~querySurface()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
Foam::labelList Foam::querySurface::extractFeatures2D
(
const scalar featAngle
) const
{
scalar featCos = cos(mathematicalConstant::pi*featAngle/180.0);
const labelListList& edgeFaces = this->edgeFaces();
const pointField& localPoints = this->localPoints();
const edgeList& edges = this->edges();
const vectorField& faceNormals = this->faceNormals();
DynamicList<label> featEdges(edges.size());
forAll(edgeFaces, edgeI)
{
const edge& e = edges[edgeI];
if (magSqr(e.vec(localPoints) & vector(1,1,0)) < SMALL)
{
const labelList& eFaces = edgeFaces[edgeI];
if
(
eFaces.size() == 2
&& (faceNormals[eFaces[0]] & faceNormals[eFaces[1]]) < featCos
)
{
featEdges.append(edgeI);
}
}
}
return featEdges.shrink();
}
Foam::indexedOctree<Foam::treeDataTriSurface>::volumeType
Foam::querySurface::insideOutside
(
const scalar searchSpan2,
const point& pt
) const
{
if (!bb_.contains(pt))
{
return indexedOctree<treeDataTriSurface>::OUTSIDE;
}
pointIndexHit pHit = tree_.findNearest(pt, searchSpan2);
if (!pHit.hit())
{
return tree_.getVolumeType(pt);
}
else
{
return indexedOctree<treeDataTriSurface>::MIXED;
}
}
// Check if point is inside surface
bool Foam::querySurface::inside(const point& pt) const
{
if (!bb_.contains(pt))
{
return false;
}
return
(
tree_.getVolumeType(pt) == indexedOctree<treeDataTriSurface>::INSIDE
);
}
// Check if point is outside surface
bool Foam::querySurface::outside(const point& pt) const
{
if (!bb_.contains(pt))
{
return true;
}
return
(
tree_.getVolumeType(pt) == indexedOctree<treeDataTriSurface>::OUTSIDE
);
}
// Check if point is inside surface by at least dist2
bool Foam::querySurface::wellInside(const point& pt, const scalar dist2) const
{
if (!bb_.contains(pt))
{
return false;
}
pointIndexHit pHit = tree_.findNearest(pt, dist2);
if (pHit.hit())
{
return false;
}
else
{
return
tree_.getVolumeType(pt)
== indexedOctree<treeDataTriSurface>::INSIDE;
}
}
// Check if point is outside surface by at least dist2
bool Foam::querySurface::wellOutside(const point& pt, const scalar dist2) const
{
if (!bb_.contains(pt))
{
return true;
}
pointIndexHit pHit = tree_.findNearest(pt, dist2);
if (pHit.hit())
{
return false;
}
else
{
return
tree_.getVolumeType(pt)
== indexedOctree<treeDataTriSurface>::OUTSIDE;
}
}
void Foam::querySurface::writeTreeOBJ() const
{
OFstream str("tree.obj");
label vertI = 0;
const List<indexedOctree<treeDataTriSurface>::node>& nodes = tree_.nodes();
forAll(nodes, nodeI)
{
const indexedOctree<treeDataTriSurface>::node& nod = nodes[nodeI];
const treeBoundBox& bb = nod.bb_;
const pointField points(bb.points());
label startVertI = vertI;
forAll(points, i)
{
meshTools::writeOBJ(str, points[i]);
vertI++;
}
const edgeList edges(treeBoundBox::edges);
forAll(edges, i)
{
const edge& e = edges[i];
str << "l " << e[0]+startVertI+1 << ' ' << e[1]+startVertI+1
<< nl;
}
}
}
// ************************************************************************* //

View File

@ -1,149 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
querySurface
Description
Searchable triSurface using an octree to speed-up queries.
SourceFiles
querySurface.C
\*---------------------------------------------------------------------------*/
#ifndef querySurface_H
#define querySurface_H
#include "triSurface.H"
#include "treeDataTriSurface.H"
#include "indexedOctree.H"
#include "Random.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
/*---------------------------------------------------------------------------*\
Class querySurface Declaration
\*---------------------------------------------------------------------------*/
class querySurface
:
public triSurface
{
// Private data
Random rndGen_;
// Bounding box of surface. Used for relative tolerances.
treeBoundBox bb_;
// Search engine on surface
indexedOctree<treeDataTriSurface> tree_;
// Private Member Functions
//- Disallow default bitwise copy construct
querySurface(const querySurface&);
//- Disallow default bitwise assignment
void operator=(const querySurface&);
public:
// Constructors
//- Construct given file name of the surface
querySurface(const fileName& surfaceFileName);
// Destructor
~querySurface();
// Member Functions
// Access
const treeBoundBox& bb() const
{
return bb_;
}
const indexedOctree<treeDataTriSurface>& tree() const
{
return tree_;
}
// Query
//- Extract feature edges/points(2D)
// using the given feature angle in deg
labelList extractFeatures2D(const scalar featAngle) const;
//- Returns inside, outside or mixed (= close to surface)
indexedOctree<Foam::treeDataTriSurface>::volumeType insideOutside
(
const scalar searchSpan2,
const point& pt
) const;
//- Check if point is inside surface
bool inside(const point& pt) const;
//- Check if point is outside surface
bool outside(const point& pt) const;
//- Check if point is inside surface by at least dist2
bool wellInside(const point& pt, const scalar dist2) const;
//- Check if point is outside surface by at least dist2
bool wellOutside(const point& pt, const scalar dist2) const;
// Write
void writeTreeOBJ() const;
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
//#include "querySurfaceI.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -1,6 +0,0 @@
# GMT common arguments shelf
-Jx10
-jx10
-R-0.7/0.3/-1.73218e-19/1
EOF
F

View File

@ -1,40 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.4.2 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class polyBoundaryMesh;
object boundary;
location "0/polyMesh";
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
3
(
sides
{
type wall;
nFaces 387;
startFace 4274;
}
originalPatch
{
type patch;
nFaces 1537;
startFace 4661;
}
otherSide
{
type patch;
nFaces 1537;
startFace 6198;
}
)
// ************************************************************************* //

View File

@ -1,21 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.4.2 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class regIOobject;
object cellZones;
location "0/polyMesh";
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
0
()
// ************************************************************************* //

View File

@ -1,21 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.4.2 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class regIOobject;
object faceZones;
location "0/polyMesh";
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
0
()
// ************************************************************************* //

View File

@ -1,21 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.4.2 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class regIOobject;
object pointZones;
location "0/polyMesh";
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
0
()
// ************************************************************************* //

View File

@ -1,63 +0,0 @@
// Min cell size used in tolerances when inserting points for
// boundary conforming.
// Also used to as the grid spacing usind in insertGrid.
minCellSize 0.05;
// Feature angle used to inser feature points
// 0 = all features, 180 = no features
featureAngle 45;
// Maximum quadrant angle allowed at a concave corner before
// additional "mitering" lines are added
maxQuadAngle 110;
// Should the mesh be square-dominated or of unbiased hexagons
squares yes;
// Near-wall region where cells are aligned with the wall specified as a number
// of cell layers
nearWallAlignedDist 3;
// Chose if the cell orientation should relax during the iterations
// or remain fixed to the x-y directions
relaxOrientation yes;
// Insert near-boundary point mirror or point-pairs
insertSurfaceNearestPointPairs yes;
// Mirror near-boundary points rather than insert point-pairs
mirrorPoints no;
// Insert point-pairs vor dual-cell vertices very near the surface
insertSurfaceNearPointPairs yes;
// Choose if to randomise the initial grid created by insertGrid.
randomiseInitialGrid yes;
// Perturbation fraction, 1 = cell-size.
randomPurturbation 0.1;
// Number of relaxation iterations.
nIterations 1000;
// Relaxation factor at the start of the iteration sequence.
// 0.5 is a sensible maximum and < 0.2 converges better.
relaxationFactorStart 1.0;
// Relaxation factor at the end of the iteration sequence.
// Should be <= relaxationFactorStart
relaxationFactorEnd 0;
writeInitialTriangulation no;
writeFeatureTriangulation yes;
writeNearestTriangulation no;
writeInsertedPointPairs no;
writeFinalTriangulation yes;
// Maximum number of iterations used in boundaryConform.
maxBoundaryConformingIter 5;
minEdgeLenCoeff 0.5;
maxNotchLenCoeff 0.3;
minNearPointDistCoeff 0.25;
ppDistCoeff 0.05;

View File

@ -1,3 +0,0 @@
CV2DMesher stls/shapeForHenry4.stl
extrudeMesh .. testCase 1 0.01 -surface patch.pch

View File

@ -1,774 +0,0 @@
%!PS-Adobe-3.0 EPSF-3.0
%%Title: Object_44
%%Date: Mon Mar 24 13:56:18 GMT 2008
%%Creator: JavaView v.2.42 PostScript Export
%%JavaView is Copyright 1999-2002, http://www.javaview.de/
%%by Konrad Polthier, Samy Khadem, Eike Preuss, Ulrich Reitebuch
%%PostScript filter based on: PSGr Java PostScript Context
%%PSGr is (C) 1996 Ernest Friedman-Hill and Sandia National Labs
%%BoundingBox: 10 10 602 483
%%EndComments
%%BeginProlog
10 10 translate
%%Modify scaling when including in TeX:
0.925 0.925 scale
/Helvetica findfont 12 scalefont setfont
/c {setrgbcolor} bind def
/e {eofill} bind def
/g {gsave} bind def
/l {lineto} bind def
/m {moveto} bind def
/s {stroke} bind def
/t {translate} bind def
/w {show} bind def
/ac {arc closepath eofill grestore} bind def
/as {arc stroke grestore} bind def
%%EndProlog
%Uncomment the following to edit the width of lines.
% 1.0 setlinewidth
0.2 0.0 0.0 c
g 202673.86 -536969.6 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 202673.86 -536969.6 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.41960785 0.0 0.0 c
g 543503.1 185768.14 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 543503.1 185768.14 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5647059 0.0 0.0 c
g 24084.48 -37719.56 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 24084.48 -37719.56 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5647059 0.0 0.0 c
g 23992.33 -37750.855 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 23992.33 -37750.855 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5647059 0.0 0.0 c
g 24018.268 -37672.082 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 24018.268 -37672.082 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5686275 0.0 0.0 c
g 29086.643 -30915.225 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 29086.643 -30915.225 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5686275 0.0 0.0 c
g 29020.438 -30867.729 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 29020.438 -30867.729 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5686275 0.0 0.0 c
g 29072.951 -30802.768 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 29072.951 -30802.768 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.043137256 0.3254902 0.5686275 c
21667.494 -30790.56 m 21066.105 -31706.848 l 18289.969 -35978.67 l 24033.6 -37720.09 l 26552.46 -34293.645 l 26552.46 -34293.645 l e
0.0 0.0 0.0 c
21667.494 -30790.56 m 21066.105 -31706.848 l 18289.969 -35978.67 l 24033.6 -37720.09 l 26552.46 -34293.645 l 26552.46 -34293.645 l 21667.494 -30790.56 l s
0.5686275 0.0 0.0 c
g 34175.793 -23977.805 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 34175.793 -23977.805 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5686275 0.0 0.0 c
g 34065.63 -24019.697 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 34065.63 -24019.697 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5686275 0.0 0.0 c
g 34101.133 -23944.412 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 34101.133 -23944.412 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.043137256 0.32941177 0.5686275 c
21642.428 -29360.441 m 21667.494 -30790.56 l 26552.46 -34293.645 l 29077.156 -30859.418 l 23811.465 -26680.137 l e
0.0 0.0 0.0 c
21642.428 -29360.441 m 21667.494 -30790.56 l 26552.46 -34293.645 l 29077.156 -30859.418 l 23811.465 -26680.137 l 21642.428 -29360.441 l s
0.043137256 0.32941177 0.57254905 c
17678.516 -36905.832 m 18289.969 -35978.67 l 21066.105 -31706.848 l 14282.294 -31539.225 l 14278.53 -31549.393 l e
0.0 0.0 0.0 c
17678.516 -36905.832 m 18289.969 -35978.67 l 21066.105 -31706.848 l 14282.294 -31539.225 l 14278.53 -31549.393 l 17678.516 -36905.832 l s
0.043137256 0.32941177 0.57254905 c
17678.516 -36905.832 m 14278.53 -31549.393 l 12845.879 -32701.836 l 14566.867 -34849.938 l 17049.725 -37868.082 l e
0.0 0.0 0.0 c
17678.516 -36905.832 m 14278.53 -31549.393 l 12845.879 -32701.836 l 14566.867 -34849.938 l 17049.725 -37868.082 l 17678.516 -36905.832 l s
0.043137256 0.32941177 0.57254905 c
21066.105 -31706.848 m 21667.494 -30790.56 l 21642.428 -29360.441 l 17381.88 -27454.947 l 14279.588 -31528.898 l 14282.294 -31539.225 l e
0.0 0.0 0.0 c
21066.105 -31706.848 m 21667.494 -30790.56 l 21642.428 -29360.441 l 17381.88 -27454.947 l 14279.588 -31528.898 l 14282.294 -31539.225 l 21066.105 -31706.848 l s
0.043137256 0.32941177 0.57254905 c
38950.16 -13757.768 m 37733.336 -13902.893 l 33189.816 -14462.661 l 29005.617 -16045.236 l 27315.178 -20955.004 l 34120.71 -23998.75 l e
0.0 0.0 0.0 c
38950.16 -13757.768 m 37733.336 -13902.893 l 33189.816 -14462.661 l 29005.617 -16045.236 l 27315.178 -20955.004 l 34120.71 -23998.75 l 38950.16 -13757.768 l s
0.043137256 0.32941177 0.5764706 c
12845.879 -32701.836 m 12845.879 -32701.836 l 11377.54 -33882.99 l 14566.867 -34849.938 l e
0.0 0.0 0.0 c
12845.879 -32701.836 m 12845.879 -32701.836 l 11377.54 -33882.99 l 14566.867 -34849.938 l 12845.879 -32701.836 l s
0.5764706 0.0 0.0 c
g 14325.276 -31571.43 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 14325.276 -31571.43 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5764706 0.0 0.0 c
g 14278.809 -31601.408 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 14278.809 -31601.408 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5764706 0.0 0.0 c
g 14328.465 -31509.225 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 14328.465 -31509.225 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5764706 0.0 0.0 c
g 14227.908 -31537.875 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 14227.908 -31537.875 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5764706 0.0 0.0 c
g 11437.89 -33944.625 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 11437.89 -33944.625 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5764706 0.0 0.0 c
g 14285.194 -31477.016 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 14285.194 -31477.016 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5764706 0.0 0.0 c
g 11463.851 -33865.8 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 11463.851 -33865.8 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5764706 0.0 0.0 c
g 11412.978 -33802.203 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 11412.978 -33802.203 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.043137256 0.32941177 0.5764706 c
13187.288 -25551.0 m 17381.88 -27454.947 l 21642.428 -29360.441 l 23811.465 -26680.137 l 23811.465 -26680.137 l 18578.246 -22526.627 l e
0.0 0.0 0.0 c
13187.288 -25551.0 m 17381.88 -27454.947 l 21642.428 -29360.441 l 23811.465 -26680.137 l 23811.465 -26680.137 l 18578.246 -22526.627 l 13187.288 -25551.0 l s
0.043137256 0.33333334 0.5764706 c
14279.588 -31528.898 m 17381.88 -27454.947 l 13187.288 -25551.0 l 12943.54 -25441.0 l 10513.247 -28022.764 l 10513.247 -28022.764 l e
0.0 0.0 0.0 c
14279.588 -31528.898 m 17381.88 -27454.947 l 13187.288 -25551.0 l 12943.54 -25441.0 l 10513.247 -28022.764 l 10513.247 -28022.764 l 14279.588 -31528.898 l s
0.5803922 0.0 0.0 c
g 18549.912 -22557.457 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 18549.912 -22557.457 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5803922 0.0 0.0 c
g 18602.469 -22492.516 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 18602.469 -22492.516 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5803922 0.0 0.0 c
g 18537.416 -22534.602 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 18537.416 -22534.602 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5803922 0.0 0.0 c
g 18526.354 -22485.441 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 18526.354 -22485.441 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5803922 0.0 0.0 c
g 18527.807 -22459.125 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 18527.807 -22459.125 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.043137256 0.33333334 0.5803922 c
27315.178 -20955.004 m 29005.617 -16045.236 l 28361.787 -15663.076 l 25271.088 -13835.11 l 22680.979 -12315.484 l 19615.672 -10524.931 l 20001.816 -19500.625 l 27254.855 -21127.129 l e
0.0 0.0 0.0 c
27315.178 -20955.004 m 29005.617 -16045.236 l 28361.787 -15663.076 l 25271.088 -13835.11 l 22680.979 -12315.484 l 19615.672 -10524.931 l 20001.816 -19500.625 l 27254.855 -21127.129 l 27315.178 -20955.004 l s
0.043137256 0.33333334 0.5803922 c
27884.744 -6599.0854 m 28361.787 -15663.076 l 29005.617 -16045.236 l 33189.816 -14462.661 l 30058.508 -5772.4673 l e
0.0 0.0 0.0 c
27884.744 -6599.0854 m 28361.787 -15663.076 l 29005.617 -16045.236 l 33189.816 -14462.661 l 30058.508 -5772.4673 l 27884.744 -6599.0854 l s
0.043137256 0.33333334 0.5803922 c
30058.508 -5772.4673 m 33189.816 -14462.661 l 37733.336 -13902.893 l 32261.82 -4934.6133 l 30058.508 -5772.4673 l e
0.0 0.0 0.0 c
30058.508 -5772.4673 m 33189.816 -14462.661 l 37733.336 -13902.893 l 32261.82 -4934.6133 l 30058.508 -5772.4673 l 30058.508 -5772.4673 l s
0.043137256 0.33333334 0.5803922 c
13187.288 -25551.0 m 18578.246 -22526.627 l 18562.809 -22502.344 l 12729.404 -23948.89 l 12943.54 -25441.0 l e
0.0 0.0 0.0 c
13187.288 -25551.0 m 18578.246 -22526.627 l 18562.809 -22502.344 l 12729.404 -23948.89 l 12943.54 -25441.0 l 13187.288 -25551.0 l s
0.5803922 0.0 0.0 c
g 19994.174 -19541.367 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 19994.174 -19541.367 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5803922 0.0 0.0 c
g 20014.342 -19460.984 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 20014.342 -19460.984 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5803922 0.0 0.0 c
g 19985.951 -19462.945 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 19985.951 -19462.945 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5803922 0.0 0.0 c
g 19919.512 -19507.975 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 19919.512 -19507.975 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5803922 0.0 0.0 c
g 19938.53 -19486.432 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 19938.53 -19486.432 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.043137256 0.33333334 0.5803922 c
12506.369 -22441.28 m 12729.404 -23948.89 l 18562.809 -22502.344 l 18566.287 -22473.38 l 12548.871 -22303.541 l e
0.0 0.0 0.0 c
12506.369 -22441.28 m 12729.404 -23948.89 l 18562.809 -22502.344 l 18566.287 -22473.38 l 12548.871 -22303.541 l 12506.369 -22441.28 l s
0.043137256 0.33333334 0.5803922 c
12548.871 -22303.541 m 18566.287 -22473.38 l 19260.99 -21000.244 l 19260.99 -21000.244 l 13718.958 -18521.592 l 12732.642 -21703.334 l e
0.0 0.0 0.0 c
12548.871 -22303.541 m 18566.287 -22473.38 l 19260.99 -21000.244 l 19260.99 -21000.244 l 13718.958 -18521.592 l 12732.642 -21703.334 l 12548.871 -22303.541 l s
0.043137256 0.33333334 0.5803922 c
25271.088 -13835.11 m 28361.787 -15663.076 l 27884.744 -6599.0854 l 27859.053 -6599.5376 l e
0.0 0.0 0.0 c
25271.088 -13835.11 m 28361.787 -15663.076 l 27884.744 -6599.0854 l 27859.053 -6599.5376 l 25271.088 -13835.11 l s
0.5803922 0.0 0.0 c
g 32314.664 -4941.1094 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 32314.664 -4941.1094 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5803922 0.0 0.0 c
g 32243.74 -4985.1826 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 32243.74 -4985.1826 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.58431375 0.0 0.0 c
g 32216.053 -4908.3105 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 32216.053 -4908.3105 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.043137256 0.33333334 0.58431375 c
17063.307 -13422.442 m 15567.212 -15700.279 l 19957.928 -19522.367 l 19976.256 -19503.945 l e
0.0 0.0 0.0 c
17063.307 -13422.442 m 15567.212 -15700.279 l 19957.928 -19522.367 l 19976.256 -19503.945 l 17063.307 -13422.442 l s
0.043137256 0.33333334 0.58431375 c
7302.238 -21959.016 m 6773.195 -24420.16 l 6773.195 -24420.16 l 6795.148 -24561.527 l 10513.247 -28022.764 l 12943.54 -25441.0 l 12729.404 -23948.89 l 12506.369 -22441.28 l 8366.027 -22048.951 l e
0.0 0.0 0.0 c
7302.238 -21959.016 m 6773.195 -24420.16 l 6773.195 -24420.16 l 6795.148 -24561.527 l 10513.247 -28022.764 l 12943.54 -25441.0 l 12729.404 -23948.89 l 12506.369 -22441.28 l 8366.027 -22048.951 l 7302.238 -21959.016 l s
0.043137256 0.33333334 0.58431375 c
19957.928 -19522.367 m 15567.212 -15700.279 l 15555.345 -15718.257 l 13718.996 -18520.717 l 13718.958 -18521.592 l 19260.99 -21000.244 l e
0.0 0.0 0.0 c
19957.928 -19522.367 m 15567.212 -15700.279 l 15555.345 -15718.257 l 13718.996 -18520.717 l 13718.958 -18521.592 l 19260.99 -21000.244 l 19957.928 -19522.367 l s
0.043137256 0.33333334 0.58431375 c
22680.979 -12315.484 m 25271.088 -13835.11 l 27859.053 -6599.5376 l 27839.104 -6583.9424 l e
0.0 0.0 0.0 c
22680.979 -12315.484 m 25271.088 -13835.11 l 27859.053 -6599.5376 l 27839.104 -6583.9424 l 22680.979 -12315.484 l s
0.043137256 0.3372549 0.58431375 c
19615.672 -10524.931 m 19134.572 -10242.863 l 17063.307 -13422.442 l 19976.256 -19503.945 l 20001.816 -19500.625 l e
0.0 0.0 0.0 c
19615.672 -10524.931 m 19134.572 -10242.863 l 17063.307 -13422.442 l 19976.256 -19503.945 l 20001.816 -19500.625 l 19615.672 -10524.931 l s
0.58431375 0.0 0.0 c
g 27900.97 -6636.6084 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 27900.97 -6636.6084 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.58431375 0.0 0.0 c
g 27872.584 -6638.8276 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 27872.584 -6638.8276 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.58431375 0.0 0.0 c
g 27823.271 -6622.4614 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 27823.271 -6622.4614 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.58431375 0.0 0.0 c
g 27873.275 -6559.7515 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 27873.275 -6559.7515 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.58431375 0.0 0.0 c
g 27802.33 -6603.8696 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 27802.33 -6603.8696 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.58431375 0.0 0.0 c
g 6741.305 -24568.496 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 6741.305 -24568.496 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.58431375 0.0 0.0 c
g 6798.591 -24507.64 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 6798.591 -24507.64 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.58431375 0.0 0.0 c
g 6775.615 -24511.768 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 6775.615 -24511.768 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.043137256 0.3372549 0.58431375 c
6795.148 -24561.527 m 6773.195 -24420.16 l 6748.627 -24534.412 l e
0.0 0.0 0.0 c
6795.148 -24561.527 m 6773.195 -24420.16 l 6748.627 -24534.412 l 6795.148 -24561.527 l s
0.58431375 0.0 0.0 c
g 6733.114 -24503.771 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 6733.114 -24503.771 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.043137256 0.3372549 0.58431375 c
6748.627 -24534.412 m 6773.195 -24420.16 l 6773.195 -24420.16 l 6694.533 -24542.6 l e
0.0 0.0 0.0 c
6748.627 -24534.412 m 6773.195 -24420.16 l 6773.195 -24420.16 l 6694.533 -24542.6 l 6748.627 -24534.412 l s
0.58431375 0.0 0.0 c
g 6713.619 -24491.66 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 6713.619 -24491.66 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.043137256 0.3372549 0.58431375 c
7385.2 -19326.9 m 8366.027 -22048.951 l 12506.369 -22441.28 l 12548.871 -22303.541 l 12732.642 -21703.334 l 7397.342 -19317.143 l e
0.0 0.0 0.0 c
7385.2 -19326.9 m 8366.027 -22048.951 l 12506.369 -22441.28 l 12548.871 -22303.541 l 12732.642 -21703.334 l 7397.342 -19317.143 l 7385.2 -19326.9 l s
0.043137256 0.3372549 0.58431375 c
6694.533 -24542.6 m 6773.195 -24420.16 l 7302.238 -21959.016 l 6182.458 -21845.408 l 3178.923 -21563.693 l 4546.614 -25359.39 l 4546.614 -25359.39 l e
0.0 0.0 0.0 c
6694.533 -24542.6 m 6773.195 -24420.16 l 7302.238 -21959.016 l 6182.458 -21845.408 l 3178.923 -21563.693 l 4546.614 -25359.39 l 4546.614 -25359.39 l 6694.533 -24542.6 l s
0.58431375 0.0 0.0 c
g 2379.601 -26227.135 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 2379.601 -26227.135 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.58431375 0.0 0.0 c
g 2302.46 -26217.557 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 2302.46 -26217.557 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.58431375 0.0 0.0 c
g 2351.908 -26150.277 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 2351.908 -26150.277 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.043137256 0.3372549 0.58431375 c
8808.588 -16324.557 m 7397.342 -19317.143 l 12732.642 -21703.334 l 13718.958 -18521.592 l 13718.996 -18520.717 l 8808.588 -16324.557 l e
0.0 0.0 0.0 c
8808.588 -16324.557 m 7397.342 -19317.143 l 12732.642 -21703.334 l 13718.958 -18521.592 l 13718.996 -18520.717 l 8808.588 -16324.557 l 8808.588 -16324.557 l s
0.043137256 0.3372549 0.58431375 c
6182.458 -21845.408 m 7302.238 -21959.016 l 8366.027 -22048.951 l 7385.2 -19326.9 l 7369.8 -19327.617 l e
0.0 0.0 0.0 c
6182.458 -21845.408 m 7302.238 -21959.016 l 8366.027 -22048.951 l 7385.2 -19326.9 l 7369.8 -19327.617 l 6182.458 -21845.408 l s
0.043137256 0.3372549 0.58431375 c
25374.352 -2544.0208 m 20167.404 -6126.7686 l 18934.744 -9690.708 l 19033.492 -9964.951 l 19134.572 -10242.863 l 19615.672 -10524.931 l 22680.979 -12315.484 l 27839.104 -6583.9424 l e
0.0 0.0 0.0 c
25374.352 -2544.0208 m 20167.404 -6126.7686 l 18934.744 -9690.708 l 19033.492 -9964.951 l 19134.572 -10242.863 l 19615.672 -10524.931 l 22680.979 -12315.484 l 27839.104 -6583.9424 l 25374.352 -2544.0208 l s
0.043137256 0.3372549 0.5882353 c
8808.588 -16324.557 m 13718.996 -18520.717 l 15555.345 -15718.257 l 10219.834 -13331.971 l e
0.0 0.0 0.0 c
8808.588 -16324.557 m 13718.996 -18520.717 l 15555.345 -15718.257 l 10219.834 -13331.971 l 8808.588 -16324.557 l s
0.043137256 0.3372549 0.5882353 c
10219.524 -13316.639 m 10219.834 -13331.971 l 15555.345 -15718.257 l 15567.212 -15700.279 l 17063.307 -13422.442 l 19134.572 -10242.863 l 19033.492 -9964.951 l e
0.0 0.0 0.0 c
10219.524 -13316.639 m 10219.834 -13331.971 l 15555.345 -15718.257 l 15567.212 -15700.279 l 17063.307 -13422.442 l 19134.572 -10242.863 l 19033.492 -9964.951 l 10219.524 -13316.639 l s
0.5882353 0.0 0.0 c
g 7425.797 -19352.66 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 7425.797 -19352.66 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5882353 0.0 0.0 c
g 7443.549 -19315.016 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 7443.549 -19315.016 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5882353 0.0 0.0 c
g 7370.714 -19373.605 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 7370.714 -19373.605 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5882353 0.0 0.0 c
g 7333.383 -19356.91 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 7333.383 -19356.91 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5882353 0.0 0.0 c
g 7368.886 -19281.625 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 7368.886 -19281.625 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.043137256 0.3372549 0.5882353 c
2836.878 -21319.076 m 3178.923 -21563.693 l 6182.458 -21845.408 l 7369.8 -19327.617 l 4401.966 -18000.264 l e
0.0 0.0 0.0 c
2836.878 -21319.076 m 3178.923 -21563.693 l 6182.458 -21845.408 l 7369.8 -19327.617 l 4401.966 -18000.264 l 2836.878 -21319.076 l s
0.043137256 0.3372549 0.5882353 c
-2928.569 -22032.334 m -3124.479 -22274.455 l 2344.911 -26196.633 l 4546.614 -25359.39 l 3178.923 -21563.693 l 2836.878 -21319.076 l -977.15 -21786.1 l e
0.0 0.0 0.0 c
-2928.569 -22032.334 m -3124.479 -22274.455 l 2344.911 -26196.633 l 4546.614 -25359.39 l 3178.923 -21563.693 l 2836.878 -21319.076 l -977.15 -21786.1 l -2928.569 -22032.334 l s
0.043137256 0.3372549 0.5882353 c
10210.044 -13304.802 m 10219.524 -13316.639 l 19033.492 -9964.951 l 18934.744 -9690.708 l 15323.877 -8650.495 l 14889.215 -8526.126 l 14478.854 -8410.348 l 12746.9 -7925.328 l e
0.0 0.0 0.0 c
10210.044 -13304.802 m 10219.524 -13316.639 l 19033.492 -9964.951 l 18934.744 -9690.708 l 15323.877 -8650.495 l 14889.215 -8526.126 l 14478.854 -8410.348 l 12746.9 -7925.328 l 10210.044 -13304.802 l s
0.5882353 0.0 0.0 c
g 10248.289 -13367.488 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 10248.289 -13367.488 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5882353 0.0 0.0 c
g 10266.041 -13329.846 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 10266.041 -13329.846 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5882353 0.0 0.0 c
g 10246.461 -13275.507 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 10246.461 -13275.507 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5882353 0.0 0.0 c
g 10173.627 -13334.096 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 10173.627 -13334.096 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5882353 0.0 0.0 c
g 10209.13 -13258.811 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 10209.13 -13258.811 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.043137256 0.3372549 0.5882353 c
4401.966 -18000.264 m 1434.131 -16672.912 l -977.15 -21786.1 l 2836.878 -21319.076 l 4401.966 -18000.264 l e
0.0 0.0 0.0 c
4401.966 -18000.264 m 1434.131 -16672.912 l -977.15 -21786.1 l 2836.878 -21319.076 l 4401.966 -18000.264 l 4401.966 -18000.264 l s
0.043137256 0.34117648 0.5882353 c
19925.96 1494.7334 m 19289.584 -3685.827 l 20167.404 -6126.7686 l 25374.352 -2544.0208 l 25490.451 -2462.7017 l 22519.129 1246.0393 l e
0.0 0.0 0.0 c
19925.96 1494.7334 m 19289.584 -3685.827 l 20167.404 -6126.7686 l 25374.352 -2544.0208 l 25490.451 -2462.7017 l 22519.129 1246.0393 l 19925.96 1494.7334 l s
0.043137256 0.34117648 0.5921569 c
15520.761 -177.37968 m 15520.761 -177.37968 l 13734.946 -2074.5027 l 15323.877 -8650.495 l 18934.744 -9690.708 l 20167.404 -6126.7686 l 19289.584 -3685.827 l e
0.0 0.0 0.0 c
15520.761 -177.37968 m 15520.761 -177.37968 l 13734.946 -2074.5027 l 15323.877 -8650.495 l 18934.744 -9690.708 l 20167.404 -6126.7686 l 19289.584 -3685.827 l 15520.761 -177.37968 l s
0.043137256 0.34117648 0.5921569 c
7242.209 -11977.449 m 10210.044 -13304.802 l 12746.9 -7925.328 l 9577.422 -7025.5664 l e
0.0 0.0 0.0 c
7242.209 -11977.449 m 10210.044 -13304.802 l 12746.9 -7925.328 l 9577.422 -7025.5664 l 7242.209 -11977.449 l s
0.043137256 0.34117648 0.5921569 c
1434.131 -16672.912 m 1424.653 -16661.068 l -3260.753 -18442.791 l -2928.569 -22032.334 l -977.15 -21786.1 l e
0.0 0.0 0.0 c
1434.131 -16672.912 m 1424.653 -16661.068 l -3260.753 -18442.791 l -2928.569 -22032.334 l -977.15 -21786.1 l 1434.131 -16672.912 l s
0.5921569 0.0 0.0 c
g 22562.225 1259.0383 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 22562.225 1259.0383 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5921569 0.0 0.0 c
g 22497.092 1206.6664 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 22497.092 1206.6664 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5921569 0.0 0.0 c
g 22507.14 1288.5963 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 22507.14 1288.5963 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5921569 0.0 0.0 c
g 1435.045 -16718.902 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 1435.045 -16718.902 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5921569 0.0 0.0 c
g 1470.548 -16643.617 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 1470.548 -16643.617 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5921569 0.0 0.0 c
g 1397.714 -16702.207 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 1397.714 -16702.207 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5921569 0.0 0.0 c
g 1378.134 -16647.87 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 1378.134 -16647.87 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5921569 0.0 0.0 c
g 1395.886 -16610.225 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 1395.886 -16610.225 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.043137256 0.34117648 0.5921569 c
13734.946 -2074.5027 m 13703.638 -2093.1917 l 14889.215 -8526.126 l 15323.877 -8650.495 l e
0.0 0.0 0.0 c
13734.946 -2074.5027 m 13703.638 -2093.1917 l 14889.215 -8526.126 l 15323.877 -8650.495 l 13734.946 -2074.5027 l s
0.043137256 0.34117648 0.5921569 c
13703.638 -2093.1917 m 13668.017 -2088.4368 l 14478.854 -8410.348 l 14889.215 -8526.126 l e
0.0 0.0 0.0 c
13703.638 -2093.1917 m 13668.017 -2088.4368 l 14478.854 -8410.348 l 14889.215 -8526.126 l 13703.638 -2093.1917 l s
0.043137256 0.34117648 0.5921569 c
15520.761 -177.37968 m 19289.584 -3685.827 l 19925.96 1494.7334 l 19925.96 1494.7334 l 17329.318 1743.8864 l e
0.0 0.0 0.0 c
15520.761 -177.37968 m 19289.584 -3685.827 l 19925.96 1494.7334 l 19925.96 1494.7334 l 17329.318 1743.8864 l 15520.761 -177.37968 l s
0.043137256 0.34117648 0.5921569 c
4274.375 -10650.097 m 7242.209 -11977.449 l 7242.209 -11977.449 l 9577.422 -7025.5664 l 9019.673 -6412.8633 l 5691.195 -7645.6914 l e
0.0 0.0 0.0 c
4274.375 -10650.097 m 7242.209 -11977.449 l 7242.209 -11977.449 l 9577.422 -7025.5664 l 9019.673 -6412.8633 l 5691.195 -7645.6914 l 4274.375 -10650.097 l s
0.043137256 0.34117648 0.5921569 c
-3052.75 -14643.381 m -3534.334 -15667.584 l -3260.753 -18442.791 l 1424.653 -16661.068 l 1424.341 -16645.742 l e
0.0 0.0 0.0 c
-3052.75 -14643.381 m -3534.334 -15667.584 l -3260.753 -18442.791 l 1424.653 -16661.068 l 1424.341 -16645.742 l -3052.75 -14643.381 l s
0.043137256 0.34117648 0.5921569 c
-3534.334 -15667.584 m -7862.748 -15252.386 l -8180.967 -17842.424 l -3252.339 -22430.557 l -3124.479 -22274.455 l -2928.569 -22032.334 l -3260.753 -18442.791 l e
0.0 0.0 0.0 c
-3534.334 -15667.584 m -7862.748 -15252.386 l -8180.967 -17842.424 l -3252.339 -22430.557 l -3124.479 -22274.455 l -2928.569 -22032.334 l -3260.753 -18442.791 l -3534.334 -15667.584 l s
0.043137256 0.34117648 0.5921569 c
2441.026 -13476.69 m 2328.95 -13494.683 l -2945.618 -14413.1 l -3052.75 -14643.381 l 1424.341 -16645.742 l 2835.587 -13653.156 l 2835.587 -13653.156 l e
0.0 0.0 0.0 c
2441.026 -13476.69 m 2328.95 -13494.683 l -2945.618 -14413.1 l -3052.75 -14643.381 l 1424.341 -16645.742 l 2835.587 -13653.156 l 2835.587 -13653.156 l 2441.026 -13476.69 l s
0.043137256 0.34117648 0.59607846 c
2391.858 -9830.94 m 2441.026 -13476.69 l 2835.587 -13653.156 l 4246.833 -10660.57 l e
0.0 0.0 0.0 c
2391.858 -9830.94 m 2441.026 -13476.69 l 2835.587 -13653.156 l 4246.833 -10660.57 l 2391.858 -9830.94 l s
0.043137256 0.34117648 0.59607846 c
9982.332 -440.02966 m 7570.292 -2381.3457 l 9019.673 -6412.8633 l 9577.422 -7025.5664 l 12746.9 -7925.328 l 14478.854 -8410.348 l 13668.017 -2088.4368 l e
0.0 0.0 0.0 c
9982.332 -440.02966 m 7570.292 -2381.3457 l 9019.673 -6412.8633 l 9577.422 -7025.5664 l 12746.9 -7925.328 l 14478.854 -8410.348 l 13668.017 -2088.4368 l 9982.332 -440.02966 l s
0.59607846 0.0 0.0 c
g 4275.289 -10696.088 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 4275.289 -10696.088 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.59607846 0.0 0.0 c
g 4310.792 -10620.803 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 4310.792 -10620.803 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.59607846 0.0 0.0 c
g 4273.461 -10604.106 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 4273.461 -10604.106 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.59607846 0.0 0.0 c
g 4200.626 -10662.695 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 4200.626 -10662.695 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.59607846 0.0 0.0 c
g 4218.378 -10625.053 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 4218.378 -10625.053 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.59607846 0.0 0.0 c
g 13756.342 -2111.1846 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 13756.342 -2111.1846 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.59607846 0.0 0.0 c
g 13732.794 -2117.4087 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 13732.794 -2117.4087 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.59607846 0.0 0.0 c
g 13685.239 -2127.2996 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 13685.239 -2127.2996 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.59607846 0.0 0.0 c
g 13661.226 -2130.9817 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 13661.226 -2130.9817 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.59607846 0.0 0.0 c
g 13696.729 -2055.6968 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 13696.729 -2055.6968 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.59607846 0.0 0.0 c
g 17344.795 1700.9363 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 17344.795 1700.9363 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.59607846 0.0 0.0 c
g 17354.885 1782.9563 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 17354.885 1782.9563 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.59607846 0.0 0.0 c
g 17285.195 1756.4183 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 17285.195 1756.4183 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.043137256 0.34117648 0.59607846 c
4258.977 -10650.808 m 4274.375 -10650.097 l 5691.195 -7645.6914 l 5034.33 -7884.3438 l 3484.308 -8500.905 l e
0.0 0.0 0.0 c
4258.977 -10650.808 m 4274.375 -10650.097 l 5691.195 -7645.6914 l 5034.33 -7884.3438 l 3484.308 -8500.905 l 4258.977 -10650.808 l s
0.043137256 0.34117648 0.59607846 c
4246.833 -10660.57 m 4258.977 -10650.808 l 3484.308 -8500.905 l 2370.362 -8927.833 l 2391.858 -9830.94 l e
0.0 0.0 0.0 c
4246.833 -10660.57 m 4258.977 -10650.808 l 3484.308 -8500.905 l 2370.362 -8927.833 l 2391.858 -9830.94 l 4246.833 -10660.57 l s
0.043137256 0.34117648 0.59607846 c
2328.95 -13494.683 m 2441.026 -13476.69 l 2391.858 -9830.94 l 2370.362 -8927.833 l 1608.297 -8587.002 l 585.128 -10756.661 l 614.975 -10896.396 l 614.975 -10896.396 l e
0.0 0.0 0.0 c
2328.95 -13494.683 m 2441.026 -13476.69 l 2391.858 -9830.94 l 2370.362 -8927.833 l 1608.297 -8587.002 l 585.128 -10756.661 l 614.975 -10896.396 l 614.975 -10896.396 l 2328.95 -13494.683 l s
0.043137256 0.34117648 0.59607846 c
614.975 -10896.396 m 614.975 -10896.396 l 551.671 -10800.423 l 498.657 -10814.526 l e
0.0 0.0 0.0 c
614.975 -10896.396 m 614.975 -10896.396 l 551.671 -10800.423 l 498.657 -10814.526 l 614.975 -10896.396 l s
0.59607846 0.0 0.0 c
g 607.45 -10805.184 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 607.45 -10805.184 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.043137256 0.34117648 0.59607846 c
614.975 -10896.396 m 585.128 -10756.661 l 551.671 -10800.423 l e
0.0 0.0 0.0 c
614.975 -10896.396 m 585.128 -10756.661 l 551.671 -10800.423 l 614.975 -10896.396 l s
0.59607846 0.0 0.0 c
g 584.691 -10810.577 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 584.691 -10810.577 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.59607846 0.0 0.0 c
g 534.422 -10854.062 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 534.422 -10854.062 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.59607846 0.0 0.0 c
g 548.178 -10835.016 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 548.178 -10835.016 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.59607846 0.0 0.0 c
g 532.788 -10771.791 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 532.788 -10771.791 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.043137256 0.34117648 0.59607846 c
2328.95 -13494.683 m 614.975 -10896.396 l 498.657 -10814.526 l -2543.204 -10954.457 l -3458.381 -11662.379 l -3500.966 -11696.317 l -2945.618 -14413.1 l e
0.0 0.0 0.0 c
2328.95 -13494.683 m 614.975 -10896.396 l 498.657 -10814.526 l -2543.204 -10954.457 l -3458.381 -11662.379 l -3500.966 -11696.317 l -2945.618 -14413.1 l 2328.95 -13494.683 l s
0.59607846 0.0 0.0 c
g -8194.641 -17886.758 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -8194.641 -17886.758 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.59607846 0.0 0.0 c
g -8137.369 -17825.895 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -8137.369 -17825.895 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.59607846 0.0 0.0 c
g -8219.525 -17817.977 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -8219.525 -17817.977 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.043137256 0.34509805 0.59607846 c
5034.33 -7884.3438 m 2687.179 -6299.2036 l 1608.297 -8587.002 l 1608.297 -8587.002 l 2370.362 -8927.833 l 3484.308 -8500.905 l e
0.0 0.0 0.0 c
5034.33 -7884.3438 m 2687.179 -6299.2036 l 1608.297 -8587.002 l 1608.297 -8587.002 l 2370.362 -8927.833 l 3484.308 -8500.905 l 5034.33 -7884.3438 l s
0.043137256 0.34509805 0.59607846 c
7182.635 -2137.8997 m 2686.162 -6297.5635 l 2687.179 -6299.2036 l 5034.33 -7884.3438 l 5691.195 -7645.6914 l 9019.673 -6412.8633 l 7570.292 -2381.3457 l e
0.0 0.0 0.0 c
7182.635 -2137.8997 m 2686.162 -6297.5635 l 2687.179 -6299.2036 l 5034.33 -7884.3438 l 5691.195 -7645.6914 l 9019.673 -6412.8633 l 7570.292 -2381.3457 l 7182.635 -2137.8997 l s
0.043137256 0.34509805 0.59607846 c
-7862.748 -15252.386 m -3534.334 -15667.584 l -3052.75 -14643.381 l -2945.618 -14413.1 l -3500.966 -11696.317 l -3862.714 -11257.517 l -7544.034 -12657.463 l -7862.748 -15252.386 l e
0.0 0.0 0.0 c
-7862.748 -15252.386 m -3534.334 -15667.584 l -3052.75 -14643.381 l -2945.618 -14413.1 l -3500.966 -11696.317 l -3862.714 -11257.517 l -7544.034 -12657.463 l -7862.748 -15252.386 l -7862.748 -15252.386 l s
0.59607846 0.0 0.0 c
g 2683.803 -6402.2217 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 2683.803 -6402.2217 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.59607846 0.0 0.0 c
g 2783.368 -6258.8813 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 2783.368 -6258.8813 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.59607846 0.0 0.0 c
g 2609.14 -6368.8296 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 2609.14 -6368.8296 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.59607846 0.0 0.0 c
g 2732.19 -6203.7573 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 2732.19 -6203.7573 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.59607846 0.0 0.0 c
g 2581.447 -6291.9727 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 2581.447 -6291.9727 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.047058824 0.34509805 0.6 c
6280.066 2484.9395 m 6928.816 -1976.1726 l 7182.635 -2137.8997 l 7570.292 -2381.3457 l 9982.332 -440.02966 l 10459.422 -48.242664 l 9153.007 3577.4333 l e
0.0 0.0 0.0 c
6280.066 2484.9395 m 6928.816 -1976.1726 l 7182.635 -2137.8997 l 7570.292 -2381.3457 l 9982.332 -440.02966 l 10459.422 -48.242664 l 9153.007 3577.4333 l 6280.066 2484.9395 l s
0.047058824 0.34509805 0.6 c
2684.616 -6296.4346 m 2686.162 -6297.5635 l 7182.635 -2137.8997 l 6928.816 -1976.1726 l 4403.08 -1886.7446 l 940.226 -3247.1968 l e
0.0 0.0 0.0 c
2684.616 -6296.4346 m 2686.162 -6297.5635 l 7182.635 -2137.8997 l 6928.816 -1976.1726 l 4403.08 -1886.7446 l 940.226 -3247.1968 l 2684.616 -6296.4346 l s
0.6 0.0 0.0 c
g -1664.429 -7993.99 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -1664.429 -7993.99 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6 0.0 0.0 c
g -1692.186 -7917.1133 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -1692.186 -7917.1133 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6 0.0 0.0 c
g -1770.151 -7946.706 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -1770.151 -7946.706 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6 0.0 0.0 c
g -7506.12 -12686.727 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -7506.12 -12686.727 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6 0.0 0.0 c
g -7588.126 -12678.875 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -7588.126 -12678.875 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6 0.0 0.0 c
g -7533.88 -12609.858 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -7533.88 -12609.858 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.047058824 0.34509805 0.6 c
2684.616 -6296.4346 m 940.226 -3247.1968 l 775.126 -3307.4216 l -408.241 -4737.4204 l 458.478 -7142.9683 l 458.478 -7142.9683 l e
0.0 0.0 0.0 c
2684.616 -6296.4346 m 940.226 -3247.1968 l 775.126 -3307.4216 l -408.241 -4737.4204 l 458.478 -7142.9683 l 458.478 -7142.9683 l 2684.616 -6296.4346 l s
0.047058824 0.34509805 0.6 c
458.478 -7142.9683 m -408.241 -4737.4204 l -2514.354 -5095.0093 l -2738.476 -5136.2217 l -1717.29 -7970.3486 l e
0.0 0.0 0.0 c
458.478 -7142.9683 m -408.241 -4737.4204 l -2514.354 -5095.0093 l -2738.476 -5136.2217 l -1717.29 -7970.3486 l 458.478 -7142.9683 l s
0.6 0.0 0.0 c
g 9205.808 3553.8184 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 9205.808 3553.8184 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6 0.0 0.0 c
g 9127.899 3524.1914 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 9127.899 3524.1914 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6 0.0 0.0 c
g 9100.206 3601.0483 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 9100.206 3601.0483 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.047058824 0.34509805 0.6 c
4403.08 -1886.7446 m 6928.816 -1976.1726 l 6280.066 2484.9395 l 6244.577 2707.1514 l 3356.454 2574.3274 l 3233.289 2527.4915 l 2370.11 697.0983 l 4035.527 -1426.8956 l e
0.0 0.0 0.0 c
4403.08 -1886.7446 m 6928.816 -1976.1726 l 6280.066 2484.9395 l 6244.577 2707.1514 l 3356.454 2574.3274 l 3233.289 2527.4915 l 2370.11 697.0983 l 4035.527 -1426.8956 l 4403.08 -1886.7446 l s
0.047058824 0.34509805 0.6 c
940.226 -3247.1968 m 4403.08 -1886.7446 l 4035.527 -1426.8956 l 381.574 207.32033 l 258.26 160.55034 l -1116.922 -945.75867 l 775.126 -3307.4216 l e
0.0 0.0 0.0 c
940.226 -3247.1968 m 4403.08 -1886.7446 l 4035.527 -1426.8956 l 381.574 207.32033 l 258.26 160.55034 l -1116.922 -945.75867 l 775.126 -3307.4216 l 940.226 -3247.1968 l s
0.047058824 0.34509805 0.6039216 c
-408.241 -4737.4204 m 775.126 -3307.4216 l -1116.922 -945.75867 l -1116.922 -945.75867 l -2573.608 -2117.5376 l -2514.354 -5095.0093 l e
0.0 0.0 0.0 c
-408.241 -4737.4204 m 775.126 -3307.4216 l -1116.922 -945.75867 l -1116.922 -945.75867 l -2573.608 -2117.5376 l -2514.354 -5095.0093 l -408.241 -4737.4204 l s
0.6039216 0.0 0.0 c
g 3274.676 2529.3655 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 3274.676 2529.3655 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.047058824 0.34509805 0.6039216 c
3233.289 2527.4915 m 3233.289 2527.4915 l 3356.454 2574.3274 l 3259.753 2583.6094 l e
0.0 0.0 0.0 c
3233.289 2527.4915 m 3233.289 2527.4915 l 3356.454 2574.3274 l 3259.753 2583.6094 l 3233.289 2527.4915 l s
0.6039216 0.0 0.0 c
g 3265.89 2553.6794 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 3265.89 2553.6794 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.047058824 0.34509805 0.6039216 c
4035.527 -1426.8956 m 2370.11 697.0983 l 662.573 2792.8174 l 288.069 2827.2683 l 337.645 328.88834 l 381.574 207.32033 l 381.574 207.32033 l e
0.0 0.0 0.0 c
4035.527 -1426.8956 m 2370.11 697.0983 l 662.573 2792.8174 l 288.069 2827.2683 l 337.645 328.88834 l 381.574 207.32033 l 381.574 207.32033 l 4035.527 -1426.8956 l s
0.6039216 0.0 0.0 c
g 3232.441 2568.6394 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 3232.441 2568.6394 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6039216 0.0 0.0 c
g 3272.981 2611.6604 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 3272.981 2611.6604 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6039216 0.0 0.0 c
g 3207.779 2559.2854 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 3207.779 2559.2854 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.047058824 0.34509805 0.6039216 c
3233.289 2527.4915 m 3259.753 2583.6094 l 3189.509 2648.9934 l e
0.0 0.0 0.0 c
3233.289 2527.4915 m 3259.753 2583.6094 l 3189.509 2648.9934 l 3233.289 2527.4915 l s
0.6039216 0.0 0.0 c
g 348.973 181.13234 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 348.973 181.13234 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.047058824 0.34509805 0.6039216 c
381.574 207.32033 m 381.574 207.32033 l 325.876 232.23033 l 258.26 160.55034 l e
0.0 0.0 0.0 c
381.574 207.32033 m 381.574 207.32033 l 325.876 232.23033 l 258.26 160.55034 l 381.574 207.32033 l s
0.6039216 0.0 0.0 c
g 340.187 205.44633 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 340.187 205.44633 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6039216 0.0 0.0 c
g 380.727 248.46733 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 380.727 248.46733 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6039216 0.0 0.0 c
g 356.064 239.11333 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 356.064 239.11333 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.047058824 0.34509805 0.6039216 c
337.645 328.88834 m 325.876 232.23033 l 381.574 207.32033 l e
0.0 0.0 0.0 c
337.645 328.88834 m 325.876 232.23033 l 381.574 207.32033 l 337.645 328.88834 l s
0.6039216 0.0 0.0 c
g 297.952 244.71935 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 297.952 244.71935 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6039216 0.0 0.0 c
g -2531.797 -2136.2378 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -2531.797 -2136.2378 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6039216 0.0 0.0 c
g -2614.571 -2139.9846 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -2614.571 -2139.9846 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6039216 0.0 0.0 c
g -2582.817 -2072.6497 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -2582.817 -2072.6497 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.047058824 0.34901962 0.6039216 c
2370.11 697.0983 m 3233.289 2527.4915 l 3233.289 2527.4915 l 3189.509 2648.9934 l 2129.143 3972.5193 l 2129.143 3972.5193 l 662.573 2792.8174 l e
0.0 0.0 0.0 c
2370.11 697.0983 m 3233.289 2527.4915 l 3233.289 2527.4915 l 3189.509 2648.9934 l 2129.143 3972.5193 l 2129.143 3972.5193 l 662.573 2792.8174 l 2370.11 697.0983 l s
0.047058824 0.34901962 0.6039216 c
662.573 2792.8174 m 2129.143 3972.5193 l 976.696 5410.9795 l -216.028 2881.7744 l 288.069 2827.2683 l e
0.0 0.0 0.0 c
662.573 2792.8174 m 2129.143 3972.5193 l 976.696 5410.9795 l -216.028 2881.7744 l 288.069 2827.2683 l 662.573 2792.8174 l s
0.60784316 0.0 0.0 c
g 1050.508 5385.7534 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 1050.508 5385.7534 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.60784316 0.0 0.0 c
g 985.305 5333.3784 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 985.305 5333.3784 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.60784316 0.0 0.0 c
g 910.643 5366.7705 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 910.643 5366.7705 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.7490196 0.0 0.0 c
g -514086.16 -216401.56 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -514086.16 -216401.56 t 1.0 1.0 s 0 0 2.0 0 360.0 as
1.0 0.0 0.0 c
g -173256.94 506336.2 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -173256.94 506336.2 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.0 0.0 0.0 c

View File

@ -1,774 +0,0 @@
%!PS-Adobe-3.0 EPSF-3.0
%%Title: Object_44
%%Date: Mon Mar 24 13:58:45 GMT 2008
%%Creator: JavaView v.2.42 PostScript Export
%%JavaView is Copyright 1999-2002, http://www.javaview.de/
%%by Konrad Polthier, Samy Khadem, Eike Preuss, Ulrich Reitebuch
%%PostScript filter based on: PSGr Java PostScript Context
%%PSGr is (C) 1996 Ernest Friedman-Hill and Sandia National Labs
%%BoundingBox: 10 10 602 483
%%EndComments
%%BeginProlog
10 10 translate
%%Modify scaling when including in TeX:
0.925 0.925 scale
/Helvetica findfont 12 scalefont setfont
/c {setrgbcolor} bind def
/e {eofill} bind def
/g {gsave} bind def
/l {lineto} bind def
/m {moveto} bind def
/s {stroke} bind def
/t {translate} bind def
/w {show} bind def
/ac {arc closepath eofill grestore} bind def
/as {arc stroke grestore} bind def
%%EndProlog
%Uncomment the following to edit the width of lines.
% 1.0 setlinewidth
0.2 0.0 0.0 c
g 125557.49 -886687.25 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 125557.49 -886687.25 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.27450982 0.0 0.0 c
g 925218.5 122614.82 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 925218.5 122614.82 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5529412 0.0 0.0 c
g 27364.848 -49602.656 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 27364.848 -49602.656 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5529412 0.0 0.0 c
g 27208.61 -49620.215 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 27208.61 -49620.215 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5529412 0.0 0.0 c
g 27278.156 -49506.418 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 27278.156 -49506.418 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5529412 0.0 0.0 c
g 37711.395 -40706.32 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 37711.395 -40706.32 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5568628 0.0 0.0 c
g 37624.723 -40610.055 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 37624.723 -40610.055 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5568628 0.0 0.0 c
g 37730.977 -40526.734 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 37730.977 -40526.734 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.043137256 0.32156864 0.5568628 c
26098.88 -38005.74 m 24819.064 -39228.137 l 18895.793 -44936.406 l 27284.705 -49586.29 l 32494.783 -45106.355 l 32494.783 -45106.355 l e
0.0 0.0 0.0 c
26098.88 -38005.74 m 24819.064 -39228.137 l 18895.793 -44936.406 l 27284.705 -49586.29 l 32494.783 -45106.355 l 32494.783 -45106.355 l 26098.88 -38005.74 l s
0.5568628 0.0 0.0 c
g 48243.27 -31632.318 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 48243.27 -31632.318 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5568628 0.0 0.0 c
g 48054.85 -31660.277 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 48054.85 -31660.277 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.56078434 0.0 0.0 c
g 48138.15 -31555.14 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 48138.15 -31555.14 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.043137256 0.32156864 0.56078434 c
26582.08 -35772.25 m 26098.88 -38005.74 l 32494.783 -45106.355 l 37716.88 -40616.293 l 30969.818 -32334.988 l e
0.0 0.0 0.0 c
26582.08 -35772.25 m 26098.88 -38005.74 l 32494.783 -45106.355 l 37716.88 -40616.293 l 30969.818 -32334.988 l 26582.08 -35772.25 l s
0.043137256 0.3254902 0.5647059 c
17596.191 -46172.32 m 18895.793 -44936.406 l 24819.064 -39228.137 l 14220.581 -36675.363 l 14210.951 -36689.914 l e
0.0 0.0 0.0 c
17596.191 -46172.32 m 18895.793 -44936.406 l 24819.064 -39228.137 l 14220.581 -36675.363 l 14210.951 -36689.914 l 17596.191 -46172.32 l s
0.043137256 0.3254902 0.5647059 c
17596.191 -46172.32 m 14210.951 -36689.914 l 11538.636 -37998.88 l 13457.96 -41922.41 l 16256.52 -47456.97 l e
0.0 0.0 0.0 c
17596.191 -46172.32 m 14210.951 -36689.914 l 11538.636 -37998.88 l 13457.96 -41922.41 l 16256.52 -47456.97 l 17596.191 -46172.32 l s
0.043137256 0.3254902 0.5686275 c
24819.064 -39228.137 m 26098.88 -38005.74 l 26582.08 -35772.25 l 20583.57 -31368.16 l 14220.102 -36658.383 l 14220.581 -36675.363 l e
0.0 0.0 0.0 c
24819.064 -39228.137 m 26098.88 -38005.74 l 26582.08 -35772.25 l 20583.57 -31368.16 l 14220.102 -36658.383 l 14220.581 -36675.363 l 24819.064 -39228.137 l s
0.043137256 0.3254902 0.5686275 c
59480.023 -17344.781 m 57514.938 -17159.453 l 50170.934 -16495.285 l 43017.8 -17543.824 l 38567.426 -24611.441 l 48149.06 -31646.297 l e
0.0 0.0 0.0 c
59480.023 -17344.781 m 57514.938 -17159.453 l 50170.934 -16495.285 l 43017.8 -17543.824 l 38567.426 -24611.441 l 48149.06 -31646.297 l 59480.023 -17344.781 l s
0.043137256 0.32941177 0.5686275 c
11538.636 -37998.88 m 11538.636 -37998.88 l 8799.752 -39340.457 l 13457.96 -41922.41 l e
0.0 0.0 0.0 c
11538.636 -37998.88 m 11538.636 -37998.88 l 8799.752 -39340.457 l 13457.96 -41922.41 l 11538.636 -37998.88 l s
0.57254905 0.0 0.0 c
g 8872.061 -39456.74 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 8872.061 -39456.74 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.57254905 0.0 0.0 c
g 14276.353 -36739.992 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 14276.353 -36739.992 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.57254905 0.0 0.0 c
g 14192.382 -36770.934 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 14192.382 -36770.934 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.57254905 0.0 0.0 c
g 8941.658 -39342.87 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 8941.658 -39342.87 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.57254905 0.0 0.0 c
g 14304.095 -36644.29 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 14304.095 -36644.29 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.57254905 0.0 0.0 c
g 14135.615 -36654.887 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 14135.615 -36654.887 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.57254905 0.0 0.0 c
g 14247.87 -36579.56 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 14247.87 -36579.56 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.57254905 0.0 0.0 c
g 8884.957 -39226.746 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 8884.957 -39226.746 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.043137256 0.32941177 0.57254905 c
14688.134 -26988.766 m 20583.57 -31368.16 l 26582.08 -35772.25 l 30969.818 -32334.988 l 30969.818 -32334.988 l 24264.361 -24104.752 l e
0.0 0.0 0.0 c
14688.134 -26988.766 m 20583.57 -31368.16 l 26582.08 -35772.25 l 30969.818 -32334.988 l 30969.818 -32334.988 l 24264.361 -24104.752 l 14688.134 -26988.766 l s
0.043137256 0.33333334 0.5764706 c
14220.102 -36658.383 m 20583.57 -31368.16 l 14688.134 -26988.766 l 14345.316 -26735.271 l 9583.062 -29930.953 l 9583.062 -29930.953 l e
0.0 0.0 0.0 c
14220.102 -36658.383 m 20583.57 -31368.16 l 14688.134 -26988.766 l 14345.316 -26735.271 l 9583.062 -29930.953 l 9583.062 -29930.953 l 14220.102 -36658.383 l s
0.5764706 0.0 0.0 c
g 24208.572 -24143.146 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 24208.572 -24143.146 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5803922 0.0 0.0 c
g 24314.889 -24059.87 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 24314.889 -24059.87 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5803922 0.0 0.0 c
g 24197.29 -24103.37 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 24197.29 -24103.37 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5803922 0.0 0.0 c
g 24197.871 -24023.14 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 24197.871 -24023.14 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5803922 0.0 0.0 c
g 24209.77 -23982.688 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 24209.77 -23982.688 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.043137256 0.33333334 0.5803922 c
38567.426 -24611.441 m 43017.8 -17543.824 l 42145.766 -16731.725 l 37957.164 -12843.505 l 34442.492 -9604.137 l 30280.12 -5782.7 l 27607.031 -19877.785 l 38409.742 -24858.852 l e
0.0 0.0 0.0 c
38567.426 -24611.441 m 43017.8 -17543.824 l 42145.766 -16731.725 l 37957.164 -12843.505 l 34442.492 -9604.137 l 30280.12 -5782.7 l 27607.031 -19877.785 l 38409.742 -24858.852 l 38567.426 -24611.441 l s
0.043137256 0.33333334 0.5803922 c
14688.134 -26988.766 m 24264.361 -24104.752 l 24248.977 -24061.76 l 14554.074 -24341.463 l 14345.316 -26735.271 l e
0.0 0.0 0.0 c
14688.134 -26988.766 m 24264.361 -24104.752 l 24248.977 -24061.76 l 14554.074 -24341.463 l 14345.316 -26735.271 l 14688.134 -26988.766 l s
0.043137256 0.33333334 0.5803922 c
44708.28 -2468.5527 m 42145.766 -16731.725 l 43017.8 -17543.824 l 50170.934 -16495.285 l 48426.086 -1916.9067 l e
0.0 0.0 0.0 c
44708.28 -2468.5527 m 42145.766 -16731.725 l 43017.8 -17543.824 l 50170.934 -16495.285 l 48426.086 -1916.9067 l 44708.28 -2468.5527 l s
0.5803922 0.0 0.0 c
g 27580.139 -19938.592 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 27580.139 -19938.592 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5803922 0.0 0.0 c
g 27641.201 -19820.344 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 27641.201 -19820.344 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5803922 0.0 0.0 c
g 27595.873 -19813.803 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 27595.873 -19813.803 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5803922 0.0 0.0 c
g 27475.02 -19861.412 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 27475.02 -19861.412 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5803922 0.0 0.0 c
g 27512.775 -19834.324 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 27512.775 -19834.324 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.043137256 0.33333334 0.5803922 c
48426.086 -1916.9067 m 50170.934 -16495.285 l 57514.938 -17159.453 l 52194.414 -1357.7617 l 48426.086 -1916.9067 l e
0.0 0.0 0.0 c
48426.086 -1916.9067 m 50170.934 -16495.285 l 57514.938 -17159.453 l 52194.414 -1357.7617 l 48426.086 -1916.9067 l 48426.086 -1916.9067 l s
0.043137256 0.33333334 0.5803922 c
14754.512 -21920.525 m 14554.074 -24341.463 l 24248.977 -24061.76 l 24265.027 -24017.873 l 14871.629 -21720.588 l e
0.0 0.0 0.0 c
14754.512 -21920.525 m 14554.074 -24341.463 l 24248.977 -24061.76 l 24265.027 -24017.873 l 14871.629 -21720.588 l 14754.512 -21920.525 l s
0.043137256 0.3372549 0.58431375 c
14871.629 -21720.588 m 24265.027 -24017.873 l 25894.953 -21960.64 l 25894.953 -21960.64 l 18092.225 -16231.859 l 15379.722 -20848.861 l e
0.0 0.0 0.0 c
14871.629 -21720.588 m 24265.027 -24017.873 l 25894.953 -21960.64 l 25894.953 -21960.64 l 18092.225 -16231.859 l 15379.722 -20848.861 l 14871.629 -21720.588 l s
0.043137256 0.3372549 0.58431375 c
37957.164 -12843.505 m 42145.766 -16731.725 l 44708.28 -2468.5527 l 44667.746 -2460.5767 l e
0.0 0.0 0.0 c
37957.164 -12843.505 m 42145.766 -16731.725 l 44708.28 -2468.5527 l 44667.746 -2460.5767 l 37957.164 -12843.505 l s
0.043137256 0.3372549 0.5882353 c
6753.232 -19411.941 m 5022.582 -23062.31 l 5022.582 -23062.31 l 5005.421 -23289.672 l 9583.062 -29930.953 l 14345.316 -26735.271 l 14554.074 -24341.463 l 14754.512 -21920.525 l 8391.952 -19911.275 l e
0.0 0.0 0.0 c
6753.232 -19411.941 m 5022.582 -23062.31 l 5022.582 -23062.31 l 5005.421 -23289.672 l 9583.062 -29930.953 l 14345.316 -26735.271 l 14554.074 -24341.463 l 14754.512 -21920.525 l 8391.952 -19911.275 l 6753.232 -19411.941 l s
0.043137256 0.3372549 0.5882353 c
25210.67 -9428.386 m 22027.428 -12466.835 l 27530.129 -19896.785 l 27565.656 -19874.312 l e
0.0 0.0 0.0 c
25210.67 -9428.386 m 22027.428 -12466.835 l 27530.129 -19896.785 l 27565.656 -19874.312 l 25210.67 -9428.386 l s
0.043137256 0.3372549 0.5882353 c
27530.129 -19896.785 m 22027.428 -12466.835 l 22002.213 -12490.793 l 18092.604 -16230.508 l 18092.225 -16231.859 l 25894.953 -21960.64 l e
0.0 0.0 0.0 c
27530.129 -19896.785 m 22027.428 -12466.835 l 22002.213 -12490.793 l 18092.604 -16230.508 l 18092.225 -16231.859 l 25894.953 -21960.64 l 27530.129 -19896.785 l s
0.5882353 0.0 0.0 c
g 52275.086 -1385.7236 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 52275.086 -1385.7236 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5882353 0.0 0.0 c
g 52147.53 -1430.3297 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 52147.53 -1430.3297 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5882353 0.0 0.0 c
g 52132.117 -1301.3767 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 52132.117 -1301.3767 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.043137256 0.3372549 0.5882353 c
34442.492 -9604.137 m 37957.164 -12843.505 l 44667.746 -2460.5767 l 44642.1 -2429.5728 l e
0.0 0.0 0.0 c
34442.492 -9604.137 m 37957.164 -12843.505 l 44667.746 -2460.5767 l 44642.1 -2429.5728 l 34442.492 -9604.137 l s
0.043137256 0.3372549 0.5882353 c
30280.12 -5782.7 m 29627.217 -5181.3096 l 25210.67 -9428.386 l 27565.656 -19874.312 l 27607.031 -19877.785 l e
0.0 0.0 0.0 c
30280.12 -5782.7 m 29627.217 -5181.3096 l 25210.67 -9428.386 l 27565.656 -19874.312 l 27607.031 -19877.785 l 30280.12 -5782.7 l s
0.5882353 0.0 0.0 c
g 4918.267 -23282.322 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 4918.267 -23282.322 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5882353 0.0 0.0 c
g 5030.522 -23206.994 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 5030.522 -23206.994 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5882353 0.0 0.0 c
g 4992.91 -23205.654 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 4992.91 -23205.654 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.043137256 0.3372549 0.5882353 c
5005.421 -23289.672 m 5022.582 -23062.31 l 4942.227 -23231.768 l e
0.0 0.0 0.0 c
5005.421 -23289.672 m 5022.582 -23062.31 l 4942.227 -23231.768 l 5005.421 -23289.672 l s
0.5882353 0.0 0.0 c
g 4929.048 -23178.854 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 4929.048 -23178.854 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.043137256 0.3372549 0.5882353 c
4942.227 -23231.768 m 5022.582 -23062.31 l 5022.582 -23062.31 l 4854.236 -23226.23 l e
0.0 0.0 0.0 c
4942.227 -23231.768 m 5022.582 -23062.31 l 5022.582 -23062.31 l 4854.236 -23226.23 l 4942.227 -23231.768 l s
0.5882353 0.0 0.0 c
g 4902.84 -23153.426 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 4902.84 -23153.426 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.043137256 0.3372549 0.5882353 c
7845.41 -15344.8545 m 8391.952 -19911.275 l 14754.512 -21920.525 l 14871.629 -21720.588 l 15379.722 -20848.861 l 7868.054 -15333.775 l e
0.0 0.0 0.0 c
7845.41 -15344.8545 m 8391.952 -19911.275 l 14754.512 -21920.525 l 14871.629 -21720.588 l 15379.722 -20848.861 l 7868.054 -15333.775 l 7845.41 -15344.8545 l s
0.5882353 0.0 0.0 c
g 44720.066 -2532.4158 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 44720.066 -2532.4158 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5882353 0.0 0.0 c
g 44674.652 -2526.2766 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 44674.652 -2526.2766 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5882353 0.0 0.0 c
g 44603.145 -2484.1536 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 44603.145 -2484.1536 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5882353 0.0 0.0 c
g 44704.637 -2403.4827 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 44704.637 -2403.4827 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5882353 0.0 0.0 c
g 44577.03 -2448.1526 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 44577.03 -2448.1526 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5921569 0.0 0.0 c
g -2541.582 -24389.232 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -2541.582 -24389.232 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.043137256 0.34117648 0.5921569 c
4854.236 -23226.23 m 5022.582 -23062.31 l 6753.232 -19411.941 l 5035.181 -18856.86 l 418.523 -17403.783 l 1180.637 -23771.318 l 1180.637 -23771.318 l e
0.0 0.0 0.0 c
4854.236 -23226.23 m 5022.582 -23062.31 l 6753.232 -19411.941 l 5035.181 -18856.86 l 418.523 -17403.783 l 1180.637 -23771.318 l 1180.637 -23771.318 l 4854.236 -23226.23 l s
0.5921569 0.0 0.0 c
g -2659.299 -24348.268 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -2659.299 -24348.268 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5921569 0.0 0.0 c
g -2557.013 -24260.3 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -2557.013 -24260.3 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.043137256 0.34117648 0.5921569 c
11179.15 -11154.635 m 7868.054 -15333.775 l 15379.722 -20848.861 l 18092.225 -16231.859 l 18092.604 -16230.508 l 11179.15 -11154.635 l e
0.0 0.0 0.0 c
11179.15 -11154.635 m 7868.054 -15333.775 l 15379.722 -20848.861 l 18092.225 -16231.859 l 18092.604 -16230.508 l 11179.15 -11154.635 l 11179.15 -11154.635 l s
0.043137256 0.34117648 0.5921569 c
5035.181 -18856.86 m 6753.232 -19411.941 l 8391.952 -19911.275 l 7845.41 -15344.8545 l 7820.95 -15340.766 l e
0.0 0.0 0.0 c
5035.181 -18856.86 m 6753.232 -19411.941 l 8391.952 -19911.275 l 7845.41 -15344.8545 l 7820.95 -15340.766 l 5035.181 -18856.86 l s
0.043137256 0.34117648 0.59607846 c
42245.36 4688.5835 m 32754.24 873.66736 l 29514.986 -4254.7393 l 29569.938 -4714.7754 l 29627.217 -5181.3096 l 30280.12 -5782.7 l 34442.492 -9604.137 l 44642.1 -2429.5728 l e
0.0 0.0 0.0 c
42245.36 4688.5835 m 32754.24 873.66736 l 29514.986 -4254.7393 l 29569.938 -4714.7754 l 29627.217 -5181.3096 l 30280.12 -5782.7 l 34442.492 -9604.137 l 44642.1 -2429.5728 l 42245.36 4688.5835 l s
0.043137256 0.34117648 0.59607846 c
11179.15 -11154.635 m 18092.604 -16230.508 l 22002.213 -12490.793 l 14490.247 -6975.4927 l e
0.0 0.0 0.0 c
11179.15 -11154.635 m 18092.604 -16230.508 l 22002.213 -12490.793 l 14490.247 -6975.4927 l 11179.15 -11154.635 l s
0.043137256 0.34117648 0.59607846 c
14495.363 -6951.533 m 14490.247 -6975.4927 l 22002.213 -12490.793 l 22027.428 -12466.835 l 25210.67 -9428.386 l 29627.217 -5181.3096 l 29569.938 -4714.7754 l e
0.0 0.0 0.0 c
14495.363 -6951.533 m 14490.247 -6975.4927 l 22002.213 -12490.793 l 22027.428 -12466.835 l 25210.67 -9428.386 l 29627.217 -5181.3096 l 29569.938 -4714.7754 l 14495.363 -6951.533 l s
0.59607846 0.0 0.0 c
g 7899.789 -15398.648 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 7899.789 -15398.648 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.59607846 0.0 0.0 c
g 7941.438 -15346.081 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 7941.438 -15346.081 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.59607846 0.0 0.0 c
g 7805.581 -15412.627 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 7805.581 -15412.627 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.59607846 0.0 0.0 c
g 7753.021 -15374.038 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 7753.021 -15374.038 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.59607846 0.0 0.0 c
g 7836.319 -15268.902 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 7836.319 -15268.902 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.043137256 0.34509805 0.59607846 c
-29.561 -16907.639 m 418.523 -17403.783 l 5035.181 -18856.86 l 7820.95 -15340.766 l 3642.481 -12272.924 l e
0.0 0.0 0.0 c
-29.561 -16907.639 m 418.523 -17403.783 l 5035.181 -18856.86 l 7820.95 -15340.766 l 3642.481 -12272.924 l -29.561 -16907.639 l s
0.043137256 0.34509805 0.59607846 c
-9349.727 -16069.434 m -9746.043 -16379.941 l -2584.946 -24330.057 l 1180.637 -23771.318 l 418.523 -17403.783 l -29.561 -16907.639 l -6193.388 -16345.643 l e
0.0 0.0 0.0 c
-9349.727 -16069.434 m -9746.043 -16379.941 l -2584.946 -24330.057 l 1180.637 -23771.318 l 418.523 -17403.783 l -29.561 -16907.639 l -6193.388 -16345.643 l -9349.727 -16069.434 l s
0.047058824 0.34509805 0.6 c
14484.792 -6929.9146 m 14495.363 -6951.533 l 29569.938 -4714.7754 l 29514.986 -4254.7393 l 24221.162 -1416.3796 l 23583.602 -1076.0287 l 22981.092 -757.2527 l 20436.82 582.50934 l e
0.0 0.0 0.0 c
14484.792 -6929.9146 m 14495.363 -6951.533 l 29569.938 -4714.7754 l 29514.986 -4254.7393 l 24221.162 -1416.3796 l 23583.602 -1076.0287 l 22981.092 -757.2527 l 20436.82 582.50934 l 14484.792 -6929.9146 l s
0.6 0.0 0.0 c
g 14521.982 -7040.365 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 14521.982 -7040.365 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6 0.0 0.0 c
g 14563.631 -6987.7983 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 14563.631 -6987.7983 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6 0.0 0.0 c
g 14552.72 -6896.6406 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 14552.72 -6896.6406 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6 0.0 0.0 c
g 14416.863 -6963.1875 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 14416.863 -6963.1875 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6 0.0 0.0 c
g 14500.161 -6858.0513 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 14500.161 -6858.0513 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.047058824 0.34509805 0.6 c
3642.481 -12272.924 m -535.987 -9205.082 l -6193.388 -16345.643 l -29.561 -16907.639 l 3642.481 -12272.924 l e
0.0 0.0 0.0 c
3642.481 -12272.924 m -535.987 -9205.082 l -6193.388 -16345.643 l -29.561 -16907.639 l 3642.481 -12272.924 l 3642.481 -12272.924 l s
0.047058824 0.34509805 0.6039216 c
35159.863 12812.979 m 32266.84 4967.9287 l 32754.24 873.66736 l 42245.36 4688.5835 l 42457.51 4775.8765 l 39143.76 11549.927 l e
0.0 0.0 0.0 c
35159.863 12812.979 m 32266.84 4967.9287 l 32754.24 873.66736 l 42245.36 4688.5835 l 42457.51 4775.8765 l 39143.76 11549.927 l 35159.863 12812.979 l s
0.047058824 0.34901962 0.6039216 c
-535.987 -9205.082 m -546.552 -9183.456 l -8560.029 -10372.494 l -9349.727 -16069.434 l -6193.388 -16345.643 l e
0.0 0.0 0.0 c
-535.987 -9205.082 m -546.552 -9183.456 l -8560.029 -10372.494 l -9349.727 -16069.434 l -6193.388 -16345.643 l -535.987 -9205.082 l s
0.047058824 0.34901962 0.6039216 c
10306.323 -3862.0725 m 14484.792 -6929.9146 l 20436.82 582.50934 l 15785.25 3053.2224 l e
0.0 0.0 0.0 c
10306.323 -3862.0725 m 14484.792 -6929.9146 l 20436.82 582.50934 l 15785.25 3053.2224 l 10306.323 -3862.0725 l s
0.047058824 0.34901962 0.6039216 c
27626.742 11699.799 m 27626.742 11699.799 l 24127.363 9351.56 l 24221.162 -1416.3796 l 29514.986 -4254.7393 l 32754.24 873.66736 l 32266.84 4967.9287 l e
0.0 0.0 0.0 c
27626.742 11699.799 m 27626.742 11699.799 l 24127.363 9351.56 l 24221.162 -1416.3796 l 29514.986 -4254.7393 l 32754.24 873.66736 l 32266.84 4967.9287 l 27626.742 11699.799 l s
0.60784316 0.0 0.0 c
g -551.356 -9276.944 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -551.356 -9276.944 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.60784316 0.0 0.0 c
g -468.058 -9171.81 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -468.058 -9171.81 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.60784316 0.0 0.0 c
g -603.915 -9238.355 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -603.915 -9238.355 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.60784316 0.0 0.0 c
g -614.826 -9147.198 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -614.826 -9147.198 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.60784316 0.0 0.0 c
g -573.177 -9094.631 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -573.177 -9094.631 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.60784316 0.0 0.0 c
g 39216.223 11555.59 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 39216.223 11555.59 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.60784316 0.0 0.0 c
g 39094.742 11496.113 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 39094.742 11496.113 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.047058824 0.34901962 0.60784316 c
24127.363 9351.56 m 24071.34 9333.06 l 23583.602 -1076.0287 l 24221.162 -1416.3796 l e
0.0 0.0 0.0 c
24127.363 9351.56 m 24071.34 9333.06 l 23583.602 -1076.0287 l 24221.162 -1416.3796 l 24127.363 9351.56 l s
0.60784316 0.0 0.0 c
g 39140.473 11620.188 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 39140.473 11620.188 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.047058824 0.34901962 0.60784316 c
24071.34 9333.06 m 24017.104 9352.492 l 22981.092 -757.2527 l 23583.602 -1076.0287 l e
0.0 0.0 0.0 c
24071.34 9333.06 m 24017.104 9352.492 l 22981.092 -757.2527 l 23583.602 -1076.0287 l 24071.34 9333.06 l s
0.047058824 0.34901962 0.60784316 c
-7975.819 -5962.3223 m -14625.546 -3853.9485 l -16072.019 -7776.085 l -10003.999 -16579.61 l -9746.043 -16379.941 l -9349.727 -16069.434 l -8560.029 -10372.494 l e
0.0 0.0 0.0 c
-7975.819 -5962.3223 m -14625.546 -3853.9485 l -16072.019 -7776.085 l -10003.999 -16579.61 l -9746.043 -16379.941 l -9349.727 -16069.434 l -8560.029 -10372.494 l -7975.819 -5962.3223 l s
0.047058824 0.34901962 0.60784316 c
-6844.822 -4531.5474 m -7975.819 -5962.3223 l -8560.029 -10372.494 l -546.552 -9183.456 l -541.442 -9159.504 l e
0.0 0.0 0.0 c
-6844.822 -4531.5474 m -7975.819 -5962.3223 l -8560.029 -10372.494 l -546.552 -9183.456 l -541.442 -9159.504 l -6844.822 -4531.5474 l s
0.047058824 0.34901962 0.6117647 c
6127.854 -794.2317 m 10306.323 -3862.0725 l 10306.323 -3862.0725 l 15785.25 3053.2224 l 15132.723 4194.9214 l 9452.028 3401.4153 l e
0.0 0.0 0.0 c
6127.854 -794.2317 m 10306.323 -3862.0725 l 10306.323 -3862.0725 l 15785.25 3053.2224 l 15132.723 4194.9214 l 9452.028 3401.4153 l 6127.854 -794.2317 l s
0.047058824 0.34901962 0.6117647 c
2214.143 -4572.5054 m 2031.458 -4562.6313 l -6592.333 -4209.4653 l -6844.822 -4531.5474 l -541.442 -9159.504 l 2769.654 -4980.3623 l 2769.654 -4980.3623 l e
0.0 0.0 0.0 c
2214.143 -4572.5054 m 2031.458 -4562.6313 l -6592.333 -4209.4653 l -6844.822 -4531.5474 l -541.442 -9159.504 l 2769.654 -4980.3623 l 2769.654 -4980.3623 l 2214.143 -4572.5054 l s
0.047058824 0.3529412 0.6117647 c
27626.742 11699.799 m 32266.84 4967.9287 l 35159.863 12812.979 l 35159.863 12812.979 l 31170.676 14077.918 l e
0.0 0.0 0.0 c
27626.742 11699.799 m 32266.84 4967.9287 l 35159.863 12812.979 l 35159.863 12812.979 l 31170.676 14077.918 l 27626.742 11699.799 l s
0.047058824 0.3529412 0.6117647 c
3469.097 1116.2604 m 2214.143 -4572.5054 l 2769.654 -4980.3623 l 6080.75 -801.2207 l e
0.0 0.0 0.0 c
3469.097 1116.2604 m 2214.143 -4572.5054 l 2769.654 -4980.3623 l 6080.75 -801.2207 l 3469.097 1116.2604 l s
0.6117647 0.0 0.0 c
g 6112.485 -866.0936 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 6112.485 -866.0936 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6117647 0.0 0.0 c
g 6195.783 -760.95874 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 6195.783 -760.95874 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6117647 0.0 0.0 c
g 6143.224 -722.3696 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 6143.224 -722.3696 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6117647 0.0 0.0 c
g 6007.366 -788.91565 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 6007.366 -788.91565 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6117647 0.0 0.0 c
g 6049.015 -736.34766 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 6049.015 -736.34766 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.047058824 0.3529412 0.6117647 c
18827.96 13162.373 m 14328.418 10956.952 l 15132.723 4194.9214 l 15785.25 3053.2224 l 20436.82 582.50934 l 22981.092 -757.2527 l 24017.104 9352.492 l e
0.0 0.0 0.0 c
18827.96 13162.373 m 14328.418 10956.952 l 15132.723 4194.9214 l 15785.25 3053.2224 l 20436.82 582.50934 l 22981.092 -757.2527 l 24017.104 9352.492 l 18827.96 13162.373 l s
0.6117647 0.0 0.0 c
g 24147.584 9287.26 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 24147.584 9287.26 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6117647 0.0 0.0 c
g 24108.305 9285.532 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 24108.305 9285.532 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6117647 0.0 0.0 c
g 24029.967 9286.211 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 24029.967 9286.211 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6117647 0.0 0.0 c
g 23990.889 9288.595 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 23990.889 9288.595 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6117647 0.0 0.0 c
g 24074.184 9393.73 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 24074.184 9393.73 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.047058824 0.3529412 0.6117647 c
6103.4 -790.13464 m 6127.854 -794.2317 l 9452.028 3401.4153 l 8332.657 3252.0413 l 5671.731 2816.4683 l e
0.0 0.0 0.0 c
6103.4 -790.13464 m 6127.854 -794.2317 l 9452.028 3401.4153 l 8332.657 3252.0413 l 5671.731 2816.4683 l 6103.4 -790.13464 l s
0.047058824 0.3529412 0.6117647 c
6080.75 -801.2207 m 6103.4 -790.13464 l 5671.731 2816.4683 l 3765.328 2528.5994 l 3469.097 1116.2604 l e
0.0 0.0 0.0 c
6080.75 -801.2207 m 6103.4 -790.13464 l 5671.731 2816.4683 l 3765.328 2528.5994 l 3469.097 1116.2604 l 6080.75 -801.2207 l s
0.6117647 0.0 0.0 c
g 31179.3 14005.866 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 31179.3 14005.866 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6117647 0.0 0.0 c
g 31225.129 14130.065 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 31225.129 14130.065 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6156863 0.0 0.0 c
g 31105.924 14112.322 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 31105.924 14112.322 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.047058824 0.3529412 0.6156863 c
2031.458 -4562.6313 m 2214.143 -4572.5054 l 3469.097 1116.2604 l 3765.328 2528.5994 l 2692.402 3316.3442 l 291.82 286.42032 l 287.659 58.932323 l 287.659 58.932323 l e
0.0 0.0 0.0 c
2031.458 -4562.6313 m 2214.143 -4572.5054 l 3469.097 1116.2604 l 3765.328 2528.5994 l 2692.402 3316.3442 l 291.82 286.42032 l 287.659 58.932323 l 287.659 58.932323 l 2031.458 -4562.6313 l s
0.047058824 0.3529412 0.6156863 c
287.659 58.932323 m 287.659 58.932323 l 223.257 229.64034 l 134.8 225.60735 l e
0.0 0.0 0.0 c
287.659 58.932323 m 287.659 58.932323 l 223.257 229.64034 l 134.8 225.60735 l 287.659 58.932323 l s
0.6156863 0.0 0.0 c
g 309.166 203.38634 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 309.166 203.38634 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.047058824 0.3529412 0.6156863 c
287.659 58.932323 m 291.82 286.42032 l 223.257 229.64034 l e
0.0 0.0 0.0 c
287.659 58.932323 m 291.82 286.42032 l 223.257 229.64034 l 287.659 58.932323 l s
0.6156863 0.0 0.0 c
g 176.553 152.01534 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 176.553 152.01534 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6156863 0.0 0.0 c
g 271.432 202.68434 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 271.432 202.68434 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6156863 0.0 0.0 c
g 205.127 176.99934 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 205.127 176.99934 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6156863 0.0 0.0 c
g -16109.706 -7840.4424 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -16109.706 -7840.4424 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6156863 0.0 0.0 c
g -15997.472 -7765.0986 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -15997.472 -7765.0986 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6156863 0.0 0.0 c
g 204.047 280.56433 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 204.047 280.56433 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6156863 0.0 0.0 c
g -16123.674 -7725.0234 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -16123.674 -7725.0234 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.047058824 0.3529412 0.6156863 c
2031.458 -4562.6313 m 287.659 58.932323 l 134.8 225.60735 l -4696.159 1035.6204 l -6392.906 243.42033 l -6472.224 205.00633 l -6592.333 -4209.4653 l e
0.0 0.0 0.0 c
2031.458 -4562.6313 m 287.659 58.932323 l 134.8 225.60735 l -4696.159 1035.6204 l -6392.906 243.42033 l -6472.224 205.00633 l -6592.333 -4209.4653 l 2031.458 -4562.6313 l s
0.047058824 0.3529412 0.6156863 c
8332.657 3252.0413 m 5223.699 6511.2524 l 2692.402 3316.3442 l 2692.402 3316.3442 l 3765.328 2528.5994 l 5671.731 2816.4683 l e
0.0 0.0 0.0 c
8332.657 3252.0413 m 5223.699 6511.2524 l 2692.402 3316.3442 l 2692.402 3316.3442 l 3765.328 2528.5994 l 5671.731 2816.4683 l 8332.657 3252.0413 l s
0.047058824 0.3529412 0.6156863 c
13808.233 11466.687 m 5222.701 6514.1475 l 5223.699 6511.2524 l 8332.657 3252.0413 l 9452.028 3401.4153 l 15132.723 4194.9214 l 14328.418 10956.952 l e
0.0 0.0 0.0 c
13808.233 11466.687 m 5222.701 6514.1475 l 5223.699 6511.2524 l 8332.657 3252.0413 l 9452.028 3401.4153 l 15132.723 4194.9214 l 14328.418 10956.952 l 13808.233 11466.687 l s
0.047058824 0.35686275 0.6156863 c
-14625.546 -3853.9485 m -7975.819 -5962.3223 l -6844.822 -4531.5474 l -6592.333 -4209.4653 l -6472.224 205.00633 l -6880.311 1009.92236 l -13176.512 75.62034 l -14625.546 -3853.9485 l e
0.0 0.0 0.0 c
-14625.546 -3853.9485 m -7975.819 -5962.3223 l -6844.822 -4531.5474 l -6592.333 -4209.4653 l -6472.224 205.00633 l -6880.311 1009.92236 l -13176.512 75.62034 l -14625.546 -3853.9485 l -14625.546 -3853.9485 l s
0.61960787 0.0 0.0 c
g 5180.749 6352.1147 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 5180.749 6352.1147 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.61960787 0.0 0.0 c
g 5389.58 6541.488 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 5389.58 6541.488 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.61960787 0.0 0.0 c
g 5075.63 6429.2935 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 5075.63 6429.2935 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.61960787 0.0 0.0 c
g 5329.304 6644.5435 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 5329.304 6644.5435 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.61960787 0.0 0.0 c
g 5060.199 6558.2256 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 5060.199 6558.2256 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.047058824 0.35686275 0.61960787 c
5220.683 6516.427 m 5222.701 6514.1475 l 13808.233 11466.687 l 13468.492 11804.061 l 9532.358 12796.54 l 3593.876 11849.87 l e
0.0 0.0 0.0 c
5220.683 6516.427 m 5222.701 6514.1475 l 13808.233 11466.687 l 13468.492 11804.061 l 9532.358 12796.54 l 3593.876 11849.87 l 5220.683 6516.427 l s
0.047058824 0.35686275 0.61960787 c
14079.238 18963.963 m 13468.492 11804.061 l 13808.233 11466.687 l 14328.418 10956.952 l 18827.96 13162.373 l 19720.8 13610.735 l 18992.844 19693.043 l e
0.0 0.0 0.0 c
14079.238 18963.963 m 13468.492 11804.061 l 13808.233 11466.687 l 14328.418 10956.952 l 18827.96 13162.373 l 19720.8 13610.735 l 18992.844 19693.043 l 14079.238 18963.963 l s
0.62352943 0.0 0.0 c
g -2233.497 5344.6914 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -2233.497 5344.6914 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.62352943 0.0 0.0 c
g -13127.629 17.280313 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -13127.629 17.280313 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.62352943 0.0 0.0 c
g -2249.021 5473.677 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -2249.021 5473.677 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.62352943 0.0 0.0 c
g -2382.345 5453.9766 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -2382.345 5453.9766 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.62352943 0.0 0.0 c
g -13253.62 57.202343 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -13253.62 57.202343 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.62352943 0.0 0.0 c
g -13143.161 146.25435 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -13143.161 146.25435 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.047058824 0.35686275 0.62352943 c
5220.683 6516.427 m 3593.876 11849.87 l 3312.439 11811.952 l 930.412 9986.934 l 1413.308 5951.4897 l 1413.308 5951.4897 l e
0.0 0.0 0.0 c
5220.683 6516.427 m 3593.876 11849.87 l 3312.439 11811.952 l 930.412 9986.934 l 1413.308 5951.4897 l 1413.308 5951.4897 l 5220.683 6516.427 l s
0.047058824 0.36078432 0.62352943 c
1413.308 5951.4897 m 930.412 9986.934 l -2509.694 10142.158 l -2876.928 10153.762 l -2307.921 5399.3345 l e
0.0 0.0 0.0 c
1413.308 5951.4897 m 930.412 9986.934 l -2509.694 10142.158 l -2876.928 10153.762 l -2307.921 5399.3345 l 1413.308 5951.4897 l s
0.62352943 0.0 0.0 c
g 19067.184 19638.463 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 19067.184 19638.463 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.62352943 0.0 0.0 c
g 18933.936 19618.691 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 18933.936 19618.691 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.627451 0.0 0.0 c
g 18918.504 19747.625 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 18918.504 19747.625 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.047058824 0.36078432 0.627451 c
9532.358 12796.54 m 13468.492 11804.061 l 14079.238 18963.963 l 14104.672 19321.68 l 9517.887 20090.807 l 9307.237 20059.55 l 7282.029 17503.412 l 9122.84 13636.166 l e
0.0 0.0 0.0 c
9532.358 12796.54 m 13468.492 11804.061 l 14079.238 18963.963 l 14104.672 19321.68 l 9517.887 20090.807 l 9307.237 20059.55 l 7282.029 17503.412 l 9122.84 13636.166 l 9532.358 12796.54 l s
0.047058824 0.36078432 0.627451 c
3593.876 11849.87 m 9532.358 12796.54 l 9122.84 13636.166 l 3978.372 17413.246 l 3767.512 17382.145 l 1202.358 16125.536 l 3312.439 11811.952 l e
0.0 0.0 0.0 c
3593.876 11849.87 m 9532.358 12796.54 l 9122.84 13636.166 l 3978.372 17413.246 l 3767.512 17382.145 l 1202.358 16125.536 l 3312.439 11811.952 l 3593.876 11849.87 l s
0.047058824 0.36078432 0.627451 c
930.412 9986.934 m 3312.439 11811.952 l 1202.358 16125.536 l 1202.358 16125.536 l -1514.788 14794.608 l -2509.694 10142.158 l e
0.0 0.0 0.0 c
930.412 9986.934 m 3312.439 11811.952 l 1202.358 16125.536 l 1202.358 16125.536 l -1514.788 14794.608 l -2509.694 10142.158 l 930.412 9986.934 l s
0.047058824 0.36078432 0.6313726 c
9122.84 13636.166 m 7282.029 17503.412 l 5364.7 21340.896 l 4788.812 21521.025 l 3953.767 17617.229 l 3978.372 17413.246 l 3978.372 17413.246 l e
0.0 0.0 0.0 c
9122.84 13636.166 m 7282.029 17503.412 l 5364.7 21340.896 l 4788.812 21521.025 l 3953.767 17617.229 l 3978.372 17413.246 l 3978.372 17413.246 l 9122.84 13636.166 l s
0.6313726 0.0 0.0 c
g 9372.956 20048.484 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 9372.956 20048.484 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.047058824 0.3647059 0.6313726 c
9307.237 20059.55 m 9307.237 20059.55 l 9517.887 20090.807 l 9369.328 20137.92 l e
0.0 0.0 0.0 c
9307.237 20059.55 m 9307.237 20059.55 l 9517.887 20090.807 l 9369.328 20137.92 l 9307.237 20059.55 l s
0.6313726 0.0 0.0 c
g 9368.035 20089.28 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 9368.035 20089.28 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6313726 0.0 0.0 c
g 3917.575 17383.518 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 3917.575 17383.518 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6313726 0.0 0.0 c
g -1455.922 14751.389 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -1455.922 14751.389 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.047058824 0.3647059 0.6313726 c
3978.372 17413.246 m 3978.372 17413.246 l 3899.954 17470.82 l 3767.512 17382.145 l e
0.0 0.0 0.0 c
3978.372 17413.246 m 3978.372 17413.246 l 3899.954 17470.82 l 3767.512 17382.145 l 3978.372 17413.246 l s
0.6313726 0.0 0.0 c
g 3912.654 17424.314 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 3912.654 17424.314 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6313726 0.0 0.0 c
g 3992.077 17477.55 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 3992.077 17477.55 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6313726 0.0 0.0 c
g 9320.942 20123.855 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 9320.942 20123.855 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6313726 0.0 0.0 c
g 9400.365 20177.094 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 9400.365 20177.094 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6313726 0.0 0.0 c
g 3949.905 17471.332 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 3949.905 17471.332 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6313726 0.0 0.0 c
g 9278.77 20117.635 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 9278.77 20117.635 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.047058824 0.3647059 0.6313726 c
9307.237 20059.55 m 9369.328 20137.92 l 9282.842 20263.379 l e
0.0 0.0 0.0 c
9307.237 20059.55 m 9369.328 20137.92 l 9282.842 20263.379 l 9307.237 20059.55 l s
0.047058824 0.3647059 0.6313726 c
3953.767 17617.229 m 3899.954 17470.82 l 3978.372 17413.246 l e
0.0 0.0 0.0 c
3953.767 17617.229 m 3899.954 17470.82 l 3978.372 17413.246 l 3953.767 17617.229 l s
0.6313726 0.0 0.0 c
g -1587.359 14773.523 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -1587.359 14773.523 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6313726 0.0 0.0 c
g 3860.639 17499.686 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 3860.639 17499.686 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6313726 0.0 0.0 c
g -1512.857 14867.557 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -1512.857 14867.557 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.047058824 0.3647059 0.6313726 c
7282.029 17503.412 m 9307.237 20059.55 l 9307.237 20059.55 l 9282.842 20263.379 l 8100.274 22680.812 l 8100.274 22680.812 l 5364.7 21340.896 l e
0.0 0.0 0.0 c
7282.029 17503.412 m 9307.237 20059.55 l 9307.237 20059.55 l 9282.842 20263.379 l 8100.274 22680.812 l 8100.274 22680.812 l 5364.7 21340.896 l 7282.029 17503.412 l s
0.047058824 0.3647059 0.63529414 c
5364.7 21340.896 m 8100.274 22680.812 l 6815.013 25308.172 l 4016.616 21776.139 l 4788.812 21521.025 l e
0.0 0.0 0.0 c
5364.7 21340.896 m 8100.274 22680.812 l 6815.013 25308.172 l 4016.616 21776.139 l 4788.812 21521.025 l 5364.7 21340.896 l s
0.63529414 0.0 0.0 c
g 6921.779 25243.986 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 6921.779 25243.986 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.63529414 0.0 0.0 c
g 6800.184 25184.527 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 6800.184 25184.527 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6392157 0.0 0.0 c
g 6695.066 25261.707 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 6695.066 25261.707 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.9137255 0.0 0.0 c
g -883582.1 -145774.66 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -883582.1 -145774.66 t 1.0 1.0 s 0 0 2.0 0 360.0 as
1.0 0.0 0.0 c
g -83921.1 863527.5 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -83921.1 863527.5 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.0 0.0 0.0 c

View File

@ -1,774 +0,0 @@
%!PS-Adobe-3.0 EPSF-3.0
%%Title: Object_44
%%Date: Mon Mar 24 13:57:29 GMT 2008
%%Creator: JavaView v.2.42 PostScript Export
%%JavaView is Copyright 1999-2002, http://www.javaview.de/
%%by Konrad Polthier, Samy Khadem, Eike Preuss, Ulrich Reitebuch
%%PostScript filter based on: PSGr Java PostScript Context
%%PSGr is (C) 1996 Ernest Friedman-Hill and Sandia National Labs
%%BoundingBox: 10 10 602 483
%%EndComments
%%BeginProlog
10 10 translate
%%Modify scaling when including in TeX:
0.925 0.925 scale
/Helvetica findfont 12 scalefont setfont
/c {setrgbcolor} bind def
/e {eofill} bind def
/g {gsave} bind def
/l {lineto} bind def
/m {moveto} bind def
/s {stroke} bind def
/t {translate} bind def
/w {show} bind def
/ac {arc closepath eofill grestore} bind def
/as {arc stroke grestore} bind def
%%EndProlog
%Uncomment the following to edit the width of lines.
% 1.0 setlinewidth
0.2 0.0 0.0 c
g 22510.355 329631.03 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 22510.355 329631.03 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.4509804 0.0 0.0 c
g 394741.3 -54420.812 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 394741.3 -54420.812 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5803922 0.0 0.0 c
g 2247.666 7079.384 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 2247.666 7079.384 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5803922 0.0 0.0 c
g 2341.639 7048.6196 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 2341.639 7048.6196 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5803922 0.0 0.0 c
g 2286.44 7039.3774 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 2286.44 7039.3774 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.043137256 0.3372549 0.58431375 c
1416.239 5757.5693 m 2658.219 5966.3325 l 2301.269 7083.9507 l 880.408 6063.6284 l 1186.934 5886.1494 l e
0.0 0.0 0.0 c
1416.239 5757.5693 m 2658.219 5966.3325 l 2301.269 7083.9507 l 880.408 6063.6284 l 1186.934 5886.1494 l 1416.239 5757.5693 l s
0.043137256 0.3372549 0.58431375 c
1954.432 4120.9224 m 2982.713 4859.3325 l 2982.713 4859.3325 l 2986.648 4938.0137 l 2658.219 5966.3325 l 2658.219 5966.3325 l 1416.239 5757.5693 l e
0.0 0.0 0.0 c
1954.432 4120.9224 m 2982.713 4859.3325 l 2982.713 4859.3325 l 2986.648 4938.0137 l 2658.219 5966.3325 l 2658.219 5966.3325 l 1416.239 5757.5693 l 1954.432 4120.9224 l s
0.58431375 0.0 0.0 c
g 6997.131 3719.1272 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 6997.131 3719.1272 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.58431375 0.0 0.0 c
g 7051.973 3662.5432 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 7051.973 3662.5432 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.58431375 0.0 0.0 c
g 6994.641 3669.3562 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 6994.641 3669.3562 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.58431375 0.0 0.0 c
g 3029.997 4893.2876 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 3029.997 4893.2876 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.043137256 0.3372549 0.58431375 c
2982.713 4859.3325 m 3014.239 4881.9717 l 2986.648 4938.0137 l e
0.0 0.0 0.0 c
2982.713 4859.3325 m 3014.239 4881.9717 l 2986.648 4938.0137 l 2982.713 4859.3325 l s
0.58431375 0.0 0.0 c
g 2992.941 4881.8755 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 2992.941 4881.8755 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5882353 0.0 0.0 c
g 2974.799 4884.0454 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 2974.799 4884.0454 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5882353 0.0 0.0 c
g 3010.312 4863.9536 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 3010.312 4863.9536 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.043137256 0.3372549 0.5882353 c
2982.713 4859.3325 m 2982.713 4859.3325 l 3073.347 4848.5615 l 3014.239 4881.9717 l e
0.0 0.0 0.0 c
2982.713 4859.3325 m 2982.713 4859.3325 l 3073.347 4848.5615 l 3014.239 4881.9717 l 2982.713 4859.3325 l s
0.5882353 0.0 0.0 c
g 3009.541 4848.2007 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 3009.541 4848.2007 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.043137256 0.3372549 0.5882353 c
2458.422 2481.3164 m 1954.432 4120.9224 l 1416.239 5757.5693 l 1186.934 5886.1494 l 564.692 4517.9263 l 560.835 4439.1655 l 560.835 4439.1655 l e
0.0 0.0 0.0 c
2458.422 2481.3164 m 1954.432 4120.9224 l 1416.239 5757.5693 l 1186.934 5886.1494 l 564.692 4517.9263 l 560.835 4439.1655 l 560.835 4439.1655 l 2458.422 2481.3164 l s
0.043137256 0.3372549 0.5882353 c
564.692 4517.9263 m 531.909 4469.0093 l 560.835 4439.1655 l e
0.0 0.0 0.0 c
564.692 4517.9263 m 531.909 4469.0093 l 560.835 4439.1655 l 564.692 4517.9263 l s
0.5882353 0.0 0.0 c
g 517.408 4483.9717 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 517.408 4483.9717 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5882353 0.0 0.0 c
g 571.063 4461.7085 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 571.063 4461.7085 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5882353 0.0 0.0 c
g 552.921 4463.8784 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 552.921 4463.8784 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5882353 0.0 0.0 c
g 534.007 4450.2964 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 534.007 4450.2964 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.043137256 0.3372549 0.5882353 c
560.835 4439.1655 m 560.835 4439.1655 l 531.909 4469.0093 l 470.123 4450.0166 l e
0.0 0.0 0.0 c
560.835 4439.1655 m 560.835 4439.1655 l 531.909 4469.0093 l 470.123 4450.0166 l 560.835 4439.1655 l s
0.5882353 0.0 0.0 c
g 533.235 4434.5444 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 533.235 4434.5444 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.043137256 0.3372549 0.5882353 c
2571.983 2124.2883 m 4155.863 1334.5574 l 4910.431 3942.0784 l 4945.997 4072.8933 l 3073.347 4848.5615 l 2982.713 4859.3325 l 1954.432 4120.9224 l 2458.422 2481.3164 l e
0.0 0.0 0.0 c
2571.983 2124.2883 m 4155.863 1334.5574 l 4910.431 3942.0784 l 4945.997 4072.8933 l 3073.347 4848.5615 l 2982.713 4859.3325 l 1954.432 4120.9224 l 2458.422 2481.3164 l 2571.983 2124.2883 l s
0.5921569 0.0 0.0 c
g 11774.328 311.38632 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 11774.328 311.38632 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5921569 0.0 0.0 c
g 11723.035 317.46033 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 11723.035 317.46033 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5921569 0.0 0.0 c
g 11746.443 269.90833 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 11746.443 269.90833 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.043137256 0.34117648 0.5921569 c
4910.431 3942.0784 m 4155.863 1334.5574 l 4275.063 1172.4374 l 4458.046 926.75934 l 6500.991 1270.6943 l 6907.118 1342.9513 l 7024.552 3690.8352 l e
0.0 0.0 0.0 c
4910.431 3942.0784 m 4155.863 1334.5574 l 4275.063 1172.4374 l 4458.046 926.75934 l 6500.991 1270.6943 l 6907.118 1342.9513 l 7024.552 3690.8352 l 4910.431 3942.0784 l s
0.5921569 0.0 0.0 c
g -1922.226 4073.8503 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -1922.226 4073.8503 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.043137256 0.34117648 0.5921569 c
12.343 2403.4805 m 2571.983 2124.2883 l 2458.422 2481.3164 l 560.835 4439.1655 l 470.123 4450.0166 l -694.495 4254.1973 l -108.48 2419.3044 l e
0.0 0.0 0.0 c
12.343 2403.4805 m 2571.983 2124.2883 l 2458.422 2481.3164 l 560.835 4439.1655 l 470.123 4450.0166 l -694.495 4254.1973 l -108.48 2419.3044 l 12.343 2403.4805 l s
0.5921569 0.0 0.0 c
g -1960.054 4046.6863 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -1960.054 4046.6863 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5921569 0.0 0.0 c
g -1906.398 4024.4233 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -1906.398 4024.4233 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5921569 0.0 0.0 c
g 14923.661 -1468.6017 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 14923.661 -1468.6017 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5921569 0.0 0.0 c
g 14950.979 -1500.7827 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 14950.979 -1500.7827 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.5921569 0.0 0.0 c
g 14895.828 -1510.0437 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 14895.828 -1510.0437 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.043137256 0.34117648 0.5921569 c
10094.17 -212.46666 m 11574.397 -3219.5247 l 13335.039 -599.3627 l 13335.039 -599.3627 l 11747.834 297.7213 l e
0.0 0.0 0.0 c
10094.17 -212.46666 m 11574.397 -3219.5247 l 13335.039 -599.3627 l 13335.039 -599.3627 l 11747.834 297.7213 l 10094.17 -212.46666 l s
0.043137256 0.34117648 0.5921569 c
-1235.739 1991.8083 m -108.48 2419.3044 l -694.495 4254.1973 l -694.495 4254.1973 l -1928.112 4046.8264 l -2669.566 2416.1814 l e
0.0 0.0 0.0 c
-1235.739 1991.8083 m -108.48 2419.3044 l -694.495 4254.1973 l -694.495 4254.1973 l -1928.112 4046.8264 l -2669.566 2416.1814 l -1235.739 1991.8083 l s
0.59607846 0.0 0.0 c
g 8441.896 -694.8417 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 8441.896 -694.8417 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.59607846 0.0 0.0 c
g 8465.312 -742.4027 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 8465.312 -742.4027 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.59607846 0.0 0.0 c
g 8448.698 -738.86365 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 8448.698 -738.86365 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.59607846 0.0 0.0 c
g 8415.847 -730.2656 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 8415.847 -730.2656 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.59607846 0.0 0.0 c
g 8399.603 -725.2136 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 8399.603 -725.2136 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.043137256 0.34117648 0.59607846 c
324.466 239.38234 m 325.155 238.31633 l 4275.063 1172.4374 l 4155.863 1334.5574 l 2571.983 2124.2883 l 12.343 2403.4805 l e
0.0 0.0 0.0 c
324.466 239.38234 m 325.155 238.31633 l 4275.063 1172.4374 l 4155.863 1334.5574 l 2571.983 2124.2883 l 12.343 2403.4805 l 324.466 239.38234 l s
0.043137256 0.34117648 0.59607846 c
13335.039 -599.3627 m 11574.397 -3219.5247 l 11494.249 -4799.7065 l 15745.305 -4386.6875 l 15840.468 -4376.7017 l 14920.154 -1495.1787 l e
0.0 0.0 0.0 c
13335.039 -599.3627 m 11574.397 -3219.5247 l 11494.249 -4799.7065 l 15745.305 -4386.6875 l 15840.468 -4376.7017 l 14920.154 -1495.1787 l 13335.039 -599.3627 l s
0.043137256 0.34117648 0.59607846 c
324.466 239.38234 m 12.343 2403.4805 l -108.48 2419.3044 l -1235.739 1991.8083 l -1313.688 434.06232 l -1313.688 434.06232 l e
0.0 0.0 0.0 c
324.466 239.38234 m 12.343 2403.4805 l -108.48 2419.3044 l -1235.739 1991.8083 l -1313.688 434.06232 l -1313.688 434.06232 l 324.466 239.38234 l s
0.043137256 0.34509805 0.59607846 c
-1313.688 434.06232 m -1235.739 1991.8083 l -2669.566 2416.1814 l -2822.973 2459.6304 l -2914.779 624.3353 l e
0.0 0.0 0.0 c
-1313.688 434.06232 m -1235.739 1991.8083 l -2669.566 2416.1814 l -2822.973 2459.6304 l -2914.779 624.3353 l -1313.688 434.06232 l s
0.043137256 0.34509805 0.59607846 c
4275.063 1172.4374 m 325.155 238.31633 l 325.373 237.12935 l 1404.202 -1310.5957 l 1884.658 -1374.0717 l 4325.389 -1682.9756 l 4458.046 926.75934 l e
0.0 0.0 0.0 c
4275.063 1172.4374 m 325.155 238.31633 l 325.373 237.12935 l 1404.202 -1310.5957 l 1884.658 -1374.0717 l 4325.389 -1682.9756 l 4458.046 926.75934 l 4275.063 1172.4374 l s
0.59607846 0.0 0.0 c
g 378.993 275.63434 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 378.993 275.63434 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.043137256 0.34509805 0.59607846 c
6500.991 1270.6943 m 4458.046 926.75934 l 4325.389 -1682.9756 l 4519.984 -2178.6438 l 6301.465 -3596.3616 l 7276.693 -4367.4653 l 8415.057 -704.15466 l e
0.0 0.0 0.0 c
6500.991 1270.6943 m 4458.046 926.75934 l 4325.389 -1682.9756 l 4519.984 -2178.6438 l 6301.465 -3596.3616 l 7276.693 -4367.4653 l 8415.057 -704.15466 l 6500.991 1270.6943 l s
0.59607846 0.0 0.0 c
g 397.135 230.74632 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 397.135 230.74632 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.59607846 0.0 0.0 c
g 259.981 272.0793 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 259.981 272.0793 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6 0.0 0.0 c
g 257.491 222.30833 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 257.491 222.30833 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6 0.0 0.0 c
g 296.266 182.30333 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 296.266 182.30333 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.047058824 0.34509805 0.6 c
10094.17 -212.46666 m 10094.17 -212.46666 l 8461.295 -716.2477 l 7751.59 -4745.5874 l 9777.201 -6368.948 l 11494.249 -4799.7065 l 11574.397 -3219.5247 l e
0.0 0.0 0.0 c
10094.17 -212.46666 m 10094.17 -212.46666 l 8461.295 -716.2477 l 7751.59 -4745.5874 l 9777.201 -6368.948 l 11494.249 -4799.7065 l 11574.397 -3219.5247 l 10094.17 -212.46666 l s
0.047058824 0.34509805 0.6 c
8436.481 -717.18567 m 8415.057 -704.15466 l 7276.693 -4367.4653 l 7507.533 -4550.6333 l e
0.0 0.0 0.0 c
8436.481 -717.18567 m 8415.057 -704.15466 l 7276.693 -4367.4653 l 7507.533 -4550.6333 l 8436.481 -717.18567 l s
0.047058824 0.34509805 0.6 c
8461.295 -716.2477 m 8436.481 -717.18567 l 7507.533 -4550.6333 l 7751.59 -4745.5874 l e
0.0 0.0 0.0 c
8461.295 -716.2477 m 8436.481 -717.18567 l 7507.533 -4550.6333 l 7751.59 -4745.5874 l 8461.295 -716.2477 l s
0.6 0.0 0.0 c
g -2884.872 645.81134 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -2884.872 645.81134 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6 0.0 0.0 c
g -2942.231 652.6593 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -2942.231 652.6593 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6 0.0 0.0 c
g -2887.327 596.01135 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -2887.327 596.01135 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.047058824 0.34509805 0.6 c
1404.202 -1310.5957 m 325.373 237.12935 l -959.87 -685.8047 l -959.87 -685.8047 l -564.111 -1094.1327 l 256.482 -1189.7457 l e
0.0 0.0 0.0 c
1404.202 -1310.5957 m 325.373 237.12935 l -959.87 -685.8047 l -959.87 -685.8047 l -564.111 -1094.1327 l 256.482 -1189.7457 l 1404.202 -1310.5957 l s
0.047058824 0.34509805 0.6039216 c
186.855 -2581.9626 m 196.839 -2586.0967 l 1884.658 -1374.0717 l 1404.202 -1310.5957 l 256.482 -1189.7457 l e
0.0 0.0 0.0 c
186.855 -2581.9626 m 196.839 -2586.0967 l 1884.658 -1374.0717 l 1404.202 -1310.5957 l 256.482 -1189.7457 l 186.855 -2581.9626 l s
0.6039216 0.0 0.0 c
g 19480.406 -7675.6763 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 19480.406 -7675.6763 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6039216 0.0 0.0 c
g 19534.576 -7722.3887 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 19534.576 -7722.3887 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6039216 0.0 0.0 c
g 19477.908 -7725.452 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 19477.908 -7725.452 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.047058824 0.34509805 0.6039216 c
176.572 -2583.6887 m 186.855 -2581.9626 l 256.482 -1189.7457 l -564.111 -1094.1327 l -786.761 -1589.7627 l e
0.0 0.0 0.0 c
176.572 -2583.6887 m 186.855 -2581.9626 l 256.482 -1189.7457 l -564.111 -1094.1327 l -786.761 -1589.7627 l 176.572 -2583.6887 l s
0.047058824 0.34509805 0.6039216 c
196.839 -2586.0967 m 1738.108 -4176.3115 l 1738.108 -4176.3115 l 4519.984 -2178.6438 l 4325.389 -1682.9756 l 1884.658 -1374.0717 l e
0.0 0.0 0.0 c
196.839 -2586.0967 m 1738.108 -4176.3115 l 1738.108 -4176.3115 l 4519.984 -2178.6438 l 4325.389 -1682.9756 l 1884.658 -1374.0717 l 196.839 -2586.0967 l s
0.6039216 0.0 0.0 c
g 16284.669 -7295.8994 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 16284.669 -7295.8994 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6039216 0.0 0.0 c
g 16227.977 -7298.9814 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 16227.977 -7298.9814 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6039216 0.0 0.0 c
g 16236.438 -7315.2017 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 16236.438 -7315.2017 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6039216 0.0 0.0 c
g -2216.01 -1553.9167 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -2216.01 -1553.9167 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6039216 0.0 0.0 c
g 16263.535 -7338.5415 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 16263.535 -7338.5415 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6039216 0.0 0.0 c
g 16282.18 -7345.6704 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 16282.18 -7345.6704 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6039216 0.0 0.0 c
g -2177.236 -1593.9216 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -2177.236 -1593.9216 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6039216 0.0 0.0 c
g -2193.13 -1590.1648 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -2193.13 -1590.1648 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.047058824 0.34901962 0.6039216 c
-2196.316 -1645.5518 m -2178.744 -1561.0796 l -2211.486 -1574.9717 l e
0.0 0.0 0.0 c
-2196.316 -1645.5518 m -2178.744 -1561.0796 l -2211.486 -1574.9717 l -2196.316 -1645.5518 l s
0.6039216 0.0 0.0 c
g -2222.761 -1592.6897 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -2222.761 -1592.6897 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6039216 0.0 0.0 c
g -2236.499 -1598.9717 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -2236.499 -1598.9717 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.047058824 0.34901962 0.6039216 c
-2196.316 -1645.5518 m -2196.316 -1645.5518 l -2211.486 -1574.9717 l -2248.913 -1567.0547 l e
0.0 0.0 0.0 c
-2196.316 -1645.5518 m -2196.316 -1645.5518 l -2211.486 -1574.9717 l -2248.913 -1567.0547 l -2196.316 -1645.5518 l s
0.047058824 0.34901962 0.6039216 c
-1785.541 -3556.3877 m -1709.512 -3579.5327 l -786.761 -1589.7627 l -564.111 -1094.1327 l -959.87 -685.8047 l -2178.744 -1561.0796 l -2196.316 -1645.5518 l -2196.316 -1645.5518 l e
0.0 0.0 0.0 c
-1785.541 -3556.3877 m -1709.512 -3579.5327 l -786.761 -1589.7627 l -564.111 -1094.1327 l -959.87 -685.8047 l -2178.744 -1561.0796 l -2196.316 -1645.5518 l -2196.316 -1645.5518 l -1785.541 -3556.3877 l s
0.6039216 0.0 0.0 c
g 208.292 -2560.9097 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 208.292 -2560.9097 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6039216 0.0 0.0 c
g 167.758 -2556.0928 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 167.758 -2556.0928 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6039216 0.0 0.0 c
g 227.679 -2580.9126 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 227.679 -2580.9126 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6039216 0.0 0.0 c
g 146.611 -2571.2786 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 146.611 -2571.2786 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6039216 0.0 0.0 c
g 185.385 -2611.2837 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 185.385 -2611.2837 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6039216 0.0 0.0 c
g -7830.328 -182.33366 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -7830.328 -182.33366 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6039216 0.0 0.0 c
g -7882.909 -203.80864 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -7882.909 -203.80864 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6039216 0.0 0.0 c
g -7832.778 -232.12968 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -7832.778 -232.12968 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.047058824 0.34901962 0.6039216 c
1738.108 -4176.3115 m 3279.377 -5766.5264 l 6301.465 -3596.3616 l 4519.984 -2178.6438 l e
0.0 0.0 0.0 c
1738.108 -4176.3115 m 3279.377 -5766.5264 l 6301.465 -3596.3616 l 4519.984 -2178.6438 l 1738.108 -4176.3115 l s
0.047058824 0.34901962 0.6039216 c
15745.305 -4386.6875 m 11494.249 -4799.7065 l 9777.201 -6368.948 l 9768.274 -6546.5195 l 9759.872 -6726.7646 l 9992.213 -7020.7915 l 11474.296 -8890.585 l 16256.593 -7298.9775 l e
0.0 0.0 0.0 c
15745.305 -4386.6875 m 11494.249 -4799.7065 l 9777.201 -6368.948 l 9768.274 -6546.5195 l 9759.872 -6726.7646 l 9992.213 -7020.7915 l 11474.296 -8890.585 l 16256.593 -7298.9775 l 15745.305 -4386.6875 l s
0.047058824 0.34901962 0.6039216 c
-1785.541 -3556.3877 m -2196.316 -1645.5518 l -2248.913 -1567.0547 l -4221.257 -750.1167 l -4988.893 -865.08765 l -5024.874 -870.97766 l -5382.414 -2505.9736 l e
0.0 0.0 0.0 c
-1785.541 -3556.3877 m -2196.316 -1645.5518 l -2248.913 -1567.0547 l -4221.257 -750.1167 l -4988.893 -865.08765 l -5024.874 -870.97766 l -5382.414 -2505.9736 l -1785.541 -3556.3877 l s
0.047058824 0.34901962 0.6039216 c
3279.377 -5766.5264 m 3282.312 -5775.7227 l 9768.274 -6546.5195 l 9777.201 -6368.948 l 7751.59 -4745.5874 l 7507.533 -4550.6333 l 7276.693 -4367.4653 l 6301.465 -3596.3616 l e
0.0 0.0 0.0 c
3279.377 -5766.5264 m 3282.312 -5775.7227 l 9768.274 -6546.5195 l 9777.201 -6368.948 l 7751.59 -4745.5874 l 7507.533 -4550.6333 l 7276.693 -4367.4653 l 6301.465 -3596.3616 l 3279.377 -5766.5264 l s
0.047058824 0.34901962 0.6039216 c
-786.761 -1589.7627 m -1709.512 -3579.5327 l -1504.607 -3790.9456 l 176.572 -2583.6887 l e
0.0 0.0 0.0 c
-786.761 -1589.7627 m -1709.512 -3579.5327 l -1504.607 -3790.9456 l 176.572 -2583.6887 l -786.761 -1589.7627 l s
0.047058824 0.34901962 0.60784316 c
-8731.117 -1517.5886 m -6085.33 -3012.8967 l -5510.849 -2599.3027 l -5382.414 -2505.9736 l -5024.874 -870.97766 l -5140.249 -527.05774 l -7849.247 -205.14665 l -8731.117 -1517.5886 l e
0.0 0.0 0.0 c
-8731.117 -1517.5886 m -6085.33 -3012.8967 l -5510.849 -2599.3027 l -5382.414 -2505.9736 l -5024.874 -870.97766 l -5140.249 -527.05774 l -7849.247 -205.14665 l -8731.117 -1517.5886 l -8731.117 -1517.5886 l s
0.047058824 0.34901962 0.60784316 c
11474.296 -8890.585 m 12724.881 -10474.12 l 16265.206 -7313.282 l 16256.593 -7298.9775 l e
0.0 0.0 0.0 c
11474.296 -8890.585 m 12724.881 -10474.12 l 16265.206 -7313.282 l 16256.593 -7298.9775 l 11474.296 -8890.585 l s
0.047058824 0.34901962 0.60784316 c
17881.287 -7510.6763 m 17599.838 -13138.204 l 20637.648 -14168.388 l 19502.646 -7703.3594 l 17881.287 -7510.6763 l e
0.0 0.0 0.0 c
17881.287 -7510.6763 m 17599.838 -13138.204 l 20637.648 -14168.388 l 19502.646 -7703.3594 l 17881.287 -7510.6763 l 17881.287 -7510.6763 l s
0.047058824 0.34901962 0.60784316 c
-1709.512 -3579.5327 m -1785.541 -3556.3877 l -5382.414 -2505.9736 l -5510.849 -2599.3027 l -3185.786 -4998.2026 l -1504.607 -3790.9456 l -1504.607 -3790.9456 l e
0.0 0.0 0.0 c
-1709.512 -3579.5327 m -1785.541 -3556.3877 l -5382.414 -2505.9736 l -5510.849 -2599.3027 l -3185.786 -4998.2026 l -1504.607 -3790.9456 l -1504.607 -3790.9456 l -1709.512 -3579.5327 l s
0.60784316 0.0 0.0 c
g 3290.83 -5741.3394 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 3290.83 -5741.3394 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.047058824 0.34901962 0.60784316 c
12724.881 -10474.12 m 14213.333 -12371.638 l 16281.673 -7320.5767 l 16265.206 -7313.282 l e
0.0 0.0 0.0 c
12724.881 -10474.12 m 14213.333 -12371.638 l 16281.673 -7320.5767 l 16265.206 -7313.282 l 12724.881 -10474.12 l s
0.60784316 0.0 0.0 c
g 3310.217 -5761.3423 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 3310.217 -5761.3423 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.60784316 0.0 0.0 c
g 3248.536 -5771.7104 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 3248.536 -5771.7104 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.60784316 0.0 0.0 c
g 3308.457 -5796.5303 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 3308.457 -5796.5303 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.60784316 0.0 0.0 c
g 3287.31 -5811.7163 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 3287.31 -5811.7163 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.047058824 0.34901962 0.60784316 c
3282.312 -5775.7227 m 3278.497 -5784.1206 l 6049.358 -8642.976 l 6061.614 -8636.719 l 7609.748 -7841.629 l 9759.872 -6726.7646 l 9768.274 -6546.5195 l e
0.0 0.0 0.0 c
3282.312 -5775.7227 m 3278.497 -5784.1206 l 6049.358 -8642.976 l 6061.614 -8636.719 l 7609.748 -7841.629 l 9759.872 -6726.7646 l 9768.274 -6546.5195 l 3282.312 -5775.7227 l s
0.047058824 0.3529412 0.6117647 c
-5510.849 -2599.3027 m -6085.33 -3012.8967 l -6637.464 -4596.8525 l -3189.598 -5006.5986 l -3185.786 -4998.2026 l e
0.0 0.0 0.0 c
-5510.849 -2599.3027 m -6085.33 -3012.8967 l -6637.464 -4596.8525 l -3189.598 -5006.5986 l -3185.786 -4998.2026 l -5510.849 -2599.3027 l s
0.047058824 0.3529412 0.6117647 c
16281.673 -7320.5767 m 14213.333 -12371.638 l 14523.037 -12767.656 l 17599.838 -13138.204 l 17881.287 -7510.6763 l e
0.0 0.0 0.0 c
16281.673 -7320.5767 m 14213.333 -12371.638 l 14523.037 -12767.656 l 17599.838 -13138.204 l 17881.287 -7510.6763 l 16281.673 -7320.5767 l s
0.6117647 0.0 0.0 c
g -9629.534 -2802.9678 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -9629.534 -2802.9678 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6117647 0.0 0.0 c
g -9579.326 -2831.3687 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -9579.326 -2831.3687 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6117647 0.0 0.0 c
g -9631.698 -2847.5376 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -9631.698 -2847.5376 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6117647 0.0 0.0 c
g -3194.599 -4970.6064 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -3194.599 -4970.6064 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6117647 0.0 0.0 c
g -3215.746 -4985.7925 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -3215.746 -4985.7925 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6117647 0.0 0.0 c
g -3155.825 -5010.6123 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -3155.825 -5010.6123 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6117647 0.0 0.0 c
g -3217.506 -5020.9805 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -3217.506 -5020.9805 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6117647 0.0 0.0 c
g -3198.119 -5040.9834 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -3198.119 -5040.9834 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.047058824 0.3529412 0.6117647 c
9992.213 -7020.7915 m 9759.872 -6726.7646 l 7609.748 -7841.629 l 7871.999 -11991.629 l 7889.133 -11997.331 l e
0.0 0.0 0.0 c
9992.213 -7020.7915 m 9759.872 -6726.7646 l 7609.748 -7841.629 l 7871.999 -11991.629 l 7889.133 -11997.331 l 9992.213 -7020.7915 l s
0.047058824 0.3529412 0.6117647 c
1597.317 -6991.3774 m 4147.412 -9622.455 l 6049.358 -8642.976 l 3278.497 -5784.1206 l e
0.0 0.0 0.0 c
1597.317 -6991.3774 m 4147.412 -9622.455 l 6049.358 -8642.976 l 3278.497 -5784.1206 l 1597.317 -6991.3774 l s
0.047058824 0.3529412 0.6156863 c
-6085.33 -3012.8967 m -8731.117 -1517.5886 l -9611.395 -2827.5298 l -7675.65 -6759.9727 l -7553.434 -6712.9194 l -7365.406 -6639.2314 l -6637.464 -4596.8525 l e
0.0 0.0 0.0 c
-6085.33 -3012.8967 m -8731.117 -1517.5886 l -9611.395 -2827.5298 l -7675.65 -6759.9727 l -7553.434 -6712.9194 l -7365.406 -6639.2314 l -6637.464 -4596.8525 l -6085.33 -3012.8967 l s
0.047058824 0.3529412 0.6156863 c
-3186.666 -5015.7964 m -3189.598 -5006.5986 l -6637.464 -4596.8525 l -7365.406 -6639.2314 l -6059.161 -7078.5386 l e
0.0 0.0 0.0 c
-3186.666 -5015.7964 m -3189.598 -5006.5986 l -6637.464 -4596.8525 l -7365.406 -6639.2314 l -6059.161 -7078.5386 l -3186.666 -5015.7964 l s
0.047058824 0.3529412 0.6156863 c
-1645.397 -6606.011 m -3186.666 -5015.7964 l -6059.161 -7078.5386 l -3509.844 -7944.872 l -1645.397 -6606.011 l e
0.0 0.0 0.0 c
-1645.397 -6606.011 m -3186.666 -5015.7964 l -6059.161 -7078.5386 l -3509.844 -7944.872 l -1645.397 -6606.011 l -1645.397 -6606.011 l s
0.047058824 0.3529412 0.6156863 c
7609.748 -7841.629 m 6061.614 -8636.719 l 7855.516 -11996.231 l 7871.999 -11991.629 l e
0.0 0.0 0.0 c
7609.748 -7841.629 m 6061.614 -8636.719 l 7855.516 -11996.231 l 7871.999 -11991.629 l 7609.748 -7841.629 l s
0.047058824 0.3529412 0.6156863 c
12162.491 -14931.74 m 14523.037 -12767.656 l 14213.333 -12371.638 l 12724.881 -10474.12 l 11474.296 -8890.585 l 9992.213 -7020.7915 l 7889.133 -11997.331 l 12079.062 -15007.297 l e
0.0 0.0 0.0 c
12162.491 -14931.74 m 14523.037 -12767.656 l 14213.333 -12371.638 l 12724.881 -10474.12 l 11474.296 -8890.585 l 9992.213 -7020.7915 l 7889.133 -11997.331 l 12079.062 -15007.297 l 12162.491 -14931.74 l s
0.047058824 0.3529412 0.6156863 c
1597.317 -6991.3774 m -83.861 -8198.635 l 2686.89 -11057.376 l 4147.159 -9622.92 l 4147.412 -9622.455 l 1597.317 -6991.3774 l e
0.0 0.0 0.0 c
1597.317 -6991.3774 m -83.861 -8198.635 l 2686.89 -11057.376 l 4147.159 -9622.92 l 4147.412 -9622.455 l 1597.317 -6991.3774 l 1597.317 -6991.3774 l s
0.6156863 0.0 0.0 c
g -92.675 -8171.038 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -92.675 -8171.038 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6156863 0.0 0.0 c
g -53.901 -8211.045 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -53.901 -8211.045 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6156863 0.0 0.0 c
g -134.968 -8201.41 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -134.968 -8201.41 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6156863 0.0 0.0 c
g -75.047 -8226.23 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -75.047 -8226.23 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6156863 0.0 0.0 c
g -115.581 -8221.412 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -115.581 -8221.412 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.047058824 0.3529412 0.6156863 c
7855.516 -11996.231 m 6061.614 -8636.719 l 6049.358 -8642.976 l 4147.412 -9622.455 l 4147.159 -9622.92 l 7025.271 -12592.432 l e
0.0 0.0 0.0 c
7855.516 -11996.231 m 6061.614 -8636.719 l 6049.358 -8642.976 l 4147.412 -9622.455 l 4147.159 -9622.92 l 7025.271 -12592.432 l 7855.516 -11996.231 l s
0.047058824 0.35686275 0.6156863 c
-3509.844 -7944.872 m -3356.192 -8177.798 l -1518.577 -9211.943 l -104.128 -8196.226 l -1645.397 -6606.011 l e
0.0 0.0 0.0 c
-3509.844 -7944.872 m -3356.192 -8177.798 l -1518.577 -9211.943 l -104.128 -8196.226 l -1645.397 -6606.011 l -3509.844 -7944.872 l s
0.047058824 0.35686275 0.61960787 c
-1518.577 -9211.943 m -835.721 -9602.143 l -182.3 -9963.081 l -94.141 -8200.357 l -104.128 -8196.226 l e
0.0 0.0 0.0 c
-1518.577 -9211.943 m -835.721 -9602.143 l -182.3 -9963.081 l -94.141 -8200.357 l -104.128 -8196.226 l -1518.577 -9211.943 l s
0.047058824 0.35686275 0.61960787 c
21449.965 -14446.881 m 20637.648 -14168.388 l 17599.838 -13138.204 l 14523.037 -12767.656 l 12162.491 -14931.74 l 15696.77 -18578.256 l e
0.0 0.0 0.0 c
21449.965 -14446.881 m 20637.648 -14168.388 l 17599.838 -13138.204 l 14523.037 -12767.656 l 12162.491 -14931.74 l 15696.77 -18578.256 l 21449.965 -14446.881 l s
0.61960787 0.0 0.0 c
g 7888.898 -11972.26 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 7888.898 -11972.26 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.61960787 0.0 0.0 c
g 7907.478 -11979.53 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 7907.478 -11979.53 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.61960787 0.0 0.0 c
g 7852.575 -11971.068 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 7852.575 -11971.068 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.61960787 0.0 0.0 c
g 7834.835 -11977.158 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 7834.835 -11977.158 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.61960787 0.0 0.0 c
g 7873.609 -12017.163 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 7873.609 -12017.163 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.047058824 0.35686275 0.61960787 c
-94.141 -8200.357 m -182.3 -9963.081 l 2349.789 -11390.802 l 2412.88 -11328.6455 l 2686.89 -11057.376 l -83.861 -8198.635 l e
0.0 0.0 0.0 c
-94.141 -8200.357 m -182.3 -9963.081 l 2349.789 -11390.802 l 2412.88 -11328.6455 l 2686.89 -11057.376 l -83.861 -8198.635 l -94.141 -8200.357 l s
0.047058824 0.35686275 0.61960787 c
-7365.406 -6639.2314 m -7553.434 -6712.9194 l -5099.298 -10443.243 l -3479.124 -10635.786 l -3356.192 -8177.798 l -3509.844 -7944.872 l -6059.161 -7078.5386 l e
0.0 0.0 0.0 c
-7365.406 -6639.2314 m -7553.434 -6712.9194 l -5099.298 -10443.243 l -3479.124 -10635.786 l -3356.192 -8177.798 l -3509.844 -7944.872 l -6059.161 -7078.5386 l -7365.406 -6639.2314 l s
0.047058824 0.35686275 0.61960787 c
2412.88 -11328.6455 m 6197.691 -13186.718 l 7025.271 -12592.432 l 7025.271 -12592.432 l 4147.159 -9622.92 l 2686.89 -11057.376 l e
0.0 0.0 0.0 c
2412.88 -11328.6455 m 6197.691 -13186.718 l 7025.271 -12592.432 l 7025.271 -12592.432 l 4147.159 -9622.92 l 2686.89 -11057.376 l 2412.88 -11328.6455 l s
0.047058824 0.35686275 0.62352943 c
-1898.527 -10823.625 m -1816.429 -10780.37 l -835.721 -9602.143 l -1518.577 -9211.943 l -3356.192 -8177.798 l -3479.124 -10635.786 l -3479.124 -10635.786 l e
0.0 0.0 0.0 c
-1898.527 -10823.625 m -1816.429 -10780.37 l -835.721 -9602.143 l -1518.577 -9211.943 l -3356.192 -8177.798 l -3479.124 -10635.786 l -3479.124 -10635.786 l -1898.527 -10823.625 l s
0.047058824 0.35686275 0.62352943 c
2349.789 -11390.802 m 2097.2 -12273.114 l 6187.897 -13201.391 l 6197.691 -13186.718 l 2412.88 -11328.6455 l e
0.0 0.0 0.0 c
2349.789 -11390.802 m 2097.2 -12273.114 l 6187.897 -13201.391 l 6197.691 -13186.718 l 2412.88 -11328.6455 l 2349.789 -11390.802 l s
0.62352943 0.0 0.0 c
g 6176.934 -13167.699 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 6176.934 -13167.699 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.62352943 0.0 0.0 c
g 6169.123 -13181.531 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 6169.123 -13181.531 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.62352943 0.0 0.0 c
g 6215.708 -13207.704 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 6215.708 -13207.704 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.62352943 0.0 0.0 c
g 6163.298 -13211.415 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 6163.298 -13211.415 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.62352943 0.0 0.0 c
g 6165.268 -13227.466 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 6165.268 -13227.466 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.047058824 0.35686275 0.62352943 c
-1861.961 -10835.064 m -1816.429 -10780.37 l -1816.429 -10780.37 l -1898.527 -10823.625 l e
0.0 0.0 0.0 c
-1861.961 -10835.064 m -1816.429 -10780.37 l -1816.429 -10780.37 l -1898.527 -10823.625 l -1861.961 -10835.064 l s
0.62352943 0.0 0.0 c
g -1873.052 -10801.626 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -1873.052 -10801.626 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.62352943 0.0 0.0 c
g -1863.815 -10813.91 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -1863.815 -10813.91 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.047058824 0.35686275 0.62352943 c
-1839.452 -10863.409 m -1816.429 -10780.37 l -1861.961 -10835.064 l e
0.0 0.0 0.0 c
-1839.452 -10863.409 m -1816.429 -10780.37 l -1861.961 -10835.064 l -1839.452 -10863.409 l s
0.62352943 0.0 0.0 c
g -1823.16 -10835.223 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -1823.16 -10835.223 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.62352943 0.0 0.0 c
g -1838.861 -10830.717 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -1838.861 -10830.717 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.047058824 0.35686275 0.62352943 c
-835.721 -9602.143 m -1816.429 -10780.37 l -1816.429 -10780.37 l -1839.452 -10863.409 l -379.15 -13830.001 l 1843.005 -13144.415 l 2097.2 -12273.114 l 2349.789 -11390.802 l -182.3 -9963.081 l e
0.0 0.0 0.0 c
-835.721 -9602.143 m -1816.429 -10780.37 l -1816.429 -10780.37 l -1839.452 -10863.409 l -379.15 -13830.001 l 1843.005 -13144.415 l 2097.2 -12273.114 l 2349.789 -11390.802 l -182.3 -9963.081 l -835.721 -9602.143 l s
0.62352943 0.0 0.0 c
g -1875.54 -10851.384 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -1875.54 -10851.384 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.047058824 0.36078432 0.62352943 c
1969.332 -13275.553 m 6191.367 -13219.077 l 6187.897 -13201.391 l 2097.2 -12273.114 l 1843.005 -13144.415 l e
0.0 0.0 0.0 c
1969.332 -13275.553 m 6191.367 -13219.077 l 6187.897 -13201.391 l 2097.2 -12273.114 l 1843.005 -13144.415 l 1969.332 -13275.553 l s
0.62352943 0.0 0.0 c
g -5082.715 -10420.182 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -5082.715 -10420.182 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.62352943 0.0 0.0 c
g -5131.788 -10442.122 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -5131.788 -10442.122 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.62352943 0.0 0.0 c
g -5085.204 -10469.951 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -5085.204 -10469.951 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.627451 0.0 0.0 c
g 15698.529 -18543.068 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 15698.529 -18543.068 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.627451 0.0 0.0 c
g 15737.304 -18583.072 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 15737.304 -18583.072 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.627451 0.0 0.0 c
g 15656.236 -18573.441 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 15656.236 -18573.441 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.047058824 0.36078432 0.627451 c
1969.332 -13275.553 m 4140.376 -15538.219 l 6352.988 -17821.08 l 8434.677 -17005.428 l 8434.677 -17005.428 l 6191.367 -13219.077 l e
0.0 0.0 0.0 c
1969.332 -13275.553 m 4140.376 -15538.219 l 6352.988 -17821.08 l 8434.677 -17005.428 l 8434.677 -17005.428 l 6191.367 -13219.077 l 1969.332 -13275.553 l s
0.047058824 0.36078432 0.627451 c
1100.102 -16835.076 m 4140.376 -15538.219 l 1969.332 -13275.553 l 1843.005 -13144.415 l -379.15 -13830.001 l -379.15 -13830.001 l e
0.0 0.0 0.0 c
1100.102 -16835.076 m 4140.376 -15538.219 l 1969.332 -13275.553 l 1843.005 -13144.415 l -379.15 -13830.001 l -379.15 -13830.001 l 1100.102 -16835.076 l s
0.047058824 0.3647059 0.63529414 c
5372.218 -18923.268 m 5994.697 -18603.305 l 6352.988 -17821.08 l 4140.376 -15538.219 l 1100.102 -16835.076 l 1099.122 -16841.467 l e
0.0 0.0 0.0 c
5372.218 -18923.268 m 5994.697 -18603.305 l 6352.988 -17821.08 l 4140.376 -15538.219 l 1100.102 -16835.076 l 1099.122 -16841.467 l 5372.218 -18923.268 l s
0.63529414 0.0 0.0 c
g 1117.246 -16808.613 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 1117.246 -16808.613 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.63529414 0.0 0.0 c
g 1136.354 -16838.762 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 1136.354 -16838.762 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.63529414 0.0 0.0 c
g 1064.866 -16824.771 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 1064.866 -16824.771 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.63529414 0.0 0.0 c
g 1118.046 -16871.531 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 1118.046 -16871.531 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.63529414 0.0 0.0 c
g 1080.631 -16874.137 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 1080.631 -16874.137 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.047058824 0.3647059 0.63529414 c
6352.988 -17821.08 m 5994.697 -18603.305 l 8186.599 -21935.033 l 10691.906 -20815.271 l 8434.677 -17005.428 l e
0.0 0.0 0.0 c
6352.988 -17821.08 m 5994.697 -18603.305 l 8186.599 -21935.033 l 10691.906 -20815.271 l 8434.677 -17005.428 l 6352.988 -17821.08 l s
0.63529414 0.0 0.0 c
g 10704.056 -20783.344 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 10704.056 -20783.344 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.63529414 0.0 0.0 c
g 10653.639 -20803.129 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 10653.639 -20803.129 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.63529414 0.0 0.0 c
g 10683.34 -20848.293 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 10683.34 -20848.293 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.047058824 0.3647059 0.63529414 c
-119.196 -17049.82 m -119.196 -17049.82 l -1362.682 -17258.848 l 413.848 -18718.797 l e
0.0 0.0 0.0 c
-119.196 -17049.82 m -119.196 -17049.82 l -1362.682 -17258.848 l 413.848 -18718.797 l -119.196 -17049.82 l s
0.63529414 0.0 0.0 c
g -1318.99 -17225.48 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -1318.99 -17225.48 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.63529414 0.0 0.0 c
g -1303.259 -17274.87 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -1303.259 -17274.87 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.63529414 0.0 0.0 c
g -1340.406 -17309.957 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -1340.406 -17309.957 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.047058824 0.36862746 0.6392157 c
1855.987 -20745.957 m 2487.715 -20423.059 l 5372.218 -18923.268 l 1099.122 -16841.467 l 1094.065 -16845.871 l e
0.0 0.0 0.0 c
1855.987 -20745.957 m 2487.715 -20423.059 l 5372.218 -18923.268 l 1099.122 -16841.467 l 1094.065 -16845.871 l 1855.987 -20745.957 l s
0.047058824 0.36862746 0.6392157 c
1855.987 -20745.957 m 1094.065 -16845.871 l -119.196 -17049.82 l 413.848 -18718.797 l 1204.041 -21082.78 l e
0.0 0.0 0.0 c
1855.987 -20745.957 m 1094.065 -16845.871 l -119.196 -17049.82 l 413.848 -18718.797 l 1204.041 -21082.78 l 1855.987 -20745.957 l s
0.047058824 0.36862746 0.6392157 c
5994.697 -18603.305 m 5372.218 -18923.268 l 2487.715 -20423.059 l 5687.043 -23052.29 l 8186.599 -21935.033 l 8186.599 -21935.033 l e
0.0 0.0 0.0 c
5994.697 -18603.305 m 5372.218 -18923.268 l 2487.715 -20423.059 l 5687.043 -23052.29 l 8186.599 -21935.033 l 8186.599 -21935.033 l 5994.697 -18603.305 l s
0.6431373 0.0 0.0 c
g 5689.85 -23021.777 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 5689.85 -23021.777 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6431373 0.0 0.0 c
g 5719.559 -23066.936 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 5719.559 -23066.936 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.6431373 0.0 0.0 c
g 5652.727 -23056.848 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g 5652.727 -23056.848 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.7764706 0.0 0.0 c
g -383510.3 38067.11 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -383510.3 38067.11 t 1.0 1.0 s 0 0 2.0 0 360.0 as
1.0 0.0 0.0 c
g -11279.327 -345984.78 t 1.0 1.0 s 0 0 m 0 0 2.0 0 360.0 ac
0.0 0.0 0.0 c
g -11279.327 -345984.78 t 1.0 1.0 s 0 0 2.0 0 360.0 as
0.0 0.0 0.0 c

View File

@ -1,19 +0,0 @@
FoamFile
{
version 1.4.2;
format ascii;
root "..";
case "testCase2";
instance "constant";
local "";
class dictionary;
object gmtDict;
}
// How to plot
projection "x10";
overlayMesh true;
projection2D XY;
patch originalPatch;

View File

@ -1,300 +0,0 @@
v -0.3 0.356933 0
v 0.736819 -1.0454 0
v -0.3 -4.33681e-19 0
v -0.731927 0.534753 0
v 0.0288403 -0.2 0
v -0.7 -0.2 0
v 0.043164 -0.1 0
v -3.85034 14.6823 0
v -0.3 -4.33681e-19 0
v -0.5 -4.33681e-19 0
v -0.5 0.328875 0
v -0.7 -0.2 0
v -0.7 -4.33681e-19 0
v -0.818984 -0.262031 0
v -0.548097 0.349339 0
v -1.07792 0.991041 0
v -0.5 -4.33681e-19 0
v -0.7 -4.33681e-19 0
v 0.306852 0.365741 0
v -0.3 -0.2 0
v -0.5 -0.620416 0
v -0.5 -0.2 0
v -0.324858 -0.575142 0
v -0.3 -0.4 0
v -0.3 -0.4 0
v -0.3 -0.2 0
v -0.2 -0.7 0
v -0.5 -0.4 0
v -0.9 0.0477548 0
v -0.5 -0.4 0
v -0.999815 -0.4 0
v -0.7 -0.4 0
v -0.7 -0.4 0
v -0.5 -0.2 0
v 1.3 -4.33681e-19 0
v -0.633192 0.733191 0
v 0.863384 -0.172607 0
v -0.649359 0.7 0
v 25.3399 0 0
v -0.349913 0.850262 0
v 0.0569116 -0.4 0
v 0.844247 0 0
v 0.0288611 -0.200049 0
v 0.4 -0.1 0
v 0.0568979 4.33681e-19 0
v 0.4 -0.1 0
v 0.4 -0.200049 0
v 0.8454 -0.01092 0
v 0.4 -0.200049 0
v 0.4 -0.3 0
v 0.73361 -1.06681 0
v 0.166111 -0.599551 0
v 0.4 -0.3 0
v 0.0431637 -0.3 0
v 0.799791 -0.399948 0
v 0.799791 -0.399948 0
v 0.499882 -0.600353 0
v 0.849765 -0.200049 0
v 1.62414 -0.324139 0
v 1.51179 -0.30269 0
v 20.9351 -4.16532 0
v 1.2 -0.5 0
v 0.749924 -0.599414 0
v 1.14994 -0.750285 0
v 20.4719 -4.61468 0
v 1.14994 -0.750285 0
v 12.1552 -12.8937 0
v 1.1 -1 0
v 0.3504 -0.9992 0
v 0.717625 -1.17943 0
v 3.55271e-15 -25.1264 0
v 3.28595 -21.7261 0
v 0.0782529 -0.863127 0
v 0.3 -1.1 0
v 0.325149 -0.599402 0
v 0.5016 -1.0748 0
v 0.0634697 -0.44533 0
v 0.0993656 -0.799789 0
v 0.789286 -0.678154 0
v 0.4 -0.9 0
v 0.3504 -0.9992 0
v 0.4 -0.9 0
v 0.0873879 0.413061 0
v -1.23039 0.130392 0
v -0.918526 0.48436 0
v -0.8 2.16959 0
v -0.8 0.9 0
v -0.542484 0.914452 0
v 0.899633 0.400367 0
v 1.3 0.680146 0
v -0.4 0.7 0
v 0.07271 0.54243 0
v -0.4 0.343163 0
v 0.112919 0.387599 0
v -0.4 0.7 0
v -0.349913 0.850262 0
v -0.149898 1.05003 0
v -0.149898 1.05003 0
v -0.625392 1.32539 0
v -0.0499819 0.750285 0
v -0.3 1 0
v -1.2364 4.30955 0
v 7.54605e-17 1.1 0
v -10.0441 14.9482 0
v 0.062225 0.637941 0
v 0 25.1286 0
v 0.25675 0.962167 0
v 1.58927 23.4627 0
v 0.217351 0.376026 0
v 0.5 0.8 0
v 15.5658 9.24454 0
v 0.26105 0.969475 0
v 0.809752 0.310159 0
v 0.5 0.8 0
v 0.6 0.9 0
v 0.6 0.9 0
v 0.999815 0.500185 0
v 0.362098 1.1379 0
v 0.7 1 0
v 0.555324 2.46108 0
v 1.23649 0.642338 0
v 3.31569 21.6533 0
v -0.999903 -0.383492 0
v -0.775631 -0.1 0
v -1.50145 -0.0499766 0
v -0.7 0.200074 0
v -1.1 -1.12051e-16 0
v -1.10147 -0.248109 0
v -1.00125 0.09875 0
v -1.21907 0.13815 0
v -25.337 -7.10543e-15 0
v -1.2 -0.7 0
v -25.0238 0.300001 0
v -1.3 0.3 0
v -1.2 0.5 0
v -1.25 0.4 0
v -1.01682 0.533647 0
v -1.00085 0.400426 0
v -1.2 0.5 0
v -1.04987 0.349875 0
v -1.3 0.632025 0
v -1.25 0.4 0
v -1.24909 0.648698 0
v -1.2707 0.641401 0
v -24.8046 0.509921 0
v -1.54737 0.548687 0
v -1.3 0.8 0
v -5.05166 19.8342 0
v -1.1 0.7 0
v -1.19875 0.749375 0
v -0.930392 0.769608 0
v -1.07518 0.562411 0
v -1.1 0.7 0
v -1.14994 0.600114 0
v -1.19875 0.749375 0
v -0.93815 0.780925 0
v -0.7 -0.740338 0
v 0.0993656 -0.799789 0
v -0.2 -0.7 0
v -0.300073 -0.800073 0
v -0.137743 -0.51323 0
v -0.3 -0.566551 0
v -0.474704 -0.625442 0
v -0.300073 -0.800073 0
v -0.800396 -0.801551 0
v -0.0603943 -1.03975 0
v -0.203234 -1.54987 0
v -0.16954 -1.43221 0
v -5.28137 -19.5205 0
v -0.4 -0.9 0
v -1.00002 -0.466829 0
v -0.804769 -0.819046 0
v -5.43923 -19.3592 0
v -0.807769 -0.830744 0
v -1.24995 -0.55014 0
v -12.727 -12.2269 0
v -1.13292 -0.232916 0
v -1.24995 -0.55014 0
v -25.2887 -0.0451854 0
v -18.7122 -6.3709 0
v -2.77495 -0.0518126 0
v -1.3 -0.4 0
v -0.824839 -4.33681e-19 0
v -1.1 -0.245203 0
v -0.9 0.0477548 0
v -0.9 -0.1 0
v -0.724839 -0.2 0
v -0.9 -0.1 0
v -0.849562 0.0477548 0
v -1.06785 -0.183927 0
v -0.700077 0.2 0
v -0.950255 0.0477548 0
v -1.08377 0.316883 0
v -1.11192 0.209425 0
v -0.778488 0.541328 0
v -0.9 0.2 0
v -0.9 0.2 0
v -1.00125 0.09875 0
f 176 180 179 131 71 169 173
f 104 148 106 131 133 145
f 72 71 39 61 65 67
f 106 108 122 111 39
f 10 9 3 1 93 11
f 20 5 7 45 3 9
f 3 45 94 83 1
f 22 26 20 9 10 17
f 18 17 10 11 15 126 13
f 183 124 187 6 18 13
f 13 126 191 189 183
f 6 12 34 22 17 18
f 26 25 24 41 54 43 5 20
f 21 163 23 162 24 25 28
f 162 161 77 41 24
f 22 34 30 28 25 26
f 30 33 32 157 21 28
f 187 14 123 31 32 33 12 6
f 31 171 165 157 32
f 12 33 30 34
f 90 121 117 89 113 42 35
f 37 60 59 35 42 48
f 35 59 61 39 111 90
f 19 46 44 48 42 113
f 46 7 5 43 47 44
f 19 109 94 45 7 46
f 47 49 58 37 48 44
f 54 50 49 47 43
f 75 57 63 55 56 53
f 75 53 50 54 41 77 52
f 49 50 53 56 58
f 63 79 64 62 55
f 62 60 37 58 56 55
f 64 66 65 61 59 60 62
f 79 2 68 66 64
f 68 67 65 66
f 2 51 70 72 67 68
f 69 81 74 76
f 74 168 167 169 71 72 70 76
f 81 73 166 168 74
f 51 82 69 76 70
f 80 57 75 52 78 158
f 51 2 79 63 57 80 82
f 158 73 81 69 82 80
f 151 195 4 38 36 87
f 88 99 86 87 36
f 8 16 156 151 87 86 102
f 38 4 15 11 93 91 95
f 96 40 95 91 92 105 100
f 91 93 1 83 92
f 36 38 95 40 88
f 96 100 97 98 101
f 99 88 40 96 101
f 98 102 86 99 101
f 97 100 105 107 112 103
f 148 8 102 98 97 103 108 106
f 103 112 118 120 122 108
f 107 105 92 83 94 109 110
f 114 89 117 115
f 109 19 113 89 114 110
f 112 107 110 114 115 116 118
f 115 117 121 119 116
f 118 116 119 120
f 119 121 90 111 122 120
f 129 194 130 84 127
f 84 125 177 128 184 127
f 190 192 198 129 127 184
f 194 193 136 142 134 130
f 134 133 131 179 181 125 84 130
f 142 146 145 133 134
f 140 138 139 135 136 193
f 152 154 143 144 135 139
f 138 85 137 152 139
f 144 141 146 142 136 135
f 143 150 147 141 144
f 147 104 145 146 141
f 104 147 150 155 16 8 148
f 154 149 155 150 143
f 85 195 151 156 153 137
f 152 137 153 149 154
f 16 155 149 153 156
f 159 27 78 52 77 161
f 27 159 23 163 164 160
f 159 161 162 23
f 160 166 73 158 78 27
f 165 172 170 164 163 21 157
f 170 167 168 166 160 164
f 172 174 173 169 167 170
f 171 175 132 174 172 165
f 132 176 173 174
f 132 175 178 180 176
f 175 171 31 123 128 177 182 178
f 182 181 179 180 178
f 125 181 182 177
f 14 186 190 184 128 123
f 188 124 183 189 185
f 14 187 124 188 186
f 186 188 185 29 192 190
f 191 197 29 185 189
f 196 140 193 194 129 198
f 191 126 15 4 195 85 138 140 196 197
f 192 29 197 196 198

View File

@ -1,102 +0,0 @@
v -24 -24 0
v -24 24 0
v 24 -24 0
v 24 24 0
v -0.3025 0.0025 0
v -0.2975 -0.0025 0
v -0.2975 0.0025 0
v -0.3025 -0.0025 0
v -0.6975 0.0025 0
v -0.7025 -0.0025 0
v -0.7025 0.0025 0
v -0.6975 -0.0025 0
v -0.2975 -0.3975 0
v -0.3025 -0.4025 0
v -0.2975 -0.4025 0
v -0.3025 -0.3975 0
v -0.6975 -0.4025 0
v -0.7025 -0.3975 0
v -0.7025 -0.4025 0
v -0.6975 -0.3975 0
v 1.2975 0.0025 0
v 1.2975 -0.0025 0
v 1.3025 0.0025 0
v 0.401519 -0.0971466 0
v 0.3975 -0.10205 0
v 0.3975 -0.0979505 0
v 0.4025 -0.10205 0
v 0.3975 -0.298048 0
v 0.401287 -0.302899 0
v 0.3975 -0.301952 0
v 0.4025 -0.298048 0
v 1.19708 -0.501847 0
v 1.19829 -0.496996 0
v 1.20198 -0.502828 0
v 1.0979 -0.997743 0
v 1.1028 -0.998723 0
v 1.09852 -1.0027 0
v 0.304325 -1.09694 0
v 0.304945 -1.1019 0
v 0.299853 -1.0947 0
v 0.400947 -0.903696 0
v 0.398056 -0.896717 0
v 0.403525 -0.89854 0
v 0.396475 -0.90146 0
v -0.8 0.896464 0
v -0.796464 0.9 0
v -0.803536 0.9 0
v -0.401802 0.6975 0
v -0.397058 0.700919 0
v -0.398198 0.6975 0
v -0.401802 0.7025 0
v -0.298024 0.998024 0
v -0.302767 0.999605 0
v -0.299605 1.00277 0
v -0.000191824 1.0973 0
v -0.00177296 1.10204 0
v 0.00204424 1.10177 0
v 0.496908 0.799057 0
v 0.503217 0.799681 0
v 0.500319 0.796783 0
v 0.499681 0.803217 0
v 0.700319 0.996783 0
v 0.696783 1.00032 0
v 0.703092 1.00094 0
v -1.1 0.00353553 0
v -1.10354 -7.90253e-10 0
v -1.09646 -7.90253e-10 0
v -1.2972 0.3 0
v -1.30168 0.297764 0
v -1.30168 0.302236 0
v -1.19832 0.497764 0
v -1.19832 0.502236 0
v -1.1972 0.5 0
v -1.2028 0.5 0
v -1.2975 0.795955 0
v -1.3025 0.795955 0
v -1.29526 0.800427 0
v -1.10224 0.698323 0
v -1.09776 0.698323 0
v -1.1 0.697205 0
v -1.1 0.702795 0
v -0.197744 -0.698117 0
v -0.20286 -0.699325 0
v -0.200675 -0.69714 0
v -0.199325 -0.70286 0
v -0.400822 -0.897286 0
v -0.397286 -0.900822 0
v -0.401802 -0.902189 0
v -1.19802 -0.698024 0
v -1.1996 -0.702767 0
v -1.20277 -0.699605 0
v -1.29714 -0.400675 0
v -1.30188 -0.402256 0
v -1.30068 -0.39714 0
v -0.900264 -0.102927 0
v -0.8975 -0.0984549 0
v -0.8975 -0.101545 0
v -0.9025 -0.0984549 0
v -0.8975 0.193964 0
v -0.906036 0.1975 0
v -0.8975 0.206036 0
v -0.9025 0.193964 0

View File

@ -1,212 +0,0 @@
v -0.3 0.356933 0
v 0.736819 -1.0454 0
v -0.3 -4.33681e-19 0
v -0.731927 0.534753 0
v 0.0288403 -0.2 0
v -0.7 -0.2 0
v 0.043164 -0.1 0
v -0.3 -4.33681e-19 0
v -0.5 -4.33681e-19 0
v -0.5 0.328875 0
v -0.7 -0.2 0
v -0.7 -4.33681e-19 0
v -0.818984 -0.262031 0
v -0.548097 0.349339 0
v -0.5 -4.33681e-19 0
v -0.7 -4.33681e-19 0
v 0.306852 0.365741 0
v -0.3 -0.2 0
v -0.5 -0.620416 0
v -0.324858 -0.575142 0
v -0.3 -0.4 0
v -0.3 -0.4 0
v -0.3 -0.2 0
v -0.2 -0.7 0
v -0.5 -0.4 0
v -0.9 0.0477548 0
v -0.5 -0.4 0
v -0.999815 -0.4 0
v -0.7 -0.4 0
v -0.7 -0.4 0
v 1.3 -4.33681e-19 0
v -0.633192 0.733191 0
v -0.649359 0.7 0
v -0.349913 0.850262 0
v 0.0569116 -0.4 0
v 0.844247 0 0
v 0.0288611 -0.200049 0
v 0.4 -0.1 0
v 0.0568979 4.33681e-19 0
v 0.4 -0.1 0
v 0.4 -0.200049 0
v 0.8454 -0.01092 0
v 0.4 -0.200049 0
v 0.4 -0.3 0
v 0.73361 -1.06681 0
v 0.166111 -0.599551 0
v 0.4 -0.3 0
v 0.0431637 -0.3 0
v 0.799791 -0.399948 0
v 0.799791 -0.399948 0
v 0.499882 -0.600353 0
v 1.2 -0.5 0
v 0.749924 -0.599414 0
v 1.14994 -0.750285 0
v 1.14994 -0.750285 0
v 1.1 -1 0
v 0.3504 -0.9992 0
v 0.717625 -1.17943 0
v 0.3 -1.1 0
v 0.325149 -0.599402 0
v 0.5016 -1.0748 0
v 0.0634697 -0.44533 0
v 0.0993656 -0.799789 0
v 0.789286 -0.678154 0
v 0.4 -0.9 0
v 0.3504 -0.9992 0
v 0.4 -0.9 0
v 0.0873879 0.413061 0
v -1.23039 0.130392 0
v -0.918526 0.48436 0
v -0.8 0.9 0
v 0.899633 0.400367 0
v 1.3 0.680146 0
v -0.4 0.7 0
v 0.07271 0.54243 0
v -0.4 0.343163 0
v 0.112919 0.387599 0
v -0.4 0.7 0
v -0.349913 0.850262 0
v -0.149898 1.05003 0
v -0.149898 1.05003 0
v -0.0499819 0.750285 0
v -0.3 1 0
v 7.54605e-17 1.1 0
v 0.062225 0.637941 0
v 0.25675 0.962167 0
v 0.217351 0.376026 0
v 0.5 0.8 0
v 0.26105 0.969475 0
v 0.809752 0.310159 0
v 0.5 0.8 0
v 0.6 0.9 0
v 0.6 0.9 0
v 0.999815 0.500185 0
v 0.7 1 0
v 1.23649 0.642338 0
v -0.999903 -0.383492 0
v -0.775631 -0.1 0
v -0.7 0.200074 0
v -1.1 -1.12051e-16 0
v -1.10147 -0.248109 0
v -1.00125 0.09875 0
v -1.21907 0.13815 0
v -1.2 -0.7 0
v -1.3 0.3 0
v -1.2 0.5 0
v -1.25 0.4 0
v -1.01682 0.533647 0
v -1.00085 0.400426 0
v -1.2 0.5 0
v -1.04987 0.349875 0
v -1.3 0.632025 0
v -1.25 0.4 0
v -1.24909 0.648698 0
v -1.2707 0.641401 0
v -1.3 0.8 0
v -1.1 0.7 0
v -1.19875 0.749375 0
v -0.930392 0.769608 0
v -1.07518 0.562411 0
v -1.1 0.7 0
v -1.14994 0.600114 0
v -1.19875 0.749375 0
v -0.93815 0.780925 0
v -0.7 -0.740338 0
v 0.0993656 -0.799789 0
v -0.2 -0.7 0
v -0.300073 -0.800073 0
v -0.137743 -0.51323 0
v -0.3 -0.566551 0
v -0.474704 -0.625442 0
v -0.300073 -0.800073 0
v -0.800396 -0.801551 0
v -0.4 -0.9 0
v -1.00002 -0.466829 0
v -0.804769 -0.819046 0
v -0.807769 -0.830744 0
v -1.24995 -0.55014 0
v -1.13292 -0.232916 0
v -1.24995 -0.55014 0
v -1.3 -0.4 0
v -0.824839 -4.33681e-19 0
v -1.1 -0.245203 0
v -0.9 0.0477548 0
v -0.9 -0.1 0
v -0.724839 -0.2 0
v -0.9 -0.1 0
v -0.849562 0.0477548 0
v -1.06785 -0.183927 0
v -0.700077 0.2 0
v -1.08377 0.316883 0
v -1.11192 0.209425 0
v -0.778488 0.541328 0
v -0.9 0.2 0
v -0.9 0.2 0
v -1.00125 0.09875 0
f 9 8 3 1 76 10
f 18 5 7 39 3 8
f 3 39 77 68 1
f 16 15 9 10 14 99 12
f 142 98 146 6 16 12
f 12 99 150 148 142
f 23 22 21 35 48 37 5 18
f 19 131 20 130 21 22 25
f 130 129 62 35 21
f 27 30 29 125 19 25
f 146 13 97 28 29 30 11 6
f 28 135 133 125 29
f 73 96 94 72 90 36 31
f 17 40 38 42 36 90
f 40 7 5 37 41 38
f 17 87 77 39 7 40
f 48 44 43 41 37
f 60 51 53 49 50 47
f 60 47 44 48 35 62 46
f 53 64 54 52 49
f 64 2 56 55 54
f 57 66 59 61
f 45 67 57 61 58
f 65 51 60 46 63 126
f 45 2 64 53 51 65 67
f 119 153 4 33 32 71
f 33 4 14 10 76 74 78
f 79 34 78 74 75 85 82
f 74 76 1 68 75
f 79 82 80 81 83
f 80 82 85 86 89 84
f 86 85 75 68 77 87 88
f 91 72 94 92
f 87 17 90 72 91 88
f 92 94 96 95 93
f 102 152 103 69 100
f 152 151 107 113 105 103
f 111 109 110 106 107 151
f 120 122 114 115 106 110
f 109 70 108 120 110
f 114 118 116 112 115
f 122 117 123 118 114
f 70 153 119 124 121 108
f 120 108 121 117 122
f 127 24 63 46 62 129
f 24 127 20 131 132 128
f 127 129 130 20
f 133 136 134 132 131 19 125
f 135 138 104 137 136 133
f 138 135 28 97 101 139 141 140
f 13 145 149 143 101 97
f 147 98 142 148 144
f 13 146 98 147 145
f 150 155 26 144 148
f 154 111 151 152 102 156
f 150 99 14 4 153 70 109 111 154 155

View File

@ -1,254 +0,0 @@
v -0.3025 0.0025 0
v -0.2975 -0.0025 0
v -0.2975 0.0025 0
v -0.3025 -0.0025 0
v -0.6975 0.0025 0
v -0.7025 -0.0025 0
v -0.7025 0.0025 0
v -0.6975 -0.0025 0
v -0.2975 -0.3975 0
v -0.3025 -0.4025 0
v -0.2975 -0.4025 0
v -0.3025 -0.3975 0
v -0.6975 -0.4025 0
v -0.7025 -0.3975 0
v -0.7025 -0.4025 0
v -0.6975 -0.3975 0
v 1.2975 0.0025 0
v 1.2975 -0.0025 0
v 1.3025 0.0025 0
v 0.401519 -0.0971466 0
v 0.3975 -0.10205 0
v 0.3975 -0.0979505 0
v 0.4025 -0.10205 0
v 0.3975 -0.298048 0
v 0.401287 -0.302899 0
v 0.3975 -0.301952 0
v 0.4025 -0.298048 0
v 1.19708 -0.501847 0
v 1.19829 -0.496996 0
v 1.20198 -0.502828 0
v 1.0979 -0.997743 0
v 1.1028 -0.998723 0
v 1.09852 -1.0027 0
v 0.304325 -1.09694 0
v 0.304945 -1.1019 0
v 0.299853 -1.0947 0
v 0.400947 -0.903696 0
v 0.398056 -0.896717 0
v 0.403525 -0.89854 0
v 0.396475 -0.90146 0
v -0.8 0.896464 0
v -0.796464 0.9 0
v -0.803536 0.9 0
v -0.401802 0.6975 0
v -0.397058 0.700919 0
v -0.398198 0.6975 0
v -0.401802 0.7025 0
v -0.298024 0.998024 0
v -0.302767 0.999605 0
v -0.299605 1.00277 0
v -0.000191824 1.0973 0
v -0.00177296 1.10204 0
v 0.00204424 1.10177 0
v 0.496908 0.799057 0
v 0.503217 0.799681 0
v 0.500319 0.796783 0
v 0.499681 0.803217 0
v 0.700319 0.996783 0
v 0.696783 1.00032 0
v 0.703092 1.00094 0
v -1.1 0.00353553 0
v -1.10354 -7.90253e-10 0
v -1.09646 -7.90253e-10 0
v -1.2972 0.3 0
v -1.30168 0.297764 0
v -1.30168 0.302236 0
v -1.19832 0.497764 0
v -1.19832 0.502236 0
v -1.1972 0.5 0
v -1.2028 0.5 0
v -1.2975 0.795955 0
v -1.3025 0.795955 0
v -1.29526 0.800427 0
v -1.10224 0.698323 0
v -1.09776 0.698323 0
v -1.1 0.697205 0
v -1.1 0.702795 0
v -0.197744 -0.698117 0
v -0.20286 -0.699325 0
v -0.200675 -0.69714 0
v -0.199325 -0.70286 0
v -0.400822 -0.897286 0
v -0.397286 -0.900822 0
v -0.401802 -0.902189 0
v -1.19802 -0.698024 0
v -1.1996 -0.702767 0
v -1.20277 -0.699605 0
v -1.29714 -0.400675 0
v -1.30188 -0.402256 0
v -1.30068 -0.39714 0
v -0.900264 -0.102927 0
v -0.8975 -0.0984549 0
v -0.8975 -0.101545 0
v -0.9025 -0.0984549 0
v -0.8975 0.193964 0
v -0.906036 0.1975 0
v -0.8975 0.206036 0
v -0.9025 0.193964 0
f 3 46 1
f 33 31 39
f 3 1 2
f 44 41 97
f 21 2 9
f 14 8 6
f 21 22 2
f 1 4 2
f 1 5 4
f 44 5 1
f 16 8 14
f 7 6 5
f 93 91 14
f 44 97 5
f 5 8 4
f 5 6 8
f 22 20 56
f 2 4 9
f 82 10 13
f 79 80 10
f 9 10 11
f 9 12 10
f 9 4 12
f 79 81 78
f 10 12 13
f 94 95 98
f 13 12 16
f 88 15 14
f 13 14 15
f 13 16 14
f 19 17 18
f 47 42 41
f 44 47 41
f 45 49 47
f 11 26 9
f 18 17 20
f 24 21 9
f 23 20 21
f 2 22 3
f 21 20 22
f 24 23 21
f 18 20 23
f 27 23 24
f 26 27 24
f 39 37 33
f 78 38 26
f 27 26 25
f 24 9 26
f 28 29 25
f 25 29 27
f 38 39 25
f 29 28 30
f 25 39 28
f 30 28 31
f 30 31 32
f 32 31 33
f 40 34 37
f 35 33 37
f 35 34 36
f 26 38 25
f 34 35 37
f 11 78 26
f 38 78 81
f 28 39 31
f 38 40 39
f 34 40 36
f 37 39 40
f 3 54 46
f 62 61 65
f 75 69 97
f 42 43 41
f 17 55 56
f 17 19 60
f 46 45 44
f 46 54 45
f 1 46 44
f 3 22 54
f 45 47 44
f 45 48 49
f 51 52 48
f 50 48 52
f 48 45 51
f 48 50 49
f 53 52 51
f 45 54 51
f 54 57 51
f 56 54 22
f 56 57 54
f 57 53 51
f 17 56 20
f 55 57 56
f 58 57 55
f 58 59 57
f 17 58 55
f 60 59 58
f 17 60 58
f 88 14 91
f 92 93 6
f 97 7 5
f 62 63 61
f 62 88 91
f 63 96 61
f 65 61 64
f 87 86 85
f 65 64 66
f 70 67 68
f 70 64 67
f 75 76 69
f 69 67 97
f 67 69 68
f 67 96 97
f 72 70 71
f 66 64 70
f 74 71 68
f 70 68 71
f 71 73 72
f 77 74 76
f 73 71 74
f 43 75 41
f 76 68 69
f 77 76 75
f 74 68 76
f 74 77 73
f 75 43 77
f 15 82 13
f 81 40 38
f 80 79 78
f 81 79 83
f 11 80 78
f 11 10 80
f 10 82 79
f 79 82 83
f 85 82 15
f 83 82 84
f 88 85 15
f 84 82 85
f 84 85 86
f 88 87 85
f 90 88 62
f 89 87 88
f 89 88 90
f 7 92 6
f 63 62 91
f 95 94 92
f 94 91 93
f 6 93 14
f 92 94 93
f 7 95 92
f 63 91 94
f 97 95 7
f 64 96 67
f 64 61 96
f 75 97 41
f 96 98 97
f 97 98 95
f 96 63 98

File diff suppressed because it is too large Load Diff

View File

@ -1,344 +0,0 @@
solid movingWall
facet normal 0 1 0
outer loop
vertex -1 1 -1
vertex -1 1 0
vertex 0 1 0
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 0 1 0
vertex 0 1 -1
vertex -1 1 -1
endloop
endfacet
facet normal 0 1 0
outer loop
vertex -1 1 0
vertex -1 1 1
vertex 0 1 1
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 0 1 1
vertex 0 1 0
vertex -1 1 0
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 0 1 -1
vertex 0 1 0
vertex 1 1 0
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 1 1 0
vertex 1 1 -1
vertex 0 1 -1
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 0 1 0
vertex 0 1 1
vertex 1 1 1
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 1 1 1
vertex 1 1 0
vertex 0 1 0
endloop
endfacet
endsolid movingWall
solid fixedWalls
facet normal -1 0 0
outer loop
vertex -1 0 -1
vertex -1 0 0
vertex -1 1 0
endloop
endfacet
facet normal -1 0 -0
outer loop
vertex -1 1 0
vertex -1 1 -1
vertex -1 0 -1
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -1 -1 0
vertex -1 -1 1
vertex -1 0 1
endloop
endfacet
facet normal -1 0 -0
outer loop
vertex -1 0 1
vertex -1 0 0
vertex -1 -1 0
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -1 0 0
vertex -1 0 1
vertex -1 1 1
endloop
endfacet
facet normal -1 0 -0
outer loop
vertex -1 1 1
vertex -1 1 0
vertex -1 0 0
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1 -1 -1
vertex 1 0 -1
vertex 1 0 0
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1 0 0
vertex 1 -1 0
vertex 1 -1 -1
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1 0 -1
vertex 1 1 -1
vertex 1 1 0
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1 1 0
vertex 1 0 0
vertex 1 0 -1
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1 -1 0
vertex 1 0 0
vertex 1 0 1
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1 0 1
vertex 1 -1 1
vertex 1 -1 0
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1 0 0
vertex 1 1 0
vertex 1 1 1
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1 1 1
vertex 1 0 1
vertex 1 0 0
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex -1 -1 0
vertex 0 -1 0
vertex 0 -1 1
endloop
endfacet
facet normal -0 -1 0
outer loop
vertex 0 -1 1
vertex -1 -1 1
vertex -1 -1 0
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 0 -1 -1
vertex 1 -1 -1
vertex 1 -1 0
endloop
endfacet
facet normal -0 -1 0
outer loop
vertex 1 -1 0
vertex 0 -1 0
vertex 0 -1 -1
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 0 -1 0
vertex 1 -1 0
vertex 1 -1 1
endloop
endfacet
facet normal -0 -1 0
outer loop
vertex 1 -1 1
vertex 0 -1 1
vertex 0 -1 0
endloop
endfacet
endsolid fixedWalls
solid frontAndBack
facet normal 0 0 -1
outer loop
vertex -1 0 -1
vertex -1 1 -1
vertex 0 1 -1
endloop
endfacet
facet normal 0 -0 -1
outer loop
vertex 0 1 -1
vertex 0 0 -1
vertex -1 0 -1
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0 -1 -1
vertex 0 0 -1
vertex 1 0 -1
endloop
endfacet
facet normal 0 -0 -1
outer loop
vertex 1 0 -1
vertex 1 -1 -1
vertex 0 -1 -1
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0 0 -1
vertex 0 1 -1
vertex 1 1 -1
endloop
endfacet
facet normal 0 -0 -1
outer loop
vertex 1 1 -1
vertex 1 0 -1
vertex 0 0 -1
endloop
endfacet
facet normal 0 0 1
outer loop
vertex -1 -1 1
vertex 0 -1 1
vertex 0 0 1
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 0 0 1
vertex -1 0 1
vertex -1 -1 1
endloop
endfacet
facet normal 0 0 1
outer loop
vertex -1 0 1
vertex 0 0 1
vertex 0 1 1
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 0 1 1
vertex -1 1 1
vertex -1 0 1
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 0 -1 1
vertex 1 -1 1
vertex 1 0 1
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 1 0 1
vertex 0 0 1
vertex 0 -1 1
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 0 0 1
vertex 1 0 1
vertex 1 1 1
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 1 1 1
vertex 0 1 1
vertex 0 0 1
endloop
endfacet
endsolid frontAndBack
solid oldInternalFaces
facet normal -1 0 0
outer loop
vertex 0 -1 -1
vertex 0 -1 0
vertex -1e-3 -1e-3 -1e-3
endloop
endfacet
facet normal -1 0 -0
outer loop
vertex -1e-3 -1e-3 -1e-3
vertex 0 0 -1
vertex 0 -1 -1
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex -1 0 -1
vertex 0 0 -1
vertex -1e-3 -1e-3 -1e-3
endloop
endfacet
facet normal -0 -1 0
outer loop
vertex -1e-3 -1e-3 -1e-3
vertex -1 0 0
vertex -1 0 -1
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex -1 -1 0
vertex -1 0 0
vertex -1e-3 -1e-3 -1e-3
endloop
endfacet
facet normal 0 -0 -1
outer loop
vertex -1e-3 -1e-3 -1e-3
vertex 0 -1 0
vertex -1 -1 0
endloop
endfacet
endsolid oldInternalFaces

View File

@ -1,316 +0,0 @@
solid movingWall
facet normal 0 1 0
outer loop
vertex 0 2 0
vertex 0 2 1
vertex 1 2 1
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 1 2 1
vertex 1 2 0
vertex 0 2 0
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 0 2 1
vertex 0 2 2
vertex 1 2 2
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 1 2 2
vertex 1 2 1
vertex 0 2 1
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 1 2 0
vertex 1 2 1
vertex 2 2 1
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 2 2 1
vertex 2 2 0
vertex 1 2 0
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 1 2 1
vertex 1 2 2
vertex 2 2 2
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 2 2 2
vertex 2 2 1
vertex 1 2 1
endloop
endfacet
endsolid movingWall
solid fixedWalls
facet normal -0 -1 0
outer loop
vertex 2 0 2
vertex 1 0 2
vertex 1 0 1
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 1 0 1
vertex 2 0 1
vertex 2 0 2
endloop
endfacet
facet normal -0 -1 0
outer loop
vertex 1 0 2
vertex 0 0 2
vertex 0 0 1
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 0 0 1
vertex 1 0 1
vertex 1 0 2
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 2 2 2
vertex 2 1 2
vertex 2 1 1
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 2 1 1
vertex 2 2 1
vertex 2 2 2
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 2 1 2
vertex 2 0 2
vertex 2 0 1
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 2 0 1
vertex 2 1 1
vertex 2 1 2
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 2 2 1
vertex 2 1 1
vertex 2 1 0
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 2 1 0
vertex 2 2 0
vertex 2 2 1
endloop
endfacet
facet normal -1 0 -0
outer loop
vertex 0 2 2
vertex 0 2 1
vertex 0 1 1
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 0 1 1
vertex 0 1 2
vertex 0 2 2
endloop
endfacet
facet normal -1 0 -0
outer loop
vertex 0 1 2
vertex 0 1 1
vertex 0 0 1
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 0 0 1
vertex 0 0 2
vertex 0 1 2
endloop
endfacet
facet normal -1 0 -0
outer loop
vertex 0 2 1
vertex 0 2 0
vertex 0 1 0
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 0 1 0
vertex 0 1 1
vertex 0 2 1
endloop
endfacet
endsolid fixedWalls
solid frontAndBack
facet normal 0 0 1
outer loop
vertex 2 2 2
vertex 1 2 2
vertex 1 1 2
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 1 1 2
vertex 2 1 2
vertex 2 2 2
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 2 1 2
vertex 1 1 2
vertex 1 0 2
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 1 0 2
vertex 2 0 2
vertex 2 1 2
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 1 2 2
vertex 0 2 2
vertex 0 1 2
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 0 1 2
vertex 1 1 2
vertex 1 2 2
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 1 1 2
vertex 0 1 2
vertex 0 0 2
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 0 0 2
vertex 1 0 2
vertex 1 1 2
endloop
endfacet
facet normal 0 -0 -1
outer loop
vertex 2 2 0
vertex 2 1 0
vertex 1 1 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1 1 0
vertex 1 2 0
vertex 2 2 0
endloop
endfacet
facet normal 0 -0 -1
outer loop
vertex 1 2 0
vertex 1 1 0
vertex 0 1 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0 1 0
vertex 0 2 0
vertex 1 2 0
endloop
endfacet
endsolid frontAndBack
solid oldInternalFaces
facet normal 0 -1 0
outer loop
vertex 0 1 0
vertex 1 1 0
vertex 1 1 1
endloop
endfacet
facet normal -0 -1 0
outer loop
vertex 1 1 1
vertex 0 1 1
vertex 0 1 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0 0 1
vertex 0 1 1
vertex 1 1 1
endloop
endfacet
facet normal 0 -0 -1
outer loop
vertex 1 1 1
vertex 1 0 1
vertex 0 0 1
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 1 1 0
vertex 2 1 0
vertex 2 1 1
endloop
endfacet
facet normal -0 -1 0
outer loop
vertex 2 1 1
vertex 1 1 1
vertex 1 1 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1 0 1
vertex 1 1 1
vertex 2 1 1
endloop
endfacet
facet normal 0 -0 -1
outer loop
vertex 2 1 1
vertex 2 0 1
vertex 1 0 1
endloop
endfacet
endsolid oldInternalFaces

View File

@ -1,982 +0,0 @@
solid patchFFFFFF
facet normal -0.468765 -0.883323 -0
outer loop
vertex -0.0187957 0.00145015 15
vertex -0.0187957 0.00145015 -15
vertex 0.038519 -0.0289658 -15
endloop
endfacet
facet normal -0.468765 -0.883323 0
outer loop
vertex -0.0187957 0.00145015 15
vertex 0.038519 -0.0289658 -15
vertex 0.038519 -0.0289658 15
endloop
endfacet
facet normal -0.647754 -0.761849 -0
outer loop
vertex -0.0682383 0.0434882 15
vertex -0.0682383 0.0434882 -15
vertex -0.0187957 0.00145015 -15
endloop
endfacet
facet normal -0.647754 -0.761849 0
outer loop
vertex -0.0682383 0.0434882 15
vertex -0.0187957 0.00145015 -15
vertex -0.0187957 0.00145015 15
endloop
endfacet
facet normal -0.796377 -0.604801 -0
outer loop
vertex -0.107497 0.0951824 15
vertex -0.107497 0.0951824 -15
vertex -0.0682383 0.0434882 -15
endloop
endfacet
facet normal -0.796377 -0.604801 0
outer loop
vertex -0.107497 0.0951824 15
vertex -0.0682383 0.0434882 -15
vertex -0.0682383 0.0434882 15
endloop
endfacet
facet normal -0.907731 -0.419552 -0
outer loop
vertex -0.134736 0.154116 15
vertex -0.134736 0.154116 -15
vertex -0.107497 0.0951824 -15
endloop
endfacet
facet normal -0.907731 -0.419552 0
outer loop
vertex -0.134736 0.154116 15
vertex -0.107497 0.0951824 -15
vertex -0.107497 0.0951824 15
endloop
endfacet
facet normal -0.976666 -0.214766 -0
outer loop
vertex -0.148681 0.217532 15
vertex -0.148681 0.217532 -15
vertex -0.134736 0.154116 -15
endloop
endfacet
facet normal -0.976666 -0.214766 0
outer loop
vertex -0.148681 0.217532 15
vertex -0.134736 0.154116 -15
vertex -0.134736 0.154116 15
endloop
endfacet
facet normal -1 0 -0
outer loop
vertex -0.148681 0.282467 15
vertex -0.148681 0.282467 -15
vertex -0.148681 0.217532 -15
endloop
endfacet
facet normal -1 -0 0
outer loop
vertex -0.148681 0.282467 15
vertex -0.148681 0.217532 -15
vertex -0.148681 0.217532 15
endloop
endfacet
facet normal -0.976666 0.214763 0
outer loop
vertex -0.134736 0.345884 15
vertex -0.134736 0.345884 -15
vertex -0.148681 0.282467 -15
endloop
endfacet
facet normal -0.976666 0.214763 0
outer loop
vertex -0.134736 0.345884 15
vertex -0.148681 0.282467 -15
vertex -0.148681 0.282467 15
endloop
endfacet
facet normal -0.907732 0.419549 0
outer loop
vertex -0.107497 0.404818 15
vertex -0.107497 0.404818 -15
vertex -0.134736 0.345884 -15
endloop
endfacet
facet normal -0.907732 0.419549 0
outer loop
vertex -0.107497 0.404818 15
vertex -0.134736 0.345884 -15
vertex -0.134736 0.345884 15
endloop
endfacet
facet normal -0.796376 0.604802 0
outer loop
vertex -0.0682383 0.456512 15
vertex -0.0682383 0.456512 -15
vertex -0.107497 0.404818 -15
endloop
endfacet
facet normal 0.994151 -0.108002 0
outer loop
vertex 0.442547 0.185446 15
vertex 0.442547 0.185446 -15
vertex 0.44956 0.25 -15
endloop
endfacet
facet normal 0.994151 -0.108002 0
outer loop
vertex 0.442547 0.185446 15
vertex 0.44956 0.25 -15
vertex 0.44956 0.25 15
endloop
endfacet
facet normal 0.947746 -0.319026 0
outer loop
vertex 0.421833 0.12391 15
vertex 0.421833 0.12391 -15
vertex 0.442547 0.185446 -15
endloop
endfacet
facet normal 0.947746 -0.319026 0
outer loop
vertex 0.421833 0.12391 15
vertex 0.442547 0.185446 -15
vertex 0.442547 0.185446 15
endloop
endfacet
facet normal 0.857078 -0.515186 0
outer loop
vertex 0.388388 0.06827 15
vertex 0.388388 0.06827 -15
vertex 0.421833 0.12391 -15
endloop
endfacet
facet normal 0.857078 -0.515186 0
outer loop
vertex 0.388388 0.06827 15
vertex 0.421833 0.12391 -15
vertex 0.421833 0.12391 15
endloop
endfacet
facet normal 0.726332 -0.687344 0
outer loop
vertex 0.343776 0.0211275 15
vertex 0.343776 0.0211275 -15
vertex 0.388388 0.06827 -15
endloop
endfacet
facet normal 0.726332 -0.687344 0
outer loop
vertex 0.343776 0.0211275 15
vertex 0.388388 0.06827 -15
vertex 0.388388 0.06827 15
endloop
endfacet
facet normal 0.561565 -0.827432 0
outer loop
vertex 0.290083 -0.0153131 15
vertex 0.290083 -0.0153131 -15
vertex 0.343776 0.0211275 -15
endloop
endfacet
facet normal 0.561565 -0.827432 0
outer loop
vertex 0.290083 -0.0153131 15
vertex 0.343776 0.0211275 -15
vertex 0.343776 0.0211275 15
endloop
endfacet
facet normal 0.37045 -0.928852 0
outer loop
vertex 0.229819 -0.0393479 15
vertex 0.229819 -0.0393479 -15
vertex 0.290083 -0.0153131 -15
endloop
endfacet
facet normal 0.37045 -0.928852 0
outer loop
vertex 0.229819 -0.0393479 15
vertex 0.290083 -0.0153131 -15
vertex 0.290083 -0.0153131 15
endloop
endfacet
facet normal 0.161937 -0.986801 0
outer loop
vertex 0.165802 -0.0498533 15
vertex 0.165802 -0.0498533 -15
vertex 0.229819 -0.0393479 -15
endloop
endfacet
facet normal 0.161937 -0.986801 0
outer loop
vertex 0.165802 -0.0498533 15
vertex 0.229819 -0.0393479 -15
vertex 0.229819 -0.0393479 15
endloop
endfacet
facet normal -0.0541919 -0.998531 -0
outer loop
vertex 0.101026 -0.0463378 15
vertex 0.101026 -0.0463378 -15
vertex 0.165802 -0.0498533 -15
endloop
endfacet
facet normal -0.0541919 -0.998531 0
outer loop
vertex 0.101026 -0.0463378 15
vertex 0.165802 -0.0498533 -15
vertex 0.165802 -0.0498533 15
endloop
endfacet
facet normal -0.267772 -0.963482 -0
outer loop
vertex 0.038519 -0.0289658 15
vertex 0.038519 -0.0289658 -15
vertex 0.101026 -0.0463378 -15
endloop
endfacet
facet normal -0.267772 -0.963482 0
outer loop
vertex 0.038519 -0.0289658 15
vertex 0.101026 -0.0463378 -15
vertex 0.101026 -0.0463378 15
endloop
endfacet
facet normal 0.857078 0.515186 0
outer loop
vertex 0.421833 0.37609 15
vertex 0.388388 0.43173 -15
vertex 0.388388 0.43173 15
endloop
endfacet
facet normal 0.947746 0.319026 0
outer loop
vertex 0.442547 0.314554 15
vertex 0.442547 0.314554 -15
vertex 0.421833 0.37609 -15
endloop
endfacet
facet normal 0.947746 0.319026 0
outer loop
vertex 0.442547 0.314554 15
vertex 0.421833 0.37609 -15
vertex 0.421833 0.37609 15
endloop
endfacet
facet normal 0.994151 0.108002 0
outer loop
vertex 0.44956 0.25 15
vertex 0.44956 0.25 -15
vertex 0.442547 0.314554 -15
endloop
endfacet
facet normal 0.994151 0.108002 0
outer loop
vertex 0.44956 0.25 15
vertex 0.442547 0.314554 -15
vertex 0.442547 0.314554 15
endloop
endfacet
facet normal 0 -0 -1
outer loop
vertex -0.3 0 -14
vertex -0.3 -0.4 -14
vertex -0.7 -0.4 -14
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex -0.3 0 -14
vertex -0.7 -0.4 -14
vertex -0.7 0 -14
endloop
endfacet
facet normal 0 1 0
outer loop
vertex -0.3 0 15
vertex -0.3 0 -14
vertex -0.7 0 -14
endloop
endfacet
facet normal 0 1 0
outer loop
vertex -0.3 0 15
vertex -0.7 0 -14
vertex -0.7 0 15
endloop
endfacet
facet normal 1 0 0
outer loop
vertex -0.3 -0.4 15
vertex -0.3 -0.4 -14
vertex -0.3 0 -14
endloop
endfacet
facet normal 1 -0 0
outer loop
vertex -0.3 -0.4 15
vertex -0.3 0 -14
vertex -0.3 0 15
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex -0.7 -0.4 15
vertex -0.7 -0.4 -14
vertex -0.3 -0.4 -14
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex -0.7 -0.4 15
vertex -0.3 -0.4 -14
vertex -0.3 -0.4 15
endloop
endfacet
facet normal -1 0 -0
outer loop
vertex -0.7 0 15
vertex -0.7 0 -14
vertex -0.7 -0.4 -14
endloop
endfacet
facet normal -1 -0 0
outer loop
vertex -0.7 0 15
vertex -0.7 -0.4 -14
vertex -0.7 -0.4 15
endloop
endfacet
facet normal 0 0 1
outer loop
vertex -0.7 0 15
vertex -0.7 -0.4 15
vertex -0.3 -0.4 15
endloop
endfacet
facet normal -0 0 1
outer loop
vertex -0.7 0 15
vertex -0.3 -0.4 15
vertex -0.3 0 15
endloop
endfacet
facet normal -0.796376 0.604802 0
outer loop
vertex -0.0682383 0.456512 15
vertex -0.107497 0.404818 -15
vertex -0.107497 0.404818 15
endloop
endfacet
facet normal -0.647755 0.761849 0
outer loop
vertex -0.0187958 0.49855 15
vertex -0.0187958 0.49855 -15
vertex -0.0682383 0.456512 -15
endloop
endfacet
facet normal -0.647755 0.761849 0
outer loop
vertex -0.0187958 0.49855 15
vertex -0.0682383 0.456512 -15
vertex -0.0682383 0.456512 15
endloop
endfacet
facet normal -0.468765 0.883323 0
outer loop
vertex 0.0385189 0.528966 15
vertex 0.0385189 0.528966 -15
vertex -0.0187958 0.49855 -15
endloop
endfacet
facet normal -0.468765 0.883323 0
outer loop
vertex 0.0385189 0.528966 15
vertex -0.0187958 0.49855 -15
vertex -0.0187958 0.49855 15
endloop
endfacet
facet normal -0.267772 0.963482 0
outer loop
vertex 0.101026 0.546338 15
vertex 0.101026 0.546338 -15
vertex 0.0385189 0.528966 -15
endloop
endfacet
facet normal -0.267772 0.963482 0
outer loop
vertex 0.101026 0.546338 15
vertex 0.0385189 0.528966 -15
vertex 0.0385189 0.528966 15
endloop
endfacet
facet normal -0.0541843 0.998531 0
outer loop
vertex 0.165802 0.549853 15
vertex 0.165802 0.549853 -15
vertex 0.101026 0.546338 -15
endloop
endfacet
facet normal -0.0541843 0.998531 0
outer loop
vertex 0.165802 0.549853 15
vertex 0.101026 0.546338 -15
vertex 0.101026 0.546338 15
endloop
endfacet
facet normal 0.161932 0.986802 0
outer loop
vertex 0.229819 0.539348 15
vertex 0.229819 0.539348 -15
vertex 0.165802 0.549853 -15
endloop
endfacet
facet normal 0.161932 0.986802 0
outer loop
vertex 0.229819 0.539348 15
vertex 0.165802 0.549853 -15
vertex 0.165802 0.549853 15
endloop
endfacet
facet normal 0.370452 0.928852 0
outer loop
vertex 0.290083 0.515313 15
vertex 0.290083 0.515313 -15
vertex 0.229819 0.539348 -15
endloop
endfacet
facet normal 0.370452 0.928852 0
outer loop
vertex 0.290083 0.515313 15
vertex 0.229819 0.539348 -15
vertex 0.229819 0.539348 15
endloop
endfacet
facet normal 0.561559 0.827437 0
outer loop
vertex 0.343776 0.478873 15
vertex 0.343776 0.478873 -15
vertex 0.290083 0.515313 -15
endloop
endfacet
facet normal 0.561559 0.827437 0
outer loop
vertex 0.343776 0.478873 15
vertex 0.290083 0.515313 -15
vertex 0.290083 0.515313 15
endloop
endfacet
facet normal 0.726336 0.68734 0
outer loop
vertex 0.388388 0.43173 15
vertex 0.388388 0.43173 -15
vertex 0.343776 0.478873 -15
endloop
endfacet
facet normal 0.726336 0.68734 0
outer loop
vertex 0.388388 0.43173 15
vertex 0.343776 0.478873 -15
vertex 0.343776 0.478873 15
endloop
endfacet
facet normal 0.857078 0.515186 0
outer loop
vertex 0.421833 0.37609 15
vertex 0.421833 0.37609 -15
vertex 0.388388 0.43173 -15
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.3 0 15
vertex 1.3 0 -15
vertex 1.3 0.4 -15
endloop
endfacet
facet normal 1 -0 0
outer loop
vertex 1.3 0 15
vertex 1.3 0.4 -15
vertex 1.3 0.4 15
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 0.9 0 15
vertex 0.9 0 -15
vertex 1.3 0 -15
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 0.9 0 15
vertex 1.3 0 -15
vertex 1.3 0 15
endloop
endfacet
facet normal 0.196116 -0.980581 0
outer loop
vertex 0.4 -0.1 15
vertex 0.4 -0.1 -15
vertex 0.9 0 -15
endloop
endfacet
facet normal 0.196116 -0.980581 0
outer loop
vertex 0.4 -0.1 15
vertex 0.9 0 -15
vertex 0.9 0 15
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 0.4 -0.3 15
vertex 0.4 -0.3 -15
vertex 0.4 -0.1 -15
endloop
endfacet
facet normal 1 -0 0
outer loop
vertex 0.4 -0.3 15
vertex 0.4 -0.1 -15
vertex 0.4 -0.1 15
endloop
endfacet
facet normal 0.242536 0.970143 0
outer loop
vertex 0.8 -0.4 15
vertex 0.8 -0.4 -15
vertex 0.4 -0.3 -15
endloop
endfacet
facet normal 0.242536 0.970143 0
outer loop
vertex 0.8 -0.4 15
vertex 0.4 -0.3 -15
vertex 0.4 -0.3 15
endloop
endfacet
facet normal 0.242536 0.970143 0
outer loop
vertex 1.2 -0.5 15
vertex 1.2 -0.5 -15
vertex 0.8 -0.4 -15
endloop
endfacet
facet normal 0.242536 0.970143 0
outer loop
vertex 1.2 -0.5 15
vertex 0.8 -0.4 -15
vertex 0.8 -0.4 15
endloop
endfacet
facet normal 0.980581 -0.196116 0
outer loop
vertex 1.1 -1 15
vertex 1.1 -1 -15
vertex 1.2 -0.5 -15
endloop
endfacet
facet normal 0.980581 -0.196116 0
outer loop
vertex 1.1 -1 15
vertex 1.2 -0.5 -15
vertex 1.2 -0.5 15
endloop
endfacet
facet normal 0.124035 -0.992278 0
outer loop
vertex 0.3 -1.1 15
vertex 0.3 -1.1 -15
vertex 1.1 -1 -15
endloop
endfacet
facet normal 0.124035 -0.992278 0
outer loop
vertex 0.3 -1.1 15
vertex 1.1 -1 -15
vertex 1.1 -1 15
endloop
endfacet
facet normal -0.894427 0.447213 0
outer loop
vertex 0.4 -0.9 15
vertex 0.4 -0.9 -15
vertex 0.3 -1.1 -15
endloop
endfacet
facet normal 0.707107 0.707107 0
outer loop
vertex -0.6 0.7 15
vertex -0.6 0.7 -15
vertex -0.8 0.9 -15
endloop
endfacet
facet normal 0.707107 0.707107 0
outer loop
vertex -0.6 0.7 15
vertex -0.8 0.9 -15
vertex -0.8 0.9 15
endloop
endfacet
facet normal 0 1 0
outer loop
vertex -0.4 0.7 15
vertex -0.4 0.7 -15
vertex -0.6 0.7 -15
endloop
endfacet
facet normal 0 1 0
outer loop
vertex -0.4 0.7 15
vertex -0.6 0.7 -15
vertex -0.6 0.7 15
endloop
endfacet
facet normal -0.948683 0.316228 0
outer loop
vertex -0.3 1 15
vertex -0.3 1 -15
vertex -0.4 0.7 -15
endloop
endfacet
facet normal -0.948683 0.316228 0
outer loop
vertex -0.3 1 15
vertex -0.4 0.7 -15
vertex -0.4 0.7 15
endloop
endfacet
facet normal -0.316228 0.948683 0
outer loop
vertex 0 1.1 15
vertex 0 1.1 -15
vertex -0.3 1 -15
endloop
endfacet
facet normal -0.316228 0.948683 0
outer loop
vertex 0 1.1 15
vertex -0.3 1 -15
vertex -0.3 1 15
endloop
endfacet
facet normal 0.447214 0.894427 0
outer loop
vertex 0.2 1 15
vertex 0.2 1 -15
vertex 0 1.1 -15
endloop
endfacet
facet normal 0.447214 0.894427 0
outer loop
vertex 0.2 1 15
vertex 0 1.1 -15
vertex 0 1.1 15
endloop
endfacet
facet normal 0.5547 0.83205 0
outer loop
vertex 0.5 0.8 15
vertex 0.5 0.8 -15
vertex 0.2 1 -15
endloop
endfacet
facet normal 0.5547 0.83205 0
outer loop
vertex 0.5 0.8 15
vertex 0.2 1 -15
vertex 0.2 1 15
endloop
endfacet
facet normal -0.707107 0.707107 0
outer loop
vertex 0.7 1 15
vertex 0.7 1 -15
vertex 0.5 0.8 -15
endloop
endfacet
facet normal -0.707107 0.707107 0
outer loop
vertex 0.7 1 15
vertex 0.5 0.8 -15
vertex 0.5 0.8 15
endloop
endfacet
facet normal 0.5547 0.83205 0
outer loop
vertex 1 0.8 15
vertex 1 0.8 -15
vertex 0.7 1 -15
endloop
endfacet
facet normal 0.5547 0.83205 0
outer loop
vertex 1 0.8 15
vertex 0.7 1 -15
vertex 0.7 1 15
endloop
endfacet
facet normal 0.8 0.6 0
outer loop
vertex 1.3 0.4 15
vertex 1.3 0.4 -15
vertex 1 0.8 -15
endloop
endfacet
facet normal 0.8 0.6 0
outer loop
vertex 1.3 0.4 15
vertex 1 0.8 -15
vertex 1 0.8 15
endloop
endfacet
facet normal 0.707107 -0.707107 0
outer loop
vertex -1.1 0 15
vertex -0.9 0.2 -15
vertex -0.9 0.2 15
endloop
endfacet
facet normal -0.707107 -0.707107 -0
outer loop
vertex -1.2 0.1 15
vertex -1.2 0.1 -15
vertex -1.1 0 -15
endloop
endfacet
facet normal -0.707107 -0.707107 0
outer loop
vertex -1.2 0.1 15
vertex -1.1 0 -15
vertex -1.1 0 15
endloop
endfacet
facet normal -0.894427 -0.447213 -0
outer loop
vertex -1.3 0.3 15
vertex -1.3 0.3 -15
vertex -1.2 0.1 -15
endloop
endfacet
facet normal -0.894427 -0.447213 0
outer loop
vertex -1.3 0.3 15
vertex -1.2 0.1 -15
vertex -1.2 0.1 15
endloop
endfacet
facet normal -0.894427 0.447213 0
outer loop
vertex -1.2 0.5 15
vertex -1.2 0.5 -15
vertex -1.3 0.3 -15
endloop
endfacet
facet normal -0.894427 0.447213 0
outer loop
vertex -1.2 0.5 15
vertex -1.3 0.3 -15
vertex -1.3 0.3 15
endloop
endfacet
facet normal -0.894427 -0.447213 -0
outer loop
vertex -1.3 0.7 15
vertex -1.3 0.7 -15
vertex -1.2 0.5 -15
endloop
endfacet
facet normal -0.894427 -0.447213 0
outer loop
vertex -1.3 0.7 15
vertex -1.2 0.5 -15
vertex -1.2 0.5 15
endloop
endfacet
facet normal -1 0 -0
outer loop
vertex -1.3 0.8 15
vertex -1.3 0.8 -15
vertex -1.3 0.7 -15
endloop
endfacet
facet normal -1 -0 0
outer loop
vertex -1.3 0.8 15
vertex -1.3 0.7 -15
vertex -1.3 0.7 15
endloop
endfacet
facet normal 0.447214 0.894427 0
outer loop
vertex -1.1 0.7 15
vertex -1.1 0.7 -15
vertex -1.3 0.8 -15
endloop
endfacet
facet normal 0.447214 0.894427 0
outer loop
vertex -1.1 0.7 15
vertex -1.3 0.8 -15
vertex -1.3 0.8 15
endloop
endfacet
facet normal -0.447214 0.894427 0
outer loop
vertex -0.9 0.8 15
vertex -0.9 0.8 -15
vertex -1.1 0.7 -15
endloop
endfacet
facet normal -0.447214 0.894427 0
outer loop
vertex -0.9 0.8 15
vertex -1.1 0.7 -15
vertex -1.1 0.7 15
endloop
endfacet
facet normal -0.707107 0.707107 0
outer loop
vertex -0.8 0.9 15
vertex -0.8 0.9 -15
vertex -0.9 0.8 -15
endloop
endfacet
facet normal -0.707107 0.707107 0
outer loop
vertex -0.8 0.9 15
vertex -0.9 0.8 -15
vertex -0.9 0.8 15
endloop
endfacet
facet normal -0.894427 0.447213 0
outer loop
vertex 0.4 -0.9 15
vertex 0.3 -1.1 -15
vertex 0.3 -1.1 15
endloop
endfacet
facet normal -0.316228 -0.948683 -0
outer loop
vertex -0.2 -0.7 15
vertex -0.2 -0.7 -15
vertex 0.4 -0.9 -15
endloop
endfacet
facet normal -0.316228 -0.948683 0
outer loop
vertex -0.2 -0.7 15
vertex 0.4 -0.9 -15
vertex 0.4 -0.9 15
endloop
endfacet
facet normal 0.707107 -0.707107 0
outer loop
vertex -0.4 -0.9 15
vertex -0.4 -0.9 -15
vertex -0.2 -0.7 -15
endloop
endfacet
facet normal 0.707107 -0.707107 0
outer loop
vertex -0.4 -0.9 15
vertex -0.2 -0.7 -15
vertex -0.2 -0.7 15
endloop
endfacet
facet normal -0.196116 -0.980581 -0
outer loop
vertex -0.9 -0.8 15
vertex -0.9 -0.8 -15
vertex -0.4 -0.9 -15
endloop
endfacet
facet normal -0.196116 -0.980581 0
outer loop
vertex -0.9 -0.8 15
vertex -0.4 -0.9 -15
vertex -0.4 -0.9 15
endloop
endfacet
facet normal -0.316228 -0.948683 -0
outer loop
vertex -1.2 -0.7 15
vertex -1.2 -0.7 -15
vertex -0.9 -0.8 -15
endloop
endfacet
facet normal -0.316228 -0.948683 0
outer loop
vertex -1.2 -0.7 15
vertex -0.9 -0.8 -15
vertex -0.9 -0.8 15
endloop
endfacet
facet normal -0.948683 -0.316228 -0
outer loop
vertex -1.3 -0.4 15
vertex -1.3 -0.4 -15
vertex -1.2 -0.7 -15
endloop
endfacet
facet normal -0.948683 -0.316228 0
outer loop
vertex -1.3 -0.4 15
vertex -1.2 -0.7 -15
vertex -1.2 -0.7 15
endloop
endfacet
facet normal -0.707107 0.707107 0
outer loop
vertex -1.1 -0.2 15
vertex -1.1 -0.2 -15
vertex -1.3 -0.4 -15
endloop
endfacet
facet normal -0.707107 0.707107 0
outer loop
vertex -1.1 -0.2 15
vertex -1.3 -0.4 -15
vertex -1.3 -0.4 15
endloop
endfacet
facet normal -0.447214 0.894427 0
outer loop
vertex -0.9 -0.1 15
vertex -0.9 -0.1 -15
vertex -1.1 -0.2 -15
endloop
endfacet
facet normal -0.447214 0.894427 0
outer loop
vertex -0.9 -0.1 15
vertex -1.1 -0.2 -15
vertex -1.1 -0.2 15
endloop
endfacet
facet normal -1 0 -0
outer loop
vertex -0.9 0.2 15
vertex -0.9 0.2 -15
vertex -0.9 -0.1 -15
endloop
endfacet
facet normal -1 -0 0
outer loop
vertex -0.9 0.2 15
vertex -0.9 -0.1 -15
vertex -0.9 -0.1 15
endloop
endfacet
facet normal 0.707107 -0.707107 0
outer loop
vertex -1.1 0 15
vertex -1.1 0 -15
vertex -0.9 0.2 -15
endloop
endfacet
endsolid patchFFFFFF

View File

@ -1,982 +0,0 @@
solid patchFFFFFF
facet normal 0.707107 0.707107 0
outer loop
vertex -0.6 0.7 15
vertex -0.8 0.9 -15
vertex -0.8 0.9 15
endloop
endfacet
facet normal 0 1 0
outer loop
vertex -0.4 0.7 15
vertex -0.4 0.7 -15
vertex -0.6 0.7 -15
endloop
endfacet
facet normal 0 1 0
outer loop
vertex -0.4 0.7 15
vertex -0.6 0.7 -15
vertex -0.6 0.7 15
endloop
endfacet
facet normal -0.948683 0.316228 0
outer loop
vertex -0.3 1 15
vertex -0.3 1 -15
vertex -0.4 0.7 -15
endloop
endfacet
facet normal -0.948683 0.316228 0
outer loop
vertex -0.3 1 15
vertex -0.4 0.7 -15
vertex -0.4 0.7 15
endloop
endfacet
facet normal -0.316228 0.948683 0
outer loop
vertex 0 1.1 15
vertex 0 1.1 -15
vertex -0.3 1 -15
endloop
endfacet
facet normal -0.316228 0.948683 0
outer loop
vertex 0 1.1 15
vertex -0.3 1 -15
vertex -0.3 1 15
endloop
endfacet
facet normal 0.447214 0.894427 0
outer loop
vertex 0.2 1 15
vertex 0.2 1 -15
vertex 0 1.1 -15
endloop
endfacet
facet normal 0.447214 0.894427 0
outer loop
vertex 0.2 1 15
vertex 0 1.1 -15
vertex 0 1.1 15
endloop
endfacet
facet normal 0.5547 0.83205 0
outer loop
vertex 0.5 0.8 15
vertex 0.5 0.8 -15
vertex 0.2 1 -15
endloop
endfacet
facet normal 0.5547 0.83205 0
outer loop
vertex 0.5 0.8 15
vertex 0.2 1 -15
vertex 0.2 1 15
endloop
endfacet
facet normal -0.707107 0.707107 0
outer loop
vertex 0.7 1 15
vertex 0.7 1 -15
vertex 0.5 0.8 -15
endloop
endfacet
facet normal -0.707107 0.707107 0
outer loop
vertex 0.7 1 15
vertex 0.5 0.8 -15
vertex 0.5 0.8 15
endloop
endfacet
facet normal 0.5547 0.83205 0
outer loop
vertex 1 0.8 15
vertex 1 0.8 -15
vertex 0.7 1 -15
endloop
endfacet
facet normal 0.5547 0.83205 0
outer loop
vertex 1 0.8 15
vertex 0.7 1 -15
vertex 0.7 1 15
endloop
endfacet
facet normal 0.8 0.6 0
outer loop
vertex 1.3 0.4 15
vertex 1.3 0.4 -15
vertex 1 0.8 -15
endloop
endfacet
facet normal 0.8 0.6 0
outer loop
vertex 1.3 0.4 15
vertex 1 0.8 -15
vertex 1 0.8 15
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.3 0 15
vertex 1.3 0 -15
vertex 1.3 0.4 -15
endloop
endfacet
facet normal 1 -0 0
outer loop
vertex 1.3 0 15
vertex 1.3 0.4 -15
vertex 1.3 0.4 15
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 0.9 0 15
vertex 0.9 0 -15
vertex 1.3 0 -15
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 0.9 0 15
vertex 1.3 0 -15
vertex 1.3 0 15
endloop
endfacet
facet normal 0.196116 -0.980581 0
outer loop
vertex 0.4 -0.1 15
vertex 0.4 -0.1 -15
vertex 0.9 0 -15
endloop
endfacet
facet normal 0.196116 -0.980581 0
outer loop
vertex 0.4 -0.1 15
vertex 0.9 0 -15
vertex 0.9 0 15
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 0.4 -0.3 15
vertex 0.4 -0.3 -15
vertex 0.4 -0.1 -15
endloop
endfacet
facet normal 1 -0 0
outer loop
vertex 0.4 -0.3 15
vertex 0.4 -0.1 -15
vertex 0.4 -0.1 15
endloop
endfacet
facet normal 0.242536 0.970143 0
outer loop
vertex 0.8 -0.4 15
vertex 0.8 -0.4 -15
vertex 0.4 -0.3 -15
endloop
endfacet
facet normal 0.242536 0.970143 0
outer loop
vertex 0.8 -0.4 15
vertex 0.4 -0.3 -15
vertex 0.4 -0.3 15
endloop
endfacet
facet normal 0.242536 0.970143 0
outer loop
vertex 1.2 -0.5 15
vertex 1.2 -0.5 -15
vertex 0.8 -0.4 -15
endloop
endfacet
facet normal 0.242536 0.970143 0
outer loop
vertex 1.2 -0.5 15
vertex 0.8 -0.4 -15
vertex 0.8 -0.4 15
endloop
endfacet
facet normal 0.980581 -0.196116 0
outer loop
vertex 1.1 -1 15
vertex 1.1 -1 -15
vertex 1.2 -0.5 -15
endloop
endfacet
facet normal 0.980581 -0.196116 0
outer loop
vertex 1.1 -1 15
vertex 1.2 -0.5 -15
vertex 1.2 -0.5 15
endloop
endfacet
facet normal 0.124035 -0.992278 0
outer loop
vertex 0.3 -1.1 15
vertex 0.3 -1.1 -15
vertex 1.1 -1 -15
endloop
endfacet
facet normal 0.124035 -0.992278 0
outer loop
vertex 0.3 -1.1 15
vertex 1.1 -1 -15
vertex 1.1 -1 15
endloop
endfacet
facet normal -0.894427 0.447213 0
outer loop
vertex 0.4 -0.9 15
vertex 0.4 -0.9 -15
vertex 0.3 -1.1 -15
endloop
endfacet
facet normal 0.707107 0.707107 0
outer loop
vertex -0.6 0.7 15
vertex -0.6 0.7 -15
vertex -0.8 0.9 -15
endloop
endfacet
facet normal -0.316228 -0.948683 -0
outer loop
vertex -0.2 -0.7 15
vertex -0.2 -0.7 -15
vertex 0.4 -0.9 -15
endloop
endfacet
facet normal -0.316228 -0.948683 0
outer loop
vertex -0.2 -0.7 15
vertex 0.4 -0.9 -15
vertex 0.4 -0.9 15
endloop
endfacet
facet normal 0.707107 -0.707107 0
outer loop
vertex -0.4 -0.9 15
vertex -0.4 -0.9 -15
vertex -0.2 -0.7 -15
endloop
endfacet
facet normal 0.707107 -0.707107 0
outer loop
vertex -0.4 -0.9 15
vertex -0.2 -0.7 -15
vertex -0.2 -0.7 15
endloop
endfacet
facet normal -0.196116 -0.980581 -0
outer loop
vertex -0.9 -0.8 15
vertex -0.9 -0.8 -15
vertex -0.4 -0.9 -15
endloop
endfacet
facet normal -0.196116 -0.980581 0
outer loop
vertex -0.9 -0.8 15
vertex -0.4 -0.9 -15
vertex -0.4 -0.9 15
endloop
endfacet
facet normal -0.316228 -0.948683 -0
outer loop
vertex -1.2 -0.7 15
vertex -1.2 -0.7 -15
vertex -0.9 -0.8 -15
endloop
endfacet
facet normal -0.316228 -0.948683 0
outer loop
vertex -1.2 -0.7 15
vertex -0.9 -0.8 -15
vertex -0.9 -0.8 15
endloop
endfacet
facet normal -0.948683 -0.316228 -0
outer loop
vertex -1.3 -0.4 15
vertex -1.3 -0.4 -15
vertex -1.2 -0.7 -15
endloop
endfacet
facet normal -0.948683 -0.316228 0
outer loop
vertex -1.3 -0.4 15
vertex -1.2 -0.7 -15
vertex -1.2 -0.7 15
endloop
endfacet
facet normal -0.707107 0.707107 0
outer loop
vertex -1.1 -0.2 15
vertex -1.1 -0.2 -15
vertex -1.3 -0.4 -15
endloop
endfacet
facet normal -0.707107 0.707107 0
outer loop
vertex -1.1 -0.2 15
vertex -1.3 -0.4 -15
vertex -1.3 -0.4 15
endloop
endfacet
facet normal -0.447214 0.894427 0
outer loop
vertex -0.9 -0.1 15
vertex -0.9 -0.1 -15
vertex -1.1 -0.2 -15
endloop
endfacet
facet normal -0.447214 0.894427 0
outer loop
vertex -0.9 -0.1 15
vertex -1.1 -0.2 -15
vertex -1.1 -0.2 15
endloop
endfacet
facet normal -1 0 -0
outer loop
vertex -0.9 0.2 15
vertex -0.9 0.2 -15
vertex -0.9 -0.1 -15
endloop
endfacet
facet normal -1 -0 0
outer loop
vertex -0.9 0.2 15
vertex -0.9 -0.1 -15
vertex -0.9 -0.1 15
endloop
endfacet
facet normal 0.707107 -0.707107 0
outer loop
vertex -1.1 0 15
vertex -1.1 0 -15
vertex -0.9 0.2 -15
endloop
endfacet
facet normal 0.707107 -0.707107 0
outer loop
vertex -1.1 0 15
vertex -0.9 0.2 -15
vertex -0.9 0.2 15
endloop
endfacet
facet normal -0.707107 -0.707107 -0
outer loop
vertex -1.2 0.1 15
vertex -1.2 0.1 -15
vertex -1.1 0 -15
endloop
endfacet
facet normal -0.707107 -0.707107 0
outer loop
vertex -1.2 0.1 15
vertex -1.1 0 -15
vertex -1.1 0 15
endloop
endfacet
facet normal -0.894427 -0.447213 -0
outer loop
vertex -1.3 0.3 15
vertex -1.3 0.3 -15
vertex -1.2 0.1 -15
endloop
endfacet
facet normal -0.894427 -0.447213 0
outer loop
vertex -1.3 0.3 15
vertex -1.2 0.1 -15
vertex -1.2 0.1 15
endloop
endfacet
facet normal -0.894427 0.447213 0
outer loop
vertex -1.2 0.5 15
vertex -1.2 0.5 -15
vertex -1.3 0.3 -15
endloop
endfacet
facet normal -0.894427 0.447213 0
outer loop
vertex -1.2 0.5 15
vertex -1.3 0.3 -15
vertex -1.3 0.3 15
endloop
endfacet
facet normal -0.894427 -0.447213 -0
outer loop
vertex -1.3 0.7 15
vertex -1.3 0.7 -15
vertex -1.2 0.5 -15
endloop
endfacet
facet normal -0.894427 -0.447213 0
outer loop
vertex -1.3 0.7 15
vertex -1.2 0.5 -15
vertex -1.2 0.5 15
endloop
endfacet
facet normal -1 0 -0
outer loop
vertex -1.3 0.8 15
vertex -1.3 0.8 -15
vertex -1.3 0.7 -15
endloop
endfacet
facet normal -1 -0 0
outer loop
vertex -1.3 0.8 15
vertex -1.3 0.7 -15
vertex -1.3 0.7 15
endloop
endfacet
facet normal 0.447214 0.894427 0
outer loop
vertex -1.1 0.7 15
vertex -1.1 0.7 -15
vertex -1.3 0.8 -15
endloop
endfacet
facet normal 0.447214 0.894427 0
outer loop
vertex -1.1 0.7 15
vertex -1.3 0.8 -15
vertex -1.3 0.8 15
endloop
endfacet
facet normal -0.447214 0.894427 0
outer loop
vertex -0.9 0.8 15
vertex -0.9 0.8 -15
vertex -1.1 0.7 -15
endloop
endfacet
facet normal -0.447214 0.894427 0
outer loop
vertex -0.9 0.8 15
vertex -1.1 0.7 -15
vertex -1.1 0.7 15
endloop
endfacet
facet normal -0.707107 0.707107 0
outer loop
vertex -0.8 0.9 15
vertex -0.8 0.9 -15
vertex -0.9 0.8 -15
endloop
endfacet
facet normal -0.707107 0.707107 0
outer loop
vertex -0.8 0.9 15
vertex -0.9 0.8 -15
vertex -0.9 0.8 15
endloop
endfacet
facet normal -0.894427 0.447213 0
outer loop
vertex 0.4 -0.9 15
vertex 0.3 -1.1 -15
vertex 0.3 -1.1 15
endloop
endfacet
facet normal -0.994151 0.108002 0
outer loop
vertex 0.44956 0.25 -15
vertex 0.442547 0.185446 15
vertex 0.44956 0.25 15
endloop
endfacet
facet normal -0.947746 0.319026 0
outer loop
vertex 0.421833 0.12391 -15
vertex 0.421833 0.12391 15
vertex 0.442547 0.185446 -15
endloop
endfacet
facet normal -0.947746 0.319026 0
outer loop
vertex 0.442547 0.185446 -15
vertex 0.421833 0.12391 15
vertex 0.442547 0.185446 15
endloop
endfacet
facet normal -0.857078 0.515186 0
outer loop
vertex 0.388388 0.06827 -15
vertex 0.388388 0.06827 15
vertex 0.421833 0.12391 -15
endloop
endfacet
facet normal -0.857078 0.515186 0
outer loop
vertex 0.421833 0.12391 -15
vertex 0.388388 0.06827 15
vertex 0.421833 0.12391 15
endloop
endfacet
facet normal -0.726332 0.687344 0
outer loop
vertex 0.343776 0.0211275 -15
vertex 0.343776 0.0211275 15
vertex 0.388388 0.06827 -15
endloop
endfacet
facet normal -0.726332 0.687344 0
outer loop
vertex 0.388388 0.06827 -15
vertex 0.343776 0.0211275 15
vertex 0.388388 0.06827 15
endloop
endfacet
facet normal -0.561565 0.827432 0
outer loop
vertex 0.290083 -0.0153131 -15
vertex 0.290083 -0.0153131 15
vertex 0.343776 0.0211275 -15
endloop
endfacet
facet normal -0.561565 0.827432 0
outer loop
vertex 0.343776 0.0211275 -15
vertex 0.290083 -0.0153131 15
vertex 0.343776 0.0211275 15
endloop
endfacet
facet normal -0.37045 0.928852 0
outer loop
vertex 0.229819 -0.0393479 -15
vertex 0.229819 -0.0393479 15
vertex 0.290083 -0.0153131 -15
endloop
endfacet
facet normal -0.37045 0.928852 0
outer loop
vertex 0.290083 -0.0153131 -15
vertex 0.229819 -0.0393479 15
vertex 0.290083 -0.0153131 15
endloop
endfacet
facet normal -0.161937 0.986801 0
outer loop
vertex 0.165802 -0.0498533 -15
vertex 0.165802 -0.0498533 15
vertex 0.229819 -0.0393479 -15
endloop
endfacet
facet normal -0.161937 0.986801 0
outer loop
vertex 0.229819 -0.0393479 -15
vertex 0.165802 -0.0498533 15
vertex 0.229819 -0.0393479 15
endloop
endfacet
facet normal 0.0541919 0.998531 -0
outer loop
vertex 0.101026 -0.0463378 -15
vertex 0.101026 -0.0463378 15
vertex 0.165802 -0.0498533 -15
endloop
endfacet
facet normal 0.0541919 0.998531 -0
outer loop
vertex 0.165802 -0.0498533 -15
vertex 0.101026 -0.0463378 15
vertex 0.165802 -0.0498533 15
endloop
endfacet
facet normal 0.267772 0.963482 -0
outer loop
vertex 0.038519 -0.0289658 -15
vertex 0.038519 -0.0289658 15
vertex 0.101026 -0.0463378 -15
endloop
endfacet
facet normal 0.267772 0.963482 -0
outer loop
vertex 0.101026 -0.0463378 -15
vertex 0.038519 -0.0289658 15
vertex 0.101026 -0.0463378 15
endloop
endfacet
facet normal 0.468765 0.883323 -0
outer loop
vertex -0.0187957 0.00145015 -15
vertex -0.0187957 0.00145015 15
vertex 0.038519 -0.0289658 -15
endloop
endfacet
facet normal 0.468765 0.883323 -0
outer loop
vertex 0.038519 -0.0289658 -15
vertex -0.0187957 0.00145015 15
vertex 0.038519 -0.0289658 15
endloop
endfacet
facet normal 0.647754 0.761849 -0
outer loop
vertex -0.0682383 0.0434882 -15
vertex -0.0682383 0.0434882 15
vertex -0.0187957 0.00145015 -15
endloop
endfacet
facet normal 0.647754 0.761849 -0
outer loop
vertex -0.0187957 0.00145015 -15
vertex -0.0682383 0.0434882 15
vertex -0.0187957 0.00145015 15
endloop
endfacet
facet normal 0.796377 0.604801 -0
outer loop
vertex -0.107497 0.0951824 -15
vertex -0.107497 0.0951824 15
vertex -0.0682383 0.0434882 -15
endloop
endfacet
facet normal 0.796377 0.604801 -0
outer loop
vertex -0.0682383 0.0434882 -15
vertex -0.107497 0.0951824 15
vertex -0.0682383 0.0434882 15
endloop
endfacet
facet normal 0.907731 0.419552 -0
outer loop
vertex -0.134736 0.154116 -15
vertex -0.134736 0.154116 15
vertex -0.107497 0.0951824 -15
endloop
endfacet
facet normal 0.907731 0.419552 -0
outer loop
vertex -0.107497 0.0951824 -15
vertex -0.134736 0.154116 15
vertex -0.107497 0.0951824 15
endloop
endfacet
facet normal 0.976666 0.214766 -0
outer loop
vertex -0.148681 0.217532 -15
vertex -0.148681 0.217532 15
vertex -0.134736 0.154116 -15
endloop
endfacet
facet normal 0.976666 0.214766 -0
outer loop
vertex -0.134736 0.154116 -15
vertex -0.148681 0.217532 15
vertex -0.134736 0.154116 15
endloop
endfacet
facet normal 1 0 -0
outer loop
vertex -0.148681 0.282467 -15
vertex -0.148681 0.282467 15
vertex -0.148681 0.217532 -15
endloop
endfacet
facet normal 1 0 0
outer loop
vertex -0.148681 0.217532 -15
vertex -0.148681 0.282467 15
vertex -0.148681 0.217532 15
endloop
endfacet
facet normal 0.976666 -0.214763 0
outer loop
vertex -0.134736 0.345884 -15
vertex -0.134736 0.345884 15
vertex -0.148681 0.282467 -15
endloop
endfacet
facet normal 0.976666 -0.214763 0
outer loop
vertex -0.148681 0.282467 -15
vertex -0.134736 0.345884 15
vertex -0.148681 0.282467 15
endloop
endfacet
facet normal 0.907732 -0.419549 0
outer loop
vertex -0.107497 0.404818 -15
vertex -0.107497 0.404818 15
vertex -0.134736 0.345884 -15
endloop
endfacet
facet normal 0.907732 -0.419549 0
outer loop
vertex -0.134736 0.345884 -15
vertex -0.107497 0.404818 15
vertex -0.134736 0.345884 15
endloop
endfacet
facet normal 0.796376 -0.604802 0
outer loop
vertex -0.0682383 0.456512 -15
vertex -0.0682383 0.456512 15
vertex -0.107497 0.404818 -15
endloop
endfacet
facet normal -0.994151 0.108002 0
outer loop
vertex 0.442547 0.185446 -15
vertex 0.442547 0.185446 15
vertex 0.44956 0.25 -15
endloop
endfacet
facet normal 0.647755 -0.761849 0
outer loop
vertex -0.0187958 0.49855 -15
vertex -0.0187958 0.49855 15
vertex -0.0682383 0.456512 -15
endloop
endfacet
facet normal 0.647755 -0.761849 0
outer loop
vertex -0.0682383 0.456512 -15
vertex -0.0187958 0.49855 15
vertex -0.0682383 0.456512 15
endloop
endfacet
facet normal 0.468765 -0.883323 0
outer loop
vertex 0.0385189 0.528966 -15
vertex 0.0385189 0.528966 15
vertex -0.0187958 0.49855 -15
endloop
endfacet
facet normal 0.468765 -0.883323 0
outer loop
vertex -0.0187958 0.49855 -15
vertex 0.0385189 0.528966 15
vertex -0.0187958 0.49855 15
endloop
endfacet
facet normal 0.267772 -0.963482 0
outer loop
vertex 0.101026 0.546338 -15
vertex 0.101026 0.546338 15
vertex 0.0385189 0.528966 -15
endloop
endfacet
facet normal 0.267772 -0.963482 0
outer loop
vertex 0.0385189 0.528966 -15
vertex 0.101026 0.546338 15
vertex 0.0385189 0.528966 15
endloop
endfacet
facet normal 0.0541843 -0.998531 0
outer loop
vertex 0.165802 0.549853 -15
vertex 0.165802 0.549853 15
vertex 0.101026 0.546338 -15
endloop
endfacet
facet normal 0.0541843 -0.998531 0
outer loop
vertex 0.101026 0.546338 -15
vertex 0.165802 0.549853 15
vertex 0.101026 0.546338 15
endloop
endfacet
facet normal -0.161932 -0.986802 0
outer loop
vertex 0.229819 0.539348 -15
vertex 0.229819 0.539348 15
vertex 0.165802 0.549853 -15
endloop
endfacet
facet normal -0.161932 -0.986802 0
outer loop
vertex 0.165802 0.549853 -15
vertex 0.229819 0.539348 15
vertex 0.165802 0.549853 15
endloop
endfacet
facet normal -0.370452 -0.928852 0
outer loop
vertex 0.290083 0.515313 -15
vertex 0.290083 0.515313 15
vertex 0.229819 0.539348 -15
endloop
endfacet
facet normal -0.370452 -0.928852 0
outer loop
vertex 0.229819 0.539348 -15
vertex 0.290083 0.515313 15
vertex 0.229819 0.539348 15
endloop
endfacet
facet normal -0.561559 -0.827437 0
outer loop
vertex 0.343776 0.478873 -15
vertex 0.343776 0.478873 15
vertex 0.290083 0.515313 -15
endloop
endfacet
facet normal -0.561559 -0.827437 0
outer loop
vertex 0.290083 0.515313 -15
vertex 0.343776 0.478873 15
vertex 0.290083 0.515313 15
endloop
endfacet
facet normal -0.726336 -0.68734 0
outer loop
vertex 0.388388 0.43173 -15
vertex 0.388388 0.43173 15
vertex 0.343776 0.478873 -15
endloop
endfacet
facet normal -0.726336 -0.68734 0
outer loop
vertex 0.343776 0.478873 -15
vertex 0.388388 0.43173 15
vertex 0.343776 0.478873 15
endloop
endfacet
facet normal -0.857078 -0.515186 0
outer loop
vertex 0.421833 0.37609 -15
vertex 0.421833 0.37609 15
vertex 0.388388 0.43173 -15
endloop
endfacet
facet normal -0.857078 -0.515186 0
outer loop
vertex 0.388388 0.43173 -15
vertex 0.421833 0.37609 15
vertex 0.388388 0.43173 15
endloop
endfacet
facet normal -0.947746 -0.319026 0
outer loop
vertex 0.442547 0.314554 -15
vertex 0.442547 0.314554 15
vertex 0.421833 0.37609 -15
endloop
endfacet
facet normal -0.947746 -0.319026 0
outer loop
vertex 0.421833 0.37609 -15
vertex 0.442547 0.314554 15
vertex 0.421833 0.37609 15
endloop
endfacet
facet normal -0.994151 -0.108002 0
outer loop
vertex 0.44956 0.25 -15
vertex 0.44956 0.25 15
vertex 0.442547 0.314554 -15
endloop
endfacet
facet normal -0.994151 -0.108002 0
outer loop
vertex 0.442547 0.314554 -15
vertex 0.44956 0.25 15
vertex 0.442547 0.314554 15
endloop
endfacet
facet normal 0 -0 1
outer loop
vertex -0.3 -0.4 -14
vertex -0.3 0 -14
vertex -0.7 -0.4 -14
endloop
endfacet
facet normal 0 0 1
outer loop
vertex -0.7 -0.4 -14
vertex -0.3 0 -14
vertex -0.7 0 -14
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex -0.3 0 -14
vertex -0.3 0 15
vertex -0.7 0 -14
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex -0.7 0 -14
vertex -0.3 0 15
vertex -0.7 0 15
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.3 -0.4 -14
vertex -0.3 -0.4 15
vertex -0.3 0 -14
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.3 0 -14
vertex -0.3 -0.4 15
vertex -0.3 0 15
endloop
endfacet
facet normal 0 1 0
outer loop
vertex -0.7 -0.4 -14
vertex -0.7 -0.4 15
vertex -0.3 -0.4 -14
endloop
endfacet
facet normal 0 1 -0
outer loop
vertex -0.3 -0.4 -14
vertex -0.7 -0.4 15
vertex -0.3 -0.4 15
endloop
endfacet
facet normal 1 0 -0
outer loop
vertex -0.7 0 -14
vertex -0.7 0 15
vertex -0.7 -0.4 -14
endloop
endfacet
facet normal 1 0 0
outer loop
vertex -0.7 -0.4 -14
vertex -0.7 0 15
vertex -0.7 -0.4 15
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex -0.7 -0.4 15
vertex -0.7 0 15
vertex -0.3 -0.4 15
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex -0.3 -0.4 15
vertex -0.7 0 15
vertex -0.3 0 15
endloop
endfacet
facet normal 0.796376 -0.604802 0
outer loop
vertex -0.107497 0.404818 -15
vertex -0.0682383 0.456512 15
vertex -0.107497 0.404818 15
endloop
endfacet
endsolid patchFFFFFF

View File

@ -1,982 +0,0 @@
solid patchFFFFFF
facet normal 0.468765 0.883323 -0
outer loop
vertex 0.038519 -0.0289658 -1.5
vertex -0.0187957 0.00145015 1.5
vertex 0.038519 -0.0289658 1.5
endloop
endfacet
facet normal 0.647754 0.761849 -0
outer loop
vertex -0.0682383 0.0434882 -1.5
vertex -0.0682383 0.0434882 1.5
vertex -0.0187957 0.00145015 -1.5
endloop
endfacet
facet normal 0.647754 0.761849 -0
outer loop
vertex -0.0187957 0.00145015 -1.5
vertex -0.0682383 0.0434882 1.5
vertex -0.0187957 0.00145015 1.5
endloop
endfacet
facet normal 0.796377 0.604801 -0
outer loop
vertex -0.107497 0.0951824 -1.5
vertex -0.107497 0.0951824 1.5
vertex -0.0682383 0.0434882 -1.5
endloop
endfacet
facet normal 0.796377 0.604801 -0
outer loop
vertex -0.0682383 0.0434882 -1.5
vertex -0.107497 0.0951824 1.5
vertex -0.0682383 0.0434882 1.5
endloop
endfacet
facet normal 0.907731 0.419552 -0
outer loop
vertex -0.134736 0.154116 -1.5
vertex -0.134736 0.154116 1.5
vertex -0.107497 0.0951824 -1.5
endloop
endfacet
facet normal 0.907731 0.419552 -0
outer loop
vertex -0.107497 0.0951824 -1.5
vertex -0.134736 0.154116 1.5
vertex -0.107497 0.0951824 1.5
endloop
endfacet
facet normal 0.976666 0.214766 -0
outer loop
vertex -0.148681 0.217532 -1.5
vertex -0.148681 0.217532 1.5
vertex -0.134736 0.154116 -1.5
endloop
endfacet
facet normal 0.976666 0.214766 -0
outer loop
vertex -0.134736 0.154116 -1.5
vertex -0.148681 0.217532 1.5
vertex -0.134736 0.154116 1.5
endloop
endfacet
facet normal 1 0 -0
outer loop
vertex -0.148681 0.282467 -1.5
vertex -0.148681 0.282467 1.5
vertex -0.148681 0.217532 -1.5
endloop
endfacet
facet normal 1 0 0
outer loop
vertex -0.148681 0.217532 -1.5
vertex -0.148681 0.282467 1.5
vertex -0.148681 0.217532 1.5
endloop
endfacet
facet normal 0.976666 -0.214763 0
outer loop
vertex -0.134736 0.345884 -1.5
vertex -0.134736 0.345884 1.5
vertex -0.148681 0.282467 -1.5
endloop
endfacet
facet normal 0.976666 -0.214763 0
outer loop
vertex -0.148681 0.282467 -1.5
vertex -0.134736 0.345884 1.5
vertex -0.148681 0.282467 1.5
endloop
endfacet
facet normal 0.907732 -0.419549 0
outer loop
vertex -0.107497 0.404818 -1.5
vertex -0.107497 0.404818 1.5
vertex -0.134736 0.345884 -1.5
endloop
endfacet
facet normal 0.907732 -0.419549 0
outer loop
vertex -0.134736 0.345884 -1.5
vertex -0.107497 0.404818 1.5
vertex -0.134736 0.345884 1.5
endloop
endfacet
facet normal 0.796376 -0.604802 0
outer loop
vertex -0.0682383 0.456512 -1.5
vertex -0.0682383 0.456512 1.5
vertex -0.107497 0.404818 -1.5
endloop
endfacet
facet normal -0.994151 0.108002 0
outer loop
vertex 0.442547 0.185446 -1.5
vertex 0.442547 0.185446 1.5
vertex 0.44956 0.25 -1.5
endloop
endfacet
facet normal -0.994151 0.108002 0
outer loop
vertex 0.44956 0.25 -1.5
vertex 0.442547 0.185446 1.5
vertex 0.44956 0.25 1.5
endloop
endfacet
facet normal -0.947746 0.319026 0
outer loop
vertex 0.421833 0.12391 -1.5
vertex 0.421833 0.12391 1.5
vertex 0.442547 0.185446 -1.5
endloop
endfacet
facet normal -0.947746 0.319026 0
outer loop
vertex 0.442547 0.185446 -1.5
vertex 0.421833 0.12391 1.5
vertex 0.442547 0.185446 1.5
endloop
endfacet
facet normal -0.857078 0.515186 0
outer loop
vertex 0.388388 0.06827 -1.5
vertex 0.388388 0.06827 1.5
vertex 0.421833 0.12391 -1.5
endloop
endfacet
facet normal -0.857078 0.515186 0
outer loop
vertex 0.421833 0.12391 -1.5
vertex 0.388388 0.06827 1.5
vertex 0.421833 0.12391 1.5
endloop
endfacet
facet normal -0.726332 0.687344 0
outer loop
vertex 0.343776 0.0211275 -1.5
vertex 0.343776 0.0211275 1.5
vertex 0.388388 0.06827 -1.5
endloop
endfacet
facet normal -0.726332 0.687344 0
outer loop
vertex 0.388388 0.06827 -1.5
vertex 0.343776 0.0211275 1.5
vertex 0.388388 0.06827 1.5
endloop
endfacet
facet normal -0.561565 0.827432 0
outer loop
vertex 0.290083 -0.0153131 -1.5
vertex 0.290083 -0.0153131 1.5
vertex 0.343776 0.0211275 -1.5
endloop
endfacet
facet normal -0.561565 0.827432 0
outer loop
vertex 0.343776 0.0211275 -1.5
vertex 0.290083 -0.0153131 1.5
vertex 0.343776 0.0211275 1.5
endloop
endfacet
facet normal -0.37045 0.928852 0
outer loop
vertex 0.229819 -0.0393479 -1.5
vertex 0.229819 -0.0393479 1.5
vertex 0.290083 -0.0153131 -1.5
endloop
endfacet
facet normal -0.37045 0.928852 0
outer loop
vertex 0.290083 -0.0153131 -1.5
vertex 0.229819 -0.0393479 1.5
vertex 0.290083 -0.0153131 1.5
endloop
endfacet
facet normal -0.161937 0.986801 0
outer loop
vertex 0.165802 -0.0498533 -1.5
vertex 0.165802 -0.0498533 1.5
vertex 0.229819 -0.0393479 -1.5
endloop
endfacet
facet normal -0.161937 0.986801 0
outer loop
vertex 0.229819 -0.0393479 -1.5
vertex 0.165802 -0.0498533 1.5
vertex 0.229819 -0.0393479 1.5
endloop
endfacet
facet normal 0.0541919 0.998531 -0
outer loop
vertex 0.101026 -0.0463378 -1.5
vertex 0.101026 -0.0463378 1.5
vertex 0.165802 -0.0498533 -1.5
endloop
endfacet
facet normal 0.0541919 0.998531 -0
outer loop
vertex 0.165802 -0.0498533 -1.5
vertex 0.101026 -0.0463378 1.5
vertex 0.165802 -0.0498533 1.5
endloop
endfacet
facet normal 0.267772 0.963482 -0
outer loop
vertex 0.038519 -0.0289658 -1.5
vertex 0.038519 -0.0289658 1.5
vertex 0.101026 -0.0463378 -1.5
endloop
endfacet
facet normal 0.267772 0.963482 -0
outer loop
vertex 0.101026 -0.0463378 -1.5
vertex 0.038519 -0.0289658 1.5
vertex 0.101026 -0.0463378 1.5
endloop
endfacet
facet normal 0.468765 0.883323 -0
outer loop
vertex -0.0187957 0.00145015 -1.5
vertex -0.0187957 0.00145015 1.5
vertex 0.038519 -0.0289658 -1.5
endloop
endfacet
facet normal -0.947746 -0.319026 0
outer loop
vertex 0.442547 0.314554 -1.5
vertex 0.442547 0.314554 1.5
vertex 0.421833 0.37609 -1.5
endloop
endfacet
facet normal -0.947746 -0.319026 0
outer loop
vertex 0.421833 0.37609 -1.5
vertex 0.442547 0.314554 1.5
vertex 0.421833 0.37609 1.5
endloop
endfacet
facet normal -0.994151 -0.108002 0
outer loop
vertex 0.44956 0.25 -1.5
vertex 0.44956 0.25 1.5
vertex 0.442547 0.314554 -1.5
endloop
endfacet
facet normal -0.994151 -0.108002 0
outer loop
vertex 0.442547 0.314554 -1.5
vertex 0.44956 0.25 1.5
vertex 0.442547 0.314554 1.5
endloop
endfacet
facet normal 0 -0 1
outer loop
vertex -0.3 -0.4 -1.4
vertex -0.3 0 -1.4
vertex -0.7 -0.4 -1.4
endloop
endfacet
facet normal 0 0 1
outer loop
vertex -0.7 -0.4 -1.4
vertex -0.3 0 -1.4
vertex -0.7 0 -1.4
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex -0.3 0 -1.4
vertex -0.3 0 1.5
vertex -0.7 0 -1.4
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex -0.7 0 -1.4
vertex -0.3 0 1.5
vertex -0.7 0 1.5
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.3 -0.4 -1.4
vertex -0.3 -0.4 1.5
vertex -0.3 0 -1.4
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.3 0 -1.4
vertex -0.3 -0.4 1.5
vertex -0.3 0 1.5
endloop
endfacet
facet normal 0 1 0
outer loop
vertex -0.7 -0.4 -1.4
vertex -0.7 -0.4 1.5
vertex -0.3 -0.4 -1.4
endloop
endfacet
facet normal 0 1 -0
outer loop
vertex -0.3 -0.4 -1.4
vertex -0.7 -0.4 1.5
vertex -0.3 -0.4 1.5
endloop
endfacet
facet normal 1 0 -0
outer loop
vertex -0.7 0 -1.4
vertex -0.7 0 1.5
vertex -0.7 -0.4 -1.4
endloop
endfacet
facet normal 1 0 0
outer loop
vertex -0.7 -0.4 -1.4
vertex -0.7 0 1.5
vertex -0.7 -0.4 1.5
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex -0.7 -0.4 1.5
vertex -0.7 0 1.5
vertex -0.3 -0.4 1.5
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex -0.3 -0.4 1.5
vertex -0.7 0 1.5
vertex -0.3 0 1.5
endloop
endfacet
facet normal 0.796376 -0.604802 0
outer loop
vertex -0.107497 0.404818 -1.5
vertex -0.0682383 0.456512 1.5
vertex -0.107497 0.404818 1.5
endloop
endfacet
facet normal 0.647755 -0.761849 0
outer loop
vertex -0.0187958 0.49855 -1.5
vertex -0.0187958 0.49855 1.5
vertex -0.0682383 0.456512 -1.5
endloop
endfacet
facet normal 0.647755 -0.761849 0
outer loop
vertex -0.0682383 0.456512 -1.5
vertex -0.0187958 0.49855 1.5
vertex -0.0682383 0.456512 1.5
endloop
endfacet
facet normal 0.468765 -0.883323 0
outer loop
vertex 0.0385189 0.528966 -1.5
vertex 0.0385189 0.528966 1.5
vertex -0.0187958 0.49855 -1.5
endloop
endfacet
facet normal 0.468765 -0.883323 0
outer loop
vertex -0.0187958 0.49855 -1.5
vertex 0.0385189 0.528966 1.5
vertex -0.0187958 0.49855 1.5
endloop
endfacet
facet normal 0.267772 -0.963482 0
outer loop
vertex 0.101026 0.546338 -1.5
vertex 0.101026 0.546338 1.5
vertex 0.0385189 0.528966 -1.5
endloop
endfacet
facet normal 0.267772 -0.963482 0
outer loop
vertex 0.0385189 0.528966 -1.5
vertex 0.101026 0.546338 1.5
vertex 0.0385189 0.528966 1.5
endloop
endfacet
facet normal 0.0541843 -0.998531 0
outer loop
vertex 0.165802 0.549853 -1.5
vertex 0.165802 0.549853 1.5
vertex 0.101026 0.546338 -1.5
endloop
endfacet
facet normal 0.0541843 -0.998531 0
outer loop
vertex 0.101026 0.546338 -1.5
vertex 0.165802 0.549853 1.5
vertex 0.101026 0.546338 1.5
endloop
endfacet
facet normal -0.161932 -0.986802 0
outer loop
vertex 0.229819 0.539348 -1.5
vertex 0.229819 0.539348 1.5
vertex 0.165802 0.549853 -1.5
endloop
endfacet
facet normal -0.161932 -0.986802 0
outer loop
vertex 0.165802 0.549853 -1.5
vertex 0.229819 0.539348 1.5
vertex 0.165802 0.549853 1.5
endloop
endfacet
facet normal -0.370452 -0.928852 0
outer loop
vertex 0.290083 0.515313 -1.5
vertex 0.290083 0.515313 1.5
vertex 0.229819 0.539348 -1.5
endloop
endfacet
facet normal -0.370452 -0.928852 0
outer loop
vertex 0.229819 0.539348 -1.5
vertex 0.290083 0.515313 1.5
vertex 0.229819 0.539348 1.5
endloop
endfacet
facet normal -0.561559 -0.827437 0
outer loop
vertex 0.343776 0.478873 -1.5
vertex 0.343776 0.478873 1.5
vertex 0.290083 0.515313 -1.5
endloop
endfacet
facet normal -0.561559 -0.827437 0
outer loop
vertex 0.290083 0.515313 -1.5
vertex 0.343776 0.478873 1.5
vertex 0.290083 0.515313 1.5
endloop
endfacet
facet normal -0.726336 -0.68734 0
outer loop
vertex 0.388388 0.43173 -1.5
vertex 0.388388 0.43173 1.5
vertex 0.343776 0.478873 -1.5
endloop
endfacet
facet normal -0.726336 -0.68734 0
outer loop
vertex 0.343776 0.478873 -1.5
vertex 0.388388 0.43173 1.5
vertex 0.343776 0.478873 1.5
endloop
endfacet
facet normal -0.857078 -0.515186 0
outer loop
vertex 0.421833 0.37609 -1.5
vertex 0.421833 0.37609 1.5
vertex 0.388388 0.43173 -1.5
endloop
endfacet
facet normal -0.857078 -0.515186 0
outer loop
vertex 0.388388 0.43173 -1.5
vertex 0.421833 0.37609 1.5
vertex 0.388388 0.43173 1.5
endloop
endfacet
facet normal 1 -0 0
outer loop
vertex 1.3 0 1.5
vertex 1.3 0.4 -1.5
vertex 1.3 0.4 1.5
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 0.9 0 1.5
vertex 0.9 0 -1.5
vertex 1.3 0 -1.5
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 0.9 0 1.5
vertex 1.3 0 -1.5
vertex 1.3 0 1.5
endloop
endfacet
facet normal 0.196116 -0.980581 0
outer loop
vertex 0.4 -0.1 1.5
vertex 0.4 -0.1 -1.5
vertex 0.9 0 -1.5
endloop
endfacet
facet normal 0.196116 -0.980581 0
outer loop
vertex 0.4 -0.1 1.5
vertex 0.9 0 -1.5
vertex 0.9 0 1.5
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 0.4 -0.3 1.5
vertex 0.4 -0.3 -1.5
vertex 0.4 -0.1 -1.5
endloop
endfacet
facet normal 1 -0 0
outer loop
vertex 0.4 -0.3 1.5
vertex 0.4 -0.1 -1.5
vertex 0.4 -0.1 1.5
endloop
endfacet
facet normal 0.242536 0.970143 0
outer loop
vertex 0.8 -0.4 1.5
vertex 0.8 -0.4 -1.5
vertex 0.4 -0.3 -1.5
endloop
endfacet
facet normal 0.242536 0.970143 0
outer loop
vertex 0.8 -0.4 1.5
vertex 0.4 -0.3 -1.5
vertex 0.4 -0.3 1.5
endloop
endfacet
facet normal 0.242536 0.970143 0
outer loop
vertex 1.2 -0.5 1.5
vertex 1.2 -0.5 -1.5
vertex 0.8 -0.4 -1.5
endloop
endfacet
facet normal 0.242536 0.970143 0
outer loop
vertex 1.2 -0.5 1.5
vertex 0.8 -0.4 -1.5
vertex 0.8 -0.4 1.5
endloop
endfacet
facet normal 0.980581 -0.196116 0
outer loop
vertex 1.1 -1 1.5
vertex 1.1 -1 -1.5
vertex 1.2 -0.5 -1.5
endloop
endfacet
facet normal 0.980581 -0.196116 0
outer loop
vertex 1.1 -1 1.5
vertex 1.2 -0.5 -1.5
vertex 1.2 -0.5 1.5
endloop
endfacet
facet normal 0.124035 -0.992278 0
outer loop
vertex 0.3 -1.1 1.5
vertex 0.3 -1.1 -1.5
vertex 1.1 -1 -1.5
endloop
endfacet
facet normal 0.124035 -0.992278 0
outer loop
vertex 0.3 -1.1 1.5
vertex 1.1 -1 -1.5
vertex 1.1 -1 1.5
endloop
endfacet
facet normal -0.894427 0.447213 0
outer loop
vertex 0.4 -0.9 1.5
vertex 0.4 -0.9 -1.5
vertex 0.3 -1.1 -1.5
endloop
endfacet
facet normal 0.707107 0.707107 0
outer loop
vertex -0.6 0.7 1.5
vertex -0.6 0.7 -1.5
vertex -0.8 0.9 -1.5
endloop
endfacet
facet normal 0.707107 0.707107 0
outer loop
vertex -0.6 0.7 1.5
vertex -0.8 0.9 -1.5
vertex -0.8 0.9 1.5
endloop
endfacet
facet normal 0 1 0
outer loop
vertex -0.4 0.7 1.5
vertex -0.4 0.7 -1.5
vertex -0.6 0.7 -1.5
endloop
endfacet
facet normal 0 1 0
outer loop
vertex -0.4 0.7 1.5
vertex -0.6 0.7 -1.5
vertex -0.6 0.7 1.5
endloop
endfacet
facet normal -0.948683 0.316228 0
outer loop
vertex -0.3 1 1.5
vertex -0.3 1 -1.5
vertex -0.4 0.7 -1.5
endloop
endfacet
facet normal -0.948683 0.316228 0
outer loop
vertex -0.3 1 1.5
vertex -0.4 0.7 -1.5
vertex -0.4 0.7 1.5
endloop
endfacet
facet normal -0.316228 0.948683 0
outer loop
vertex 0 1.1 1.5
vertex 0 1.1 -1.5
vertex -0.3 1 -1.5
endloop
endfacet
facet normal -0.316228 0.948683 0
outer loop
vertex 0 1.1 1.5
vertex -0.3 1 -1.5
vertex -0.3 1 1.5
endloop
endfacet
facet normal 0.447214 0.894427 0
outer loop
vertex 0.2 1 1.5
vertex 0.2 1 -1.5
vertex 0 1.1 -1.5
endloop
endfacet
facet normal 0.447214 0.894427 0
outer loop
vertex 0.2 1 1.5
vertex 0 1.1 -1.5
vertex 0 1.1 1.5
endloop
endfacet
facet normal 0.5547 0.83205 0
outer loop
vertex 0.5 0.8 1.5
vertex 0.5 0.8 -1.5
vertex 0.2 1 -1.5
endloop
endfacet
facet normal 0.5547 0.83205 0
outer loop
vertex 0.5 0.8 1.5
vertex 0.2 1 -1.5
vertex 0.2 1 1.5
endloop
endfacet
facet normal -0.707107 0.707107 0
outer loop
vertex 0.7 1 1.5
vertex 0.7 1 -1.5
vertex 0.5 0.8 -1.5
endloop
endfacet
facet normal -0.707107 0.707107 0
outer loop
vertex 0.7 1 1.5
vertex 0.5 0.8 -1.5
vertex 0.5 0.8 1.5
endloop
endfacet
facet normal 0.5547 0.83205 0
outer loop
vertex 1 0.8 1.5
vertex 1 0.8 -1.5
vertex 0.7 1 -1.5
endloop
endfacet
facet normal 0.5547 0.83205 0
outer loop
vertex 1 0.8 1.5
vertex 0.7 1 -1.5
vertex 0.7 1 1.5
endloop
endfacet
facet normal 0.8 0.6 0
outer loop
vertex 1.3 0.4 1.5
vertex 1.3 0.4 -1.5
vertex 1 0.8 -1.5
endloop
endfacet
facet normal 0.8 0.6 0
outer loop
vertex 1.3 0.4 1.5
vertex 1 0.8 -1.5
vertex 1 0.8 1.5
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.3 0 1.5
vertex 1.3 0 -1.5
vertex 1.3 0.4 -1.5
endloop
endfacet
facet normal -0.707107 -0.707107 -0
outer loop
vertex -1.2 0.1 1.5
vertex -1.2 0.1 -1.5
vertex -1.1 0 -1.5
endloop
endfacet
facet normal -0.707107 -0.707107 0
outer loop
vertex -1.2 0.1 1.5
vertex -1.1 0 -1.5
vertex -1.1 0 1.5
endloop
endfacet
facet normal -0.894427 -0.447213 -0
outer loop
vertex -1.3 0.3 1.5
vertex -1.3 0.3 -1.5
vertex -1.2 0.1 -1.5
endloop
endfacet
facet normal -0.894427 -0.447213 0
outer loop
vertex -1.3 0.3 1.5
vertex -1.2 0.1 -1.5
vertex -1.2 0.1 1.5
endloop
endfacet
facet normal -0.894427 0.447213 0
outer loop
vertex -1.2 0.5 1.5
vertex -1.2 0.5 -1.5
vertex -1.3 0.3 -1.5
endloop
endfacet
facet normal -0.894427 0.447213 0
outer loop
vertex -1.2 0.5 1.5
vertex -1.3 0.3 -1.5
vertex -1.3 0.3 1.5
endloop
endfacet
facet normal -0.894427 -0.447213 -0
outer loop
vertex -1.3 0.7 1.5
vertex -1.3 0.7 -1.5
vertex -1.2 0.5 -1.5
endloop
endfacet
facet normal -0.894427 -0.447213 0
outer loop
vertex -1.3 0.7 1.5
vertex -1.2 0.5 -1.5
vertex -1.2 0.5 1.5
endloop
endfacet
facet normal -1 0 -0
outer loop
vertex -1.3 0.8 1.5
vertex -1.3 0.8 -1.5
vertex -1.3 0.7 -1.5
endloop
endfacet
facet normal -1 -0 0
outer loop
vertex -1.3 0.8 1.5
vertex -1.3 0.7 -1.5
vertex -1.3 0.7 1.5
endloop
endfacet
facet normal 0.447214 0.894427 0
outer loop
vertex -1.1 0.7 1.5
vertex -1.1 0.7 -1.5
vertex -1.3 0.8 -1.5
endloop
endfacet
facet normal 0.447214 0.894427 0
outer loop
vertex -1.1 0.7 1.5
vertex -1.3 0.8 -1.5
vertex -1.3 0.8 1.5
endloop
endfacet
facet normal -0.447214 0.894427 0
outer loop
vertex -0.9 0.8 1.5
vertex -0.9 0.8 -1.5
vertex -1.1 0.7 -1.5
endloop
endfacet
facet normal -0.447214 0.894427 0
outer loop
vertex -0.9 0.8 1.5
vertex -1.1 0.7 -1.5
vertex -1.1 0.7 1.5
endloop
endfacet
facet normal -0.707107 0.707107 0
outer loop
vertex -0.8 0.9 1.5
vertex -0.8 0.9 -1.5
vertex -0.9 0.8 -1.5
endloop
endfacet
facet normal -0.707107 0.707107 0
outer loop
vertex -0.8 0.9 1.5
vertex -0.9 0.8 -1.5
vertex -0.9 0.8 1.5
endloop
endfacet
facet normal -0.894427 0.447213 0
outer loop
vertex 0.4 -0.9 1.5
vertex 0.3 -1.1 -1.5
vertex 0.3 -1.1 1.5
endloop
endfacet
facet normal -0.316228 -0.948683 -0
outer loop
vertex -0.2 -0.7 1.5
vertex -0.2 -0.7 -1.5
vertex 0.4 -0.9 -1.5
endloop
endfacet
facet normal -0.316228 -0.948683 0
outer loop
vertex -0.2 -0.7 1.5
vertex 0.4 -0.9 -1.5
vertex 0.4 -0.9 1.5
endloop
endfacet
facet normal 0.707107 -0.707107 0
outer loop
vertex -0.4 -0.9 1.5
vertex -0.4 -0.9 -1.5
vertex -0.2 -0.7 -1.5
endloop
endfacet
facet normal 0.707107 -0.707107 0
outer loop
vertex -0.4 -0.9 1.5
vertex -0.2 -0.7 -1.5
vertex -0.2 -0.7 1.5
endloop
endfacet
facet normal -0.196116 -0.980581 -0
outer loop
vertex -0.9 -0.8 1.5
vertex -0.9 -0.8 -1.5
vertex -0.4 -0.9 -1.5
endloop
endfacet
facet normal -0.196116 -0.980581 0
outer loop
vertex -0.9 -0.8 1.5
vertex -0.4 -0.9 -1.5
vertex -0.4 -0.9 1.5
endloop
endfacet
facet normal -0.316228 -0.948683 -0
outer loop
vertex -1.2 -0.7 1.5
vertex -1.2 -0.7 -1.5
vertex -0.9 -0.8 -1.5
endloop
endfacet
facet normal -0.316228 -0.948683 0
outer loop
vertex -1.2 -0.7 1.5
vertex -0.9 -0.8 -1.5
vertex -0.9 -0.8 1.5
endloop
endfacet
facet normal -0.948683 -0.316228 -0
outer loop
vertex -1.3 -0.4 1.5
vertex -1.3 -0.4 -1.5
vertex -1.2 -0.7 -1.5
endloop
endfacet
facet normal -0.948683 -0.316228 0
outer loop
vertex -1.3 -0.4 1.5
vertex -1.2 -0.7 -1.5
vertex -1.2 -0.7 1.5
endloop
endfacet
facet normal -0.707107 0.707107 0
outer loop
vertex -1.1 -0.2 1.5
vertex -1.1 -0.2 -1.5
vertex -1.3 -0.4 -1.5
endloop
endfacet
facet normal -0.707107 0.707107 0
outer loop
vertex -1.1 -0.2 1.5
vertex -1.3 -0.4 -1.5
vertex -1.3 -0.4 1.5
endloop
endfacet
facet normal -0.447214 0.894427 0
outer loop
vertex -0.9 -0.1 1.5
vertex -0.9 -0.1 -1.5
vertex -1.1 -0.2 -1.5
endloop
endfacet
facet normal -0.447214 0.894427 0
outer loop
vertex -0.9 -0.1 1.5
vertex -1.1 -0.2 -1.5
vertex -1.1 -0.2 1.5
endloop
endfacet
facet normal -1 0 -0
outer loop
vertex -0.9 0.2 1.5
vertex -0.9 0.2 -1.5
vertex -0.9 -0.1 -1.5
endloop
endfacet
facet normal -1 -0 0
outer loop
vertex -0.9 0.2 1.5
vertex -0.9 -0.1 -1.5
vertex -0.9 -0.1 1.5
endloop
endfacet
facet normal 0.707107 -0.707107 0
outer loop
vertex -1.1 0 1.5
vertex -1.1 0 -1.5
vertex -0.9 0.2 -1.5
endloop
endfacet
facet normal 0.707107 -0.707107 0
outer loop
vertex -1.1 0 1.5
vertex -0.9 0.2 -1.5
vertex -0.9 0.2 1.5
endloop
endfacet
endsolid patchFFFFFF

View File

@ -1,564 +0,0 @@
solid allBoundary
facet normal 0 0 1
outer loop
vertex 4 1.525 8
vertex 5 2.2875 8
vertex 4 1.93125 8
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 4 1.93125 8
vertex 3 1.2875 8
vertex 4 1.525 8
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 4 1.93125 8
vertex 5 2.575 8
vertex 4 2.1 8
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 4 2.1 8
vertex 3 1.575 8
vertex 4 1.93125 8
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 3 1.2875 8
vertex 4 1.93125 8
vertex 3 1.575 8
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 3 1.575 8
vertex 2 1.05 8
vertex 3 1.2875 8
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 7 3 -4
vertex 6 2.64375 -4
vertex 7 3.525 -4
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 7 3.525 -4
vertex 8 4 -4
vertex 7 3 -4
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 6 2 -4
vertex 5 1.7625 -4
vertex 6 2.64375 -4
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 6 2.64375 -4
vertex 7 3 -4
vertex 6 2 -4
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 5 1 -4
vertex 4 0.88125 -4
vertex 5 1.7625 -4
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 5 1.7625 -4
vertex 6 2 -4
vertex 5 1 -4
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 4 0 -4
vertex 3 0 -4
vertex 4 0.88125 -4
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 4 0.88125 -4
vertex 5 1 -4
vertex 4 0 -4
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 6 2.64375 -4
vertex 5 2.2875 -4
vertex 6 3.05 -4
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 6 3.05 -4
vertex 7 3.525 -4
vertex 6 2.64375 -4
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 5 1.7625 -4
vertex 4 1.525 -4
vertex 5 2.2875 -4
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 5 2.2875 -4
vertex 6 2.64375 -4
vertex 5 1.7625 -4
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 7 3 8
vertex 8 4 8
vertex 7 3.525 8
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 7 3.525 8
vertex 6 2.64375 8
vertex 7 3 8
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 6 2 8
vertex 7 3 8
vertex 6 2.64375 8
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 6 2.64375 8
vertex 5 1.7625 8
vertex 6 2 8
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 5 1 8
vertex 6 2 8
vertex 5 1.7625 8
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 5 1.7625 8
vertex 4 0.88125 8
vertex 5 1 8
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 4 0 8
vertex 5 1 8
vertex 4 0.88125 8
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 4 0.88125 8
vertex 3 0 8
vertex 4 0 8
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 6 2.64375 8
vertex 7 3.525 8
vertex 6 3.05 8
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 6 3.05 8
vertex 5 2.2875 8
vertex 6 2.64375 8
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 5 1.7625 8
vertex 6 2.64375 8
vertex 5 2.2875 8
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 5 2.2875 8
vertex 4 1.525 8
vertex 5 1.7625 8
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 4 0.88125 8
vertex 5 1.7625 8
vertex 4 1.525 8
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 4 1.525 8
vertex 3 0.7625 8
vertex 4 0.88125 8
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 3 0 8
vertex 4 0.88125 8
vertex 3 0.7625 8
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 3 0.7625 8
vertex 2 0 8
vertex 3 0 8
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 5 2.2875 8
vertex 6 3.05 8
vertex 5 2.575 8
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 5 2.575 8
vertex 4 1.93125 8
vertex 5 2.2875 8
endloop
endfacet
facet normal 0.707107 -0.707107 0
outer loop
vertex 7 3 8
vertex 6 2 8
vertex 6 2 -4
endloop
endfacet
facet normal 0.707107 -0.707107 0
outer loop
vertex 6 2 -4
vertex 7 3 -4
vertex 7 3 8
endloop
endfacet
facet normal 0.707107 -0.707107 0
outer loop
vertex 6 2 8
vertex 5 1 8
vertex 5 1 -4
endloop
endfacet
facet normal 0.707107 -0.707107 0
outer loop
vertex 5 1 -4
vertex 6 2 -4
vertex 6 2 8
endloop
endfacet
facet normal 0.707107 -0.707107 0
outer loop
vertex 5 1 8
vertex 4 0 8
vertex 4 0 -4
endloop
endfacet
facet normal 0.707107 -0.707107 0
outer loop
vertex 4 0 -4
vertex 5 1 -4
vertex 5 1 8
endloop
endfacet
facet normal -0.464834 0.885398 0
outer loop
vertex 4 2.1 8
vertex 4 2.1 -4
vertex 3 1.575 -4
endloop
endfacet
facet normal -0.464834 0.885398 0
outer loop
vertex 3 1.575 -4
vertex 3 1.575 8
vertex 4 2.1 8
endloop
endfacet
facet normal -0.464834 0.885398 0
outer loop
vertex 3 1.575 8
vertex 3 1.575 -4
vertex 2 1.05 -4
endloop
endfacet
facet normal -0.464834 0.885398 0
outer loop
vertex 2 1.05 -4
vertex 2 1.05 8
vertex 3 1.575 8
endloop
endfacet
facet normal -0.429057 0.903278 0
outer loop
vertex 8 4 8
vertex 8 4 -4
vertex 7 3.525 -4
endloop
endfacet
facet normal -0.429057 0.903278 0
outer loop
vertex 7 3.525 -4
vertex 7 3.525 8
vertex 8 4 8
endloop
endfacet
facet normal -0.429057 0.903278 0
outer loop
vertex 7 3.525 8
vertex 7 3.525 -4
vertex 6 3.05 -4
endloop
endfacet
facet normal -0.429057 0.903278 0
outer loop
vertex 6 3.05 -4
vertex 6 3.05 8
vertex 7 3.525 8
endloop
endfacet
facet normal -0.429057 0.903278 0
outer loop
vertex 6 3.05 8
vertex 6 3.05 -4
vertex 5 2.575 -4
endloop
endfacet
facet normal -0.429057 0.903278 0
outer loop
vertex 5 2.575 -4
vertex 5 2.575 8
vertex 6 3.05 8
endloop
endfacet
facet normal -0.429057 0.903278 0
outer loop
vertex 5 2.575 8
vertex 5 2.575 -4
vertex 4 2.1 -4
endloop
endfacet
facet normal -0.429057 0.903278 0
outer loop
vertex 4 2.1 -4
vertex 4 2.1 8
vertex 5 2.575 8
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 4 0.88125 -4
vertex 3 0.7625 -4
vertex 4 1.525 -4
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 4 1.525 -4
vertex 5 1.7625 -4
vertex 4 0.88125 -4
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3 0 -4
vertex 2 0 -4
vertex 3 0.7625 -4
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3 0.7625 -4
vertex 4 0.88125 -4
vertex 3 0 -4
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 5 2.2875 -4
vertex 4 1.93125 -4
vertex 5 2.575 -4
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 5 2.575 -4
vertex 6 3.05 -4
vertex 5 2.2875 -4
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 4 1.525 -4
vertex 3 1.2875 -4
vertex 4 1.93125 -4
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 4 1.93125 -4
vertex 5 2.2875 -4
vertex 4 1.525 -4
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 4 1.93125 -4
vertex 3 1.575 -4
vertex 4 2.1 -4
endloop
endfacet
facet normal 0.707107 -0.707107 0
outer loop
vertex 7 3 -4
vertex 8 4 -4
vertex 8 4 8
endloop
endfacet
facet normal 0.707107 -0.707107 0
outer loop
vertex 8 4 8
vertex 7 3 8
vertex 7 3 -4
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 2 0 -4
vertex 3 0 -4
vertex 3 0 8
endloop
endfacet
facet normal -0 -1 0
outer loop
vertex 3 0 8
vertex 2 0 8
vertex 2 0 -4
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 3 0 -4
vertex 4 0 -4
vertex 4 0 8
endloop
endfacet
facet normal -0 -1 0
outer loop
vertex 4 0 8
vertex 3 0 8
vertex 3 0 -4
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3 1.575 -4
vertex 4 1.93125 -4
vertex 3 1.2875 -4
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 3 1.2875 -4
vertex 2 1.05 -4
vertex 3 1.575 -4
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 4 2.1 -4
vertex 5 2.575 -4
vertex 4 1.93125 -4
endloop
endfacet
endsolid allBoundary
solid oldInternalFaces
facet normal -0.606343 0.795203 0
outer loop
vertex 2 0 -4
vertex 2 0 8
vertex 3 0.7625 8
endloop
endfacet
facet normal -0.606343 0.795203 0
outer loop
vertex 3 0.7625 8
vertex 3 0.7625 -4
vertex 2 0 -4
endloop
endfacet
facet normal 0.231072 -0.972937 0
outer loop
vertex 2 1.05 -4
vertex 3 1.2875 -4
vertex 3 1.2875 8
endloop
endfacet
facet normal 0.231072 -0.972937 0
outer loop
vertex 3 1.2875 8
vertex 2 1.05 8
vertex 2 1.05 -4
endloop
endfacet
facet normal -0.606343 0.795203 0
outer loop
vertex 3 0.7625 -4
vertex 3 0.7625 8
vertex 4 1.525 8
endloop
endfacet
facet normal -0.606343 0.795203 0
outer loop
vertex 4 1.525 8
vertex 4 1.525 -4
vertex 3 0.7625 -4
endloop
endfacet
facet normal 0.231072 -0.972937 0
outer loop
vertex 3 1.2875 -4
vertex 4 1.525 -4
vertex 4 1.525 8
endloop
endfacet
facet normal 0.231072 -0.972937 0
outer loop
vertex 4 1.525 8
vertex 3 1.2875 8
vertex 3 1.2875 -4
endloop
endfacet
endsolid oldInternalFaces

View File

@ -1,268 +0,0 @@
solid patch0
facet normal -0.464834 0.885398 0
outer loop
vertex 2 1.05 -4
vertex 2 1.05 8
vertex 4 2.1 8
endloop
endfacet
facet normal -0.429057 0.903278 0
outer loop
vertex 8 4 -4
vertex 7 3.525 8
vertex 8 4 8
endloop
endfacet
facet normal -0.429057 0.903277 -1.79465e-08
outer loop
vertex 8 4 -4
vertex 6 3.05 8
vertex 7 3.525 8
endloop
endfacet
facet normal -0.429057 0.903277 0
outer loop
vertex 8 4 -4
vertex 4 2.1 8
vertex 6 3.05 8
endloop
endfacet
facet normal -0.429057 0.903277 0
outer loop
vertex 4 2.1 8
vertex 8 4 -4
vertex 4 2.1 -4
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 4 1.525 -4
vertex 8 4 -4
vertex 4 0.88125 -4
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 4 0 -4
vertex 2 0 -4
vertex 4 1.525 -4
endloop
endfacet
facet normal 0 0 0
outer loop
vertex 4 1.525 -4
vertex 4 0.88125 -4
vertex 4 0 -4
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 4 1.93125 -4
vertex 8 4 -4
vertex 4 1.525 -4
endloop
endfacet
facet normal 0.707107 -0.707107 0
outer loop
vertex 8 4 8
vertex 7 3 8
vertex 8 4 -4
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 2 0 -4
vertex 4 0 -4
vertex 4 0 8
endloop
endfacet
facet normal -0 -1 0
outer loop
vertex 4 0 8
vertex 2 0 8
vertex 2 0 -4
endloop
endfacet
facet normal 0 0 0
outer loop
vertex 4 2.1 -4
vertex 4 1.93125 -4
vertex 4 1.525 -4
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 4 1.525 -4
vertex 2 1.05 -4
vertex 4 2.1 -4
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 4 2.1 -4
vertex 8 4 -4
vertex 4 1.93125 -4
endloop
endfacet
facet normal -0.606343 0.795203 0
outer loop
vertex 2 0 -4
vertex 2 0 8
vertex 4 1.525 8
endloop
endfacet
facet normal -0.606343 0.795203 0
outer loop
vertex 4 1.525 8
vertex 4 1.525 -4
vertex 2 0 -4
endloop
endfacet
facet normal 0.231072 -0.972937 0
outer loop
vertex 2 1.05 -4
vertex 4 1.525 -4
vertex 4 1.525 8
endloop
endfacet
facet normal 0.231072 -0.972937 0
outer loop
vertex 4 1.525 8
vertex 2 1.05 8
vertex 2 1.05 -4
endloop
endfacet
facet normal 0 0 0
outer loop
vertex 4 1.525 8
vertex 4 1.93125 8
vertex 4 2.1 8
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 4 2.1 8
vertex 2 1.05 8
vertex 4 1.525 8
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 4 0.88125 -4
vertex 8 4 -4
vertex 4 0 -4
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 7 3 8
vertex 8 4 8
vertex 7 3.525 8
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 7 3.525 8
vertex 6 2.64375 8
vertex 7 3 8
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 6 2 8
vertex 7 3 8
vertex 6 2.64375 8
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 6 2.64375 8
vertex 4 0.88125 8
vertex 6 2 8
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 4 0 8
vertex 6 2 8
vertex 4 0.88125 8
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 6 2.64375 8
vertex 7 3.525 8
vertex 6 3.05 8
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 6 3.05 8
vertex 4 1.525 8
vertex 6 2.64375 8
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 4 0.88125 8
vertex 6 2.64375 8
vertex 4 1.525 8
endloop
endfacet
facet normal 0 0 0
outer loop
vertex 4 0 8
vertex 4 0.88125 8
vertex 4 1.525 8
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 4 1.525 8
vertex 2 0 8
vertex 4 0 8
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 4 1.525 8
vertex 6 3.05 8
vertex 4 2.1 8
endloop
endfacet
facet normal 0 0 0
outer loop
vertex 4 2.1 8
vertex 4 1.93125 8
vertex 4 1.525 8
endloop
endfacet
facet normal 0.707107 -0.707107 0
outer loop
vertex 7 3 8
vertex 6 2 8
vertex 8 4 -4
endloop
endfacet
facet normal 0.707107 -0.707107 0
outer loop
vertex 6 2 8
vertex 4 0 8
vertex 4 0 -4
endloop
endfacet
facet normal 0.707107 -0.707107 0
outer loop
vertex 4 0 -4
vertex 8 4 -4
vertex 6 2 8
endloop
endfacet
facet normal -0.464834 0.885398 0
outer loop
vertex 4 2.1 8
vertex 4 2.1 -4
vertex 2 1.05 -4
endloop
endfacet
endsolid patch0

View File

@ -1,86 +0,0 @@
solid defaultPatch
facet normal -0 0 1
outer loop
vertex 0.3 0.8 0.4
vertex 0.3 0.3 0.4
vertex 0.8 0.8 0.4
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 0.3 0.3 0.4
vertex 0.8 0.3 0.4
vertex 0.8 0.8 0.4
endloop
endfacet
facet normal -0 -0 -1
outer loop
vertex 0.5 0.5 0.1
vertex 0.5 0.1 0.1
vertex 0.1 0.5 0.1
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.5 0.1 0.1
vertex 0.1 0.1 0.1
vertex 0.1 0.5 0.1
endloop
endfacet
facet normal 0.707107 0 -0.707107
outer loop
vertex 0.8 0.8 0.4
vertex 0.8 0.3 0.4
vertex 0.5 0.5 0.1
endloop
endfacet
facet normal 0.707107 0 -0.707107
outer loop
vertex 0.8 0.3 0.4
vertex 0.5 0.1 0.1
vertex 0.5 0.5 0.1
endloop
endfacet
facet normal 0 0.707107 -0.707107
outer loop
vertex 0.1 0.5 0.1
vertex 0.3 0.8 0.4
vertex 0.5 0.5 0.1
endloop
endfacet
facet normal 0 0.707107 -0.707107
outer loop
vertex 0.3 0.8 0.4
vertex 0.8 0.8 0.4
vertex 0.5 0.5 0.1
endloop
endfacet
facet normal -0.83205 0 0.5547
outer loop
vertex 0.1 0.5 0.1
vertex 0.1 0.1 0.1
vertex 0.3 0.8 0.4
endloop
endfacet
facet normal -0.83205 0 0.5547
outer loop
vertex 0.1 0.1 0.1
vertex 0.3 0.3 0.4
vertex 0.3 0.8 0.4
endloop
endfacet
facet normal 0 -0.83205 0.5547
outer loop
vertex 0.3 0.3 0.4
vertex 0.1 0.1 0.1
vertex 0.8 0.3 0.4
endloop
endfacet
facet normal 0 -0.83205 0.5547
outer loop
vertex 0.1 0.1 0.1
vertex 0.5 0.1 0.1
vertex 0.8 0.3 0.4
endloop
endfacet
endsolid defaultPatch

View File

@ -1,86 +0,0 @@
solid defaultPatch
facet normal -0 0 1
outer loop
vertex 0.3 0.8 0.15
vertex 0.3 0.3 0.15
vertex 0.8 0.8 0.15
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 0.3 0.3 0.15
vertex 0.8 0.3 0.15
vertex 0.8 0.8 0.15
endloop
endfacet
facet normal -0 -0 -1
outer loop
vertex 0.5 0.5 -0.15
vertex 0.5 0.1 -0.15
vertex 0.1 0.5 -0.15
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.5 0.1 -0.15
vertex 0.1 0.1 -0.15
vertex 0.1 0.5 -0.15
endloop
endfacet
facet normal 0.707107 0 -0.707107
outer loop
vertex 0.8 0.8 0.15
vertex 0.8 0.3 0.15
vertex 0.5 0.5 -0.15
endloop
endfacet
facet normal 0.707107 0 -0.707107
outer loop
vertex 0.8 0.3 0.15
vertex 0.5 0.1 -0.15
vertex 0.5 0.5 -0.15
endloop
endfacet
facet normal 0 0.707107 -0.707107
outer loop
vertex 0.1 0.5 -0.15
vertex 0.3 0.8 0.15
vertex 0.5 0.5 -0.15
endloop
endfacet
facet normal 0 0.707107 -0.707107
outer loop
vertex 0.3 0.8 0.15
vertex 0.8 0.8 0.15
vertex 0.5 0.5 -0.15
endloop
endfacet
facet normal -0.83205 0 0.5547
outer loop
vertex 0.1 0.5 -0.15
vertex 0.1 0.1 -0.15
vertex 0.3 0.8 0.15
endloop
endfacet
facet normal -0.83205 0 0.5547
outer loop
vertex 0.1 0.1 -0.15
vertex 0.3 0.3 0.15
vertex 0.3 0.8 0.15
endloop
endfacet
facet normal 0 -0.83205 0.5547
outer loop
vertex 0.3 0.3 0.15
vertex 0.1 0.1 -0.15
vertex 0.8 0.3 0.15
endloop
endfacet
facet normal 0 -0.83205 0.5547
outer loop
vertex 0.1 0.1 -0.15
vertex 0.5 0.1 -0.15
vertex 0.8 0.3 0.15
endloop
endfacet
endsolid defaultPatch

View File

@ -1,338 +0,0 @@
solid cube.tri
facet normal 1 0 0
outer loop
vertex 1.0 0.0 0.0
vertex 1.0 00.00 0.0
vertex 1.0 00.00 00.00
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.0 0.0 00.00
vertex 1.0 0.0 0.0
vertex 1.0 00.00 00.00
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.0 0.0 0.0
vertex 1.0 00.00 1.0
vertex 1.0 00.00 0.0
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.0 0.0 1.0
vertex 1.0 00.00 1.0
vertex 1.0 0.0 0.0
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.0 1.0 00.00
vertex 1.0 0.0 0.0
vertex 1.0 0.0 00.00
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.0 1.0 0.0
vertex 1.0 0.0 0.0
vertex 1.0 1.0 00.00
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.0 1.0 1.0
vertex 1.0 0.0 1.0
vertex 1.0 0.0 0.0
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.0 1.0 0.0
vertex 1.0 1.0 1.0
vertex 1.0 0.0 0.0
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 00.00 0.0 0.0
vertex 00.00 0.0 1.0
vertex 00.00 1.0 1.0
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 00.00 1.0 0.0
vertex 00.00 0.0 0.0
vertex 00.00 1.0 1.0
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 00.00 0.0 0.0
vertex 00.00 00.00 1.0
vertex 00.00 0.0 1.0
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 00.00 00.00 0.0
vertex 00.00 00.00 1.0
vertex 00.00 0.0 0.0
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 00.00 1.0 00.00
vertex 00.00 0.0 0.0
vertex 00.00 1.0 0.0
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 00.00 0.0 00.00
vertex 00.00 0.0 0.0
vertex 00.00 1.0 00.00
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 00.00 00.00 00.00
vertex 00.00 00.00 0.0
vertex 00.00 0.0 0.0
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 00.00 0.0 00.00
vertex 00.00 00.00 00.00
vertex 00.00 0.0 0.0
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 0.0 1.0 0.0
vertex 0.0 1.0 00.00
vertex 00.00 1.0 00.00
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 00.00 1.0 0.0
vertex 0.0 1.0 0.0
vertex 00.00 1.0 00.00
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 0.0 1.0 0.0
vertex 1.0 1.0 00.00
vertex 0.0 1.0 00.00
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 1.0 1.0 0.0
vertex 1.0 1.0 00.00
vertex 0.0 1.0 0.0
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 00.00 1.0 1.0
vertex 0.0 1.0 0.0
vertex 00.00 1.0 0.0
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 0.0 1.0 1.0
vertex 0.0 1.0 0.0
vertex 00.00 1.0 1.0
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 1.0 1.0 1.0
vertex 1.0 1.0 0.0
vertex 0.0 1.0 0.0
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 0.0 1.0 1.0
vertex 1.0 1.0 1.0
vertex 0.0 1.0 0.0
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 0.0 00.00 0.0
vertex 1.0 00.00 0.0
vertex 1.0 00.00 1.0
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 0.0 00.00 1.0
vertex 0.0 00.00 0.0
vertex 1.0 00.00 1.0
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 0.0 00.00 0.0
vertex 1.0 00.00 00.00
vertex 1.0 00.00 0.0
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 0.0 00.00 00.00
vertex 1.0 00.00 00.00
vertex 0.0 00.00 0.0
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 00.00 00.00 1.0
vertex 0.0 00.00 0.0
vertex 0.0 00.00 1.0
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 00.00 00.00 0.0
vertex 0.0 00.00 0.0
vertex 00.00 00.00 1.0
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 00.00 00.00 00.00
vertex 0.0 00.00 00.00
vertex 0.0 00.00 0.0
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 00.00 00.00 0.0
vertex 00.00 00.00 00.00
vertex 0.0 00.00 0.0
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 0.0 0.0 1.0
vertex 00.00 0.0 1.0
vertex 00.00 00.00 1.0
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 0.0 00.00 1.0
vertex 0.0 0.0 1.0
vertex 00.00 00.00 1.0
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 0.0 0.0 1.0
vertex 00.00 1.0 1.0
vertex 00.00 0.0 1.0
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 0.0 1.0 1.0
vertex 00.00 1.0 1.0
vertex 0.0 0.0 1.0
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 1.0 00.00 1.0
vertex 0.0 0.0 1.0
vertex 0.0 00.00 1.0
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 1.0 0.0 1.0
vertex 0.0 0.0 1.0
vertex 1.0 00.00 1.0
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 1.0 1.0 1.0
vertex 0.0 1.0 1.0
vertex 0.0 0.0 1.0
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 1.0 0.0 1.0
vertex 1.0 1.0 1.0
vertex 0.0 0.0 1.0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.0 0.0 00.00
vertex 0.0 1.0 00.00
vertex 1.0 1.0 00.00
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.0 0.0 00.00
vertex 0.0 0.0 00.00
vertex 1.0 1.0 00.00
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.0 0.0 00.00
vertex 00.00 1.0 00.00
vertex 0.0 1.0 00.00
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 00.00 0.0 00.00
vertex 00.00 1.0 00.00
vertex 0.0 0.0 00.00
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.0 00.00 00.00
vertex 0.0 0.0 00.00
vertex 1.0 0.0 00.00
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.0 00.00 00.00
vertex 0.0 0.0 00.00
vertex 1.0 00.00 00.00
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 00.00 00.00 00.00
vertex 00.00 0.0 00.00
vertex 0.0 0.0 00.00
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.0 00.00 00.00
vertex 00.00 00.00 00.00
vertex 0.0 0.0 00.00
endloop
endfacet
endsolid /users/vis/dru/cube.tri

View File

@ -1,86 +0,0 @@
solid cube.tri
facet normal 1 0 0
outer loop
vertex 1 1 0.5
vertex 1 0 0.5
vertex 1 0 -0.5
endloop
endfacet
facet normal 1 0 -0
outer loop
vertex 1 1 -0.5
vertex 1 1 0.5
vertex 1 0 -0.5
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 0 0 -0.5
vertex 0 0 0.5
vertex 0 1 0.5
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 0 1 -0.5
vertex 0 0 -0.5
vertex 0 1 0.5
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 1 1 0.5
vertex 1 1 -0.5
vertex 0 1 -0.5
endloop
endfacet
facet normal -0 1 0
outer loop
vertex 0 1 0.5
vertex 1 1 0.5
vertex 0 1 -0.5
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 0 0 -0.5
vertex 1 0 -0.5
vertex 1 0 0.5
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 0 0 0.5
vertex 0 0 -0.5
vertex 1 0 0.5
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 1 1 0.5
vertex 0 1 0.5
vertex 0 0 0.5
endloop
endfacet
facet normal 0 -0 1
outer loop
vertex 1 0 0.5
vertex 1 1 0.5
vertex 0 0 0.5
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0 0 -0.5
vertex 0 1 -0.5
vertex 1 1 -0.5
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1 0 -0.5
vertex 0 0 -0.5
vertex 1 1 -0.5
endloop
endfacet
endsolid cube.tri

View File

@ -1,86 +0,0 @@
solid cube.tri
facet normal 0.393919 0.919145 0
outer loop
vertex -0.4 1 0.5
vertex 0.3 0.7 0.5
vertex 0.3 0.7 -0.5
endloop
endfacet
facet normal 0.393919 0.919145 -0
outer loop
vertex -0.4 1 -0.5
vertex -0.4 1 0.5
vertex 0.3 0.7 -0.5
endloop
endfacet
facet normal -0.393919 -0.919145 0
outer loop
vertex 0 0 -0.5
vertex 0 0 0.5
vertex -0.7 0.3 0.5
endloop
endfacet
facet normal -0.393919 -0.919145 0
outer loop
vertex -0.7 0.3 -0.5
vertex 0 0 -0.5
vertex -0.7 0.3 0.5
endloop
endfacet
facet normal -0.919145 0.393919 0
outer loop
vertex -0.4 1 0.5
vertex -0.4 1 -0.5
vertex -0.7 0.3 -0.5
endloop
endfacet
facet normal -0.919145 0.393919 0
outer loop
vertex -0.7 0.3 0.5
vertex -0.4 1 0.5
vertex -0.7 0.3 -0.5
endloop
endfacet
facet normal 0.919145 -0.393919 0
outer loop
vertex 0 0 -0.5
vertex 0.3 0.7 -0.5
vertex 0.3 0.7 0.5
endloop
endfacet
facet normal 0.919145 -0.393919 0
outer loop
vertex 0 0 0.5
vertex 0 0 -0.5
vertex 0.3 0.7 0.5
endloop
endfacet
facet normal 0 0 1
outer loop
vertex -0.4 1 0.5
vertex -0.7 0.3 0.5
vertex 0 0 0.5
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 0.3 0.7 0.5
vertex -0.4 1 0.5
vertex 0 0 0.5
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0 0 -0.5
vertex -0.7 0.3 -0.5
vertex -0.4 1 -0.5
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 0.3 0.7 -0.5
vertex 0 0 -0.5
vertex -0.4 1 -0.5
endloop
endfacet
endsolid cube.tri

View File

@ -1,64 +0,0 @@
// The FOAM Project // File: controlDict
/*
-------------------------------------------------------------------------------
========= | dictionary
\\ / |
\\ / | Name: controlDict
\\ / | Family: FoamX configuration file
\\/ |
F ield | FOAM version: 2.3
O peration | Product of Nabla Ltd.
A and |
M anipulation | Email: Enquiries@Nabla.co.uk
-------------------------------------------------------------------------------
*/
// FoamX Case Dictionary.
FoamFile
{
version 2.0;
format ascii;
root "/home/storm/chris/foam/chris2.3/run/tutorials/icoFoam";
case "cavity";
instance "system";
local "";
class dictionary;
object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
applicationClass icoFoam;
startFrom latestTime;
startTime 0;
stopAt endTime;
endTime 0.5;
deltaT 0.005;
writeControl timeStep;
writeInterval 20;
cycleWrite 0;
writeFormat ascii;
writePrecision 6;
writeCompression uncompressed;
timeFormat general;
timePrecision 6;
runTimeModifiable yes;
// ************************************************************************* //

View File

@ -1,72 +0,0 @@
// The FOAM Project // File: fvSchemes
/*
-------------------------------------------------------------------------------
========= | dictionary
\\ / |
\\ / | Name: fvSchemes
\\ / | Family: FoamX configuration file
\\/ |
F ield | FOAM version: 2.3
O peration | Product of Nabla Ltd.
A and |
M anipulation | Email: Enquiries@Nabla.co.uk
-------------------------------------------------------------------------------
*/
// FoamX Case Dictionary.
FoamFile
{
version 2.0;
format ascii;
root "/home/storm/chris/foam/chris2.3/run/tutorials/icoFoam";
case "cavity";
instance "system";
local "";
class dictionary;
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
timeScheme EulerImplicit;
gradSchemes
{
default Gauss linear;
grad(p) Gauss linear;
}
divSchemes
{
default none;
div(phi,U) Gauss linear;
}
laplacianSchemes
{
default none;
laplacian(nu,U) Gauss linear corrected;
laplacian(1|A(U),p) Gauss linear corrected;
}
interpolationSchemes
{
default linear;
interpolate(HbyA) linear;
}
snGradSchemes
{
default corrected;
}
fluxRequired
{
default no;
p;
}
// ************************************************************************* //

View File

@ -1,46 +0,0 @@
// The FOAM Project // File: fvSolution
/*
-------------------------------------------------------------------------------
========= | dictionary
\\ / |
\\ / | Name: fvSolution
\\ / | Family: FoamX configuration file
\\/ |
F ield | FOAM version: 2.3
O peration | Product of Nabla Ltd.
A and |
M anipulation | Email: Enquiries@Nabla.co.uk
-------------------------------------------------------------------------------
*/
// FoamX Case Dictionary.
FoamFile
{
version 2.0;
format ascii;
root "/home/storm/chris/foam/chris2.3/run/tutorials/icoFoam";
case "cavity";
instance "system";
local "";
class dictionary;
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
solvers
{
p ICCG 1e-06 0;
U BICCG 1e-05 0;
}
PISO
{
nCorrectors 2;
nNonOrthogonalCorrectors 0;
}
// ************************************************************************* //

View File

@ -1,62 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*----------------------------------------------------------------------------*/
#include "CV2D.H"
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::CV2D::tolerances::tolerances
(
const dictionary& controlDict,
const scalar minCellSize,
const boundBox& bb
)
:
span
(
max(mag(bb.max().x()), mag(bb.min().x()))
+ max(mag(bb.max().y()), mag(bb.min().y()))
),
span2(Foam::sqr(span)),
minEdgeLen(readScalar(controlDict.lookup("minEdgeLenCoeff"))*minCellSize),
minEdgeLen2(Foam::sqr(minEdgeLen)),
maxNotchLen(readScalar(controlDict.lookup("maxNotchLenCoeff"))*minCellSize),
maxNotchLen2(Foam::sqr(maxNotchLen)),
minNearPointDist
(
readScalar(controlDict.lookup("minNearPointDistCoeff"))*minCellSize
),
minNearPointDist2(Foam::sqr(minNearPointDist)),
ppDist(readScalar(controlDict.lookup("ppDistCoeff"))*minCellSize),
ppDist2(Foam::sqr(ppDist))
{}
// ************************************************************************* //

View File

@ -1,84 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Typedefs
CGALTriangulation3Ddefs
Description
CGAL data structures used for 3D Delaunay meshing.
Define CGAL_INEXACT to use Exact_predicates_inexact_constructions kernel
otherwise the more robust but much less efficient
Exact_predicates_exact_constructions will be used.
Define CGAL_HIERARCHY to use hierarchical Delaunay triangulation which is
faster but uses more memory than the standard Delaunay triangulation.
\*---------------------------------------------------------------------------*/
#ifndef CGALTriangulation3Ddefs_H
#define CGALTriangulation3Ddefs_H
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "CGAL/Delaunay_triangulation_3.h"
#include "indexedVertex.H"
#include "indexedCell.H"
#ifdef CGAL_INEXACT
// Fast kernel using a double as the storage type but the triangulation
// may fail
#include "CGAL/Exact_predicates_inexact_constructions_kernel.h"
typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
#else
// Very robust but expensive kernel
#include "CGAL/Exact_predicates_exact_constructions_kernel.h"
typedef CGAL::Exact_predicates_exact_constructions_kernel K;
#endif
typedef CGAL::indexedVertex<K> Vb;
typedef CGAL::indexedCell<K> Cb;
#ifdef CGAL_HIERARCHY
// Data structures for hierarchical Delaunay triangulation which is more
// efficient but also uses more storage
#include "CGAL/Triangulation_hierarchy_3.h"
typedef CGAL::Triangulation_hierarchy_vertex_base_3<Vb> Vbh;
typedef CGAL::Triangulation_data_structure_3<Vbh, Cb> Tds;
typedef CGAL::Delaunay_triangulation_3<K, Tds> Triangulation;
typedef CGAL::Triangulation_hierarchy_3<Triangulation> HTriangulation;
#else
// Data structures for standard Delaunay triangulation
typedef CGAL::Triangulation_data_structure_3<Vb, Cb> Tds;
typedef CGAL::Delaunay_triangulation_3<K, Tds> Triangulation;
typedef Triangulation HTriangulation;
#endif
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -1,269 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#include "CV3D.H"
#include "Random.H"
#include "IFstream.H"
#include "uint.H"
#include "ulong.H"
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
void Foam::CV3D::insertBoundingBox()
{
Info<< "insertBoundingBox: creating bounding mesh" << nl << endl;
scalar bigSpan = 10*tols_.span;
insertPoint(point(-bigSpan, -bigSpan, -bigSpan), Vb::FAR_POINT);
insertPoint(point(-bigSpan, -bigSpan, bigSpan), Vb::FAR_POINT);
insertPoint(point(-bigSpan, bigSpan, -bigSpan), Vb::FAR_POINT);
insertPoint(point(-bigSpan, bigSpan, bigSpan), Vb::FAR_POINT);
insertPoint(point( bigSpan, -bigSpan, -bigSpan), Vb::FAR_POINT);
insertPoint(point( bigSpan, -bigSpan, bigSpan), Vb::FAR_POINT);
insertPoint(point( bigSpan, bigSpan, -bigSpan), Vb::FAR_POINT);
insertPoint(point( bigSpan, bigSpan , bigSpan), Vb::FAR_POINT);
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::CV3D::CV3D
(
const dictionary& controlDict,
const querySurface& qSurf
)
:
HTriangulation(),
qSurf_(qSurf),
controls_(controlDict),
tols_(controlDict, controls_.minCellSize, qSurf.bb()),
startOfInternalPoints_(0),
startOfSurfacePointPairs_(0)
{
// insertBoundingBox();
insertFeaturePoints();
}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::CV3D::~CV3D()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
void Foam::CV3D::insertPoints
(
const pointField& points,
const scalar nearness
)
{
Info<< "insertInitialPoints(const pointField& points): ";
startOfInternalPoints_ = number_of_vertices();
label nVert = startOfInternalPoints_;
// Add the points and index them
forAll(points, i)
{
const point& p = points[i];
if (qSurf_.wellInside(p, nearness))
{
insert(toPoint(p))->index() = nVert++;
}
else
{
Warning
<< "Rejecting point " << p << " outside surface" << endl;
}
}
Info<< nVert << " vertices inserted" << endl;
if (controls_.writeInitialTriangulation)
{
// Checking validity of triangulation
assert(is_valid());
writeTriangles("initial_triangles.obj", true);
// writeFaces("initial_faces.obj", true);
}
}
void Foam::CV3D::insertPoints(const fileName& pointFileName)
{
IFstream pointsFile(pointFileName);
if (pointsFile.good())
{
insertPoints(pointField(pointsFile), 0.5*controls_.minCellSize2);
}
else
{
FatalErrorIn("insertInitialPoints")
<< "Could not open pointsFile " << pointFileName
<< exit(FatalError);
}
}
void Foam::CV3D::insertGrid()
{
Info<< "insertInitialGrid: ";
startOfInternalPoints_ = number_of_vertices();
label nVert = startOfInternalPoints_;
scalar x0 = qSurf_.bb().min().x();
scalar xR = qSurf_.bb().max().x() - x0;
int ni = int(xR/controls_.minCellSize) + 1;
scalar y0 = qSurf_.bb().min().y();
scalar yR = qSurf_.bb().max().y() - y0;
int nj = int(yR/controls_.minCellSize) + 1;
scalar z0 = qSurf_.bb().min().z();
scalar zR = qSurf_.bb().max().z() - z0;
int nk = int(zR/controls_.minCellSize) + 1;
vector delta(xR/ni, yR/nj, zR/nk);
delta *= pow((1.0/2.0),-(1.0/3.0));
Random rndGen(1321);
scalar pert = controls_.randomPerturbation*cmptMin(delta);
for (int i=0; i<ni; i++)
{
for (int j=0; j<nj; j++)
{
for (int k=0; k<nk; k++)
{
point p1 (x0 + i*delta.x(), y0 + j*delta.y(), z0 + k*delta.z());
point p2 = p1 + 0.5*delta;
if (controls_.randomiseInitialGrid)
{
p1.x() += pert*(rndGen.scalar01() - 0.5);
p1.y() += pert*(rndGen.scalar01() - 0.5);
p1.z() += pert*(rndGen.scalar01() - 0.5);
}
if (qSurf_.wellInside(p1, 0.5*controls_.minCellSize2))
{
insert(Point(p1.x(), p1.y(), p1.z()))->index() = nVert++;
}
if (controls_.randomiseInitialGrid)
{
p2.x() += pert*(rndGen.scalar01() - 0.5);
p2.y() += pert*(rndGen.scalar01() - 0.5);
p2.z() += pert*(rndGen.scalar01() - 0.5);
}
if (qSurf_.wellInside(p2, 0.5*controls_.minCellSize2))
{
insert(Point(p2.x(), p2.y(), p2.z()))->index() = nVert++;
}
}
}
}
Info<< nVert << " vertices inserted" << nl << endl;
if (controls_.writeInitialTriangulation)
{
// Checking validity of triangulation
assert(is_valid());
writePoints("initial_points.obj", true);
writeTriangles("initial_triangles.obj", true);
// writeFaces("initial_faces.obj", true);
}
}
void Foam::CV3D::insertSurfacePointPairs()
{
startOfSurfacePointPairs_ = number_of_vertices();
if (controls_.insertSurfaceNearestPointPairs)
{
insertSurfaceNearestPointPairs();
}
if (controls_.writeNearestTriangulation)
{
// writeFaces("near_allFaces.obj", false);
// writeFaces("near_faces.obj", true);
writeTriangles("near_triangles.obj", true);
}
if (controls_.insertSurfaceNearPointPairs)
{
insertSurfaceNearPointPairs();
}
startOfBoundaryConformPointPairs_ = number_of_vertices();
}
void Foam::CV3D::boundaryConform()
{
}
void Foam::CV3D::removeSurfacePointPairs()
{
for
(
Triangulation::Finite_vertices_iterator vit = finite_vertices_begin();
vit != finite_vertices_end();
++vit
)
{
if (vit->index() >= startOfSurfacePointPairs_)
{
remove(vit);
}
}
}
void Foam::CV3D::write() const
{
if (controls_.writeFinalTriangulation)
{
writePoints("allPoints.obj", false);
writePoints("points.obj", true);
// writeFaces("allFaces.obj", false);
// writeFaces("faces.obj", true);
writeTriangles("allTriangles.obj", false);
writeTriangles("triangles.obj", true);
// writeMesh();
}
}
// ************************************************************************* //

View File

@ -1,354 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
CV3D
Description
SourceFiles
CV3DI.H
CV3D.C
CV3DIO.C
controls.C
tolerances.C
insertFeaturePoints.C
insertSurfaceNearestPointPairs.C
insertSurfaceNearPointPairs.C
insertBoundaryConformPointPairs.C
\*---------------------------------------------------------------------------*/
#ifndef CV3D_H
#define CV3D_H
#define CGAL_INEXACT
#define CGAL_HIERARCHY
#include "CGALTriangulation3Ddefs.H"
#include "querySurface.H"
#include "dictionary.H"
#include "DynamicList.H"
#include "Switch.H"
#include "Time.H"
#include "polyMesh.H"
#include "SortableList.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
/*---------------------------------------------------------------------------*\
Class CV3D Declaration
\*---------------------------------------------------------------------------*/
class CV3D
:
public HTriangulation
{
public:
class controls
{
public:
//- Minimum cell size below which protusions through the surface are
// not split
scalar minCellSize;
//- Square of minCellSize
scalar minCellSize2;
//- The feature angle used to select corners to be
// explicitly represented in the mesh.
// 0 = all features, 180 = no features
scalar featAngle;
//- Maximum quadrant angle allowed at a concave corner before
// additional "mitering" lines are added
scalar maxQuadAngle;
//- Insert near-boundary point mirror or point-pairs
Switch insertSurfaceNearestPointPairs;
//- Mirror near-boundary points rather than insert point-pairs
Switch mirrorPoints;
//- Insert point-pairs for dual-cell vertices very near the surface
Switch insertSurfaceNearPointPairs;
Switch writeInitialTriangulation;
Switch writeFeatureTriangulation;
Switch writeNearestTriangulation;
Switch writeInsertedPointPairs;
Switch writeFinalTriangulation;
Switch randomiseInitialGrid;
scalar randomPerturbation;
controls(const dictionary& controlDict);
};
class tolerances
{
public:
//- Maximum cartesian span of the geometry
scalar span;
//- Square of span
scalar span2;
//- Minumum edge-length of the cell size below which protusions
// through the surface are not split
scalar minEdgeLen;
//- Square of minEdgeLen
scalar minEdgeLen2;
//- Distance between boundary conforming point-pairs
scalar ppDist;
//- Square of ppDist
scalar ppDist2;
tolerances
(
const dictionary& controlDict,
scalar minCellSize,
const boundBox&
);
};
private:
// Private data
//- The surface to mesh
const querySurface& qSurf_;
//- Meshing controls
controls controls_;
//- Meshing tolerances
tolerances tols_;
//- Keep track of the start of the internal points
label startOfInternalPoints_;
//- Keep track of the start of the surface point-pairs
label startOfSurfacePointPairs_;
//- Keep track of the boundary conform point-pairs
// stored after the insertion of the surface point-pairs in case
// the boundary conform function is called more than once without
// removing and insertin the surface point-pairs
label startOfBoundaryConformPointPairs_;
// Private Member Functions
//- Disallow default bitwise copy construct
CV3D(const CV3D&);
//- Disallow default bitwise assignment
void operator=(const CV3D&);
//- Insert point and return it's index
inline label insertPoint
(
const point& pt,
const label type
);
inline bool insertMirrorPoint
(
const point& nearSurfPt,
const point& surfPt
);
//- Insert a point-pair at a distance ppDist either side of
// surface point point surfPt in the direction n
inline void insertPointPair
(
const scalar mirrorDist,
const point& surfPt,
const vector& n
);
//- Create the initial mesh from the bounding-box
void insertBoundingBox();
//- Insert point groups at the feature points.
void insertFeaturePoints();
//- Insert point-pairs at the given set of points using the surface
// normals corresponding to the given set of surface triangles
// and write the inserted point locations to the given file.
void insertPointPairs
(
const DynamicList<point>& nearSurfacePoints,
const DynamicList<point>& surfacePoints,
const DynamicList<label>& surfaceTris,
const fileName fName
);
//- Check to see if dual cell specified by given vertex iterator
// intersects the boundary and hence reqires a point-pair.
bool dualCellSurfaceIntersection
(
const Triangulation::Finite_vertices_iterator& vit
) const;
//- Insert point-pairs at the nearest points on the surface to the
// control vertex of dual-cells which intersect the boundary in order
// to provide a boundary-layer mesh.
// NB: This is not guaranteed to close the boundary
void insertSurfaceNearestPointPairs();
//- Insert point-pairs at small dual-cell edges on the surface in order
// to improve the boundary-layer mesh generated by
// insertSurfaceNearestPointPairs.
void insertSurfaceNearPointPairs();
void markNearBoundaryPoints();
//- Dual calculation
void calcDualMesh
(
pointField& points,
faceList& faces,
labelList& owner,
labelList& neighbour,
wordList& patchNames,
labelList& patchSizes,
labelList& patchStarts
);
public:
// Constructors
//- Construct for given surface
CV3D(const dictionary& controlDict, const querySurface& qSurf);
// Destructor
~CV3D();
// Member Functions
// Access
const controls& meshingControls() const
{
return controls_;
}
// Conversion functions between point and Point
# ifdef CGAL_INEXACT
typedef const point& pointFromPoint;
typedef const Point& PointFrompoint;
# else
typedef point pointFromPoint;
typedef Point PointFrompoint;
# endif
inline pointFromPoint topoint(const Point&) const;
inline PointFrompoint toPoint(const point&) const;
// Point insertion
//- Create the initial mesh from the given internal points.
// Points must be inside the boundary by at least nearness
// otherwise they are ignored.
void insertPoints
(
const pointField& points,
const scalar nearness
);
//- Create the initial mesh from the internal points in the given
// file. Points outside the geometry are ignored.
void insertPoints(const fileName& pointFileName);
//- Create the initial mesh as a BCC lattice of points.
// Points outside the geometry are ignored.
void insertGrid();
//- Insert all surface point-pairs from
// insertSurfaceNearestPointPairs and
// findIntersectionForOutsideCentroid
void insertSurfacePointPairs();
//- Insert point-pairs where there are protrusions into
// or out of the surface
void boundaryConform();
// Point removal
//- Remove the point-pairs introduced by insertSurfacePointPairs
// and boundaryConform
void removeSurfacePointPairs();
// Check
// Edit
// Write
//- Write Delaunay points to .obj file
void writePoints(const fileName& fName, bool internalOnly) const;
//- Write Delaunay triangles as .obj file
void writeTriangles(const fileName& fName, bool internalOnly) const;
//- Write dual points and faces as .obj file
void writeDual(const fileName& fName) const;
//- Write polyMesh
void writeMesh(const Time& runTime);
void write() const;
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "CV3DI.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -1,142 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
inline Foam::label Foam::CV3D::insertPoint
(
const point& p,
const label type
)
{
uint nVert = number_of_vertices();
Vertex_handle vh = insert(toPoint(p));
if (nVert == number_of_vertices())
{
WarningIn("Foam::CV3D::insertPoint")
<< "Failed to insert point " << p << endl;
}
else
{
vh->index() = nVert;
vh->type() = type;
}
return vh->index();
}
inline bool Foam::CV3D::insertMirrorPoint
(
const point& nearSurfPt,
const point& surfPt
)
{
point mirrorPoint(2*surfPt - nearSurfPt);
if (qSurf_.outside(mirrorPoint))
{
insertPoint(mirrorPoint, Vb::MIRROR_POINT);
return true;
}
else
{
return false;
}
}
inline void Foam::CV3D::insertPointPair
(
const scalar ppDist,
const point& surfPt,
const vector& n
)
{
vector ppDistn = ppDist*n;
label master = insertPoint
(
surfPt - ppDistn,
number_of_vertices() + 1
);
insertPoint(surfPt + ppDistn, master);
}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
#ifdef CGAL_INEXACT
inline Foam::CV3D::pointFromPoint Foam::CV3D::topoint
(
const Point& P
) const
{
return reinterpret_cast<pointFromPoint>(P);
}
inline Foam::CV3D::PointFrompoint Foam::CV3D::toPoint
(
const point& p
) const
{
return reinterpret_cast<PointFrompoint>(p);
}
#else
inline Foam::CV3D::pointFromPoint Foam::CV3D::topoint
(
const Point& P
) const
{
return point
(
CGAL::to_double(P.x()),
CGAL::to_double(P.y()),
CGAL::to_double(P.z())
);
}
inline Foam::CV3D::PointFrompoint Foam::CV3D::toPoint
(
const point& p
) const
{
return Point(p.x(), p.y(), p.z());
}
#endif
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// ************************************************************************* //

View File

@ -1,257 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#include "CV3D.H"
#include "IOstreams.H"
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
void Foam::CV3D::writePoints(const fileName& fName, bool internalOnly) const
{
Info << "Writing points to " << fName << nl << endl;
OFstream str(fName);
for
(
Triangulation::Finite_vertices_iterator vit = finite_vertices_begin();
vit != finite_vertices_end();
++vit
)
{
if (!internalOnly || vit->internalOrBoundaryPoint())
{
meshTools::writeOBJ(str, topoint(vit->point()));
}
}
}
void Foam::CV3D::writeDual(const fileName& fName) const
{
Info << "Writing dual points and faces to " << fName << nl << endl;
OFstream str(fName);
label dualVerti = 0;
for
(
Triangulation::Finite_cells_iterator cit = finite_cells_begin();
cit != finite_cells_end();
++cit
)
{
if
(
cit->vertex(0)->internalOrBoundaryPoint()
|| cit->vertex(1)->internalOrBoundaryPoint()
|| cit->vertex(2)->internalOrBoundaryPoint()
|| cit->vertex(3)->internalOrBoundaryPoint()
)
{
cit->cellIndex() = dualVerti;
meshTools::writeOBJ(str, topoint(dual(cit)));
dualVerti++;
}
else
{
cit->cellIndex() = -1;
}
}
for
(
Triangulation::Finite_edges_iterator eit = finite_edges_begin();
eit != finite_edges_end();
++eit
)
{
if
(
eit->first->vertex(eit->second)->internalOrBoundaryPoint()
|| eit->first->vertex(eit->third)->internalOrBoundaryPoint()
)
{
Cell_circulator ccStart = incident_cells(*eit);
Cell_circulator cc = ccStart;
str<< 'f';
do
{
if (!is_infinite(cc))
{
if (cc->cellIndex() < 0)
{
FatalErrorIn
(
"Foam::CV3D::writeDual(const fileName& fName)"
)<< "Dual face uses circumcenter defined by a Delaunay"
" tetrahedron with no internal or boundary points."
<< exit(FatalError);
}
str<< ' ' << cc->cellIndex() + 1;
}
} while (++cc != ccStart);
str<< nl;
}
}
}
void Foam::CV3D::writeTriangles(const fileName& fName, bool internalOnly) const
{
Info << "Writing triangles to " << fName << nl << endl;
OFstream str(fName);
labelList vertexMap(number_of_vertices());
label verti = 0;
for
(
Triangulation::Finite_vertices_iterator vit = finite_vertices_begin();
vit != finite_vertices_end();
++vit
)
{
if (!internalOnly || !vit->farPoint())
{
vertexMap[vit->index()] = verti++;
meshTools::writeOBJ(str, topoint(vit->point()));
}
}
for
(
Triangulation::Finite_facets_iterator fit = finite_facets_begin();
fit != finite_facets_end();
++fit
)
{
const Cell_handle& c(fit->first);
const int& oppositeVertex(fit->second);
List<label> facetIndices(3,-1);
bool writeFacet = true;
for(label i = 0, k = 0;i < 4; i++)
{
if(i != oppositeVertex)
{
if(!internalOnly || !c->vertex(i)->farPoint())
{
facetIndices[k] = i;
k++;
}
else
{
writeFacet = false;
}
}
}
if(writeFacet)
{
str << "f "
<< vertexMap[c->vertex(facetIndices[0])->index()] + 1
<< ' ' << vertexMap[c->vertex(facetIndices[1])->index()] + 1
<< ' ' << vertexMap[c->vertex(facetIndices[2])->index()] + 1
<< nl;
}
}
}
void Foam::CV3D::writeMesh(const Time& runTime)
{
Info<< nl << "Writing polyMesh." << endl;
pointField points(0);
faceList faces(0);
labelList owner(0);
labelList neighbour(0);
wordList patchNames(0);
labelList patchSizes(0);
labelList patchStarts(0);
calcDualMesh
(
points,
faces,
owner,
neighbour,
patchNames,
patchSizes,
patchStarts
);
IOobject io
(
Foam::polyMesh::defaultRegion,
runTime.constant(),
runTime,
IOobject::NO_READ,
IOobject::AUTO_WRITE
);
polyMesh pMesh
(
io,
points,
faces,
owner,
neighbour
);
List<polyPatch*> patches(patchStarts.size());
forAll (patches, p)
{
patches[p] = new polyPatch
(
patchNames[p],
patchSizes[p],
patchStarts[p],
p,
pMesh.boundaryMesh()
);
}
pMesh.addPatches(patches);
if (!pMesh.write())
{
FatalErrorIn("CV3D::writeMesh(const Time& runTime)")
<< "Failed writing polyMesh."
<< exit(FatalError);
}
}
// * * * * * * * * * * * * * * * IOstream Operators * * * * * * * * * * * * //
// ************************************************************************* //

View File

@ -1,112 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Application
CV3DMesher
Description
Conformal-Voronoi 3D automatic mesher
\*---------------------------------------------------------------------------*/
#include "fvCFD.H"
#include "CV3D.H"
#include "IFstream.H"
using namespace Foam;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// Main program:
int main(int argc, char *argv[])
{
argList::noParallel();
argList::validArgs.clear();
argList::validArgs.append("surface");
argList::validOptions.insert("pointsFile", "<filename>");
# include "setRootCase.H"
# include "createTime.H"
// Read control dictionary
// ~~~~~~~~~~~~~~~~~~~~~~~
dictionary controlDict
(
IFstream(runTime.system()/args.executable() + "Dict")()
);
label nIterations(readLabel(controlDict.lookup("nIterations")));
// Read the surface to conform to
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
querySurface surf(args.args()[1]);
Info<< nl
<< "Read surface with " << surf.size() << " triangles from file "
<< args.args()[1] << nl << endl;
// Read and triangulation
// ~~~~~~~~~~~~~~~~~~~~~~
CV3D mesh(controlDict, surf);
if (args.options().found("pointsFile"))
{
fileName pointFileName(args.options()["pointsFile"]);
mesh.insertPoints(pointFileName);
mesh.insertSurfacePointPairs();
mesh.boundaryConform();
}
else
{
mesh.insertGrid();
mesh.insertSurfacePointPairs();
mesh.boundaryConform();
}
for (int iter=1; iter<=nIterations; iter++)
{
Info<< nl
<< "Relaxation iteration " << iter << nl
<< "~~~~~~~~~~~~~~~~~~~~~~~~" << endl;
mesh.removeSurfacePointPairs();
mesh.insertSurfacePointPairs();
mesh.boundaryConform();
}
mesh.write();
mesh.writeDual("dualMesh.obj");
mesh.writeMesh(runTime);
Info << nl << "End\n" << endl;
return 0;
}
// ************************************************************************* //

View File

@ -1,15 +0,0 @@
#include CGAL_FILES
querySurface.C
CV3D.C
controls.C
tolerances.C
CV3DIO.C
CV3DMesher.C
calcDualMesh.C
insertFeaturePoints.C
insertSurfaceNearestPointPairs.C
insertSurfaceNearPointPairs.C
insertBoundaryConformPointPairs.C
EXE = $(FOAM_APPBIN)/CV3DMesher

View File

@ -1,18 +0,0 @@
EXE_DEBUG = -DFULLDEBUG -g -O0
//EXE_DEBUG =
include $(GENERAL_RULES)/CGAL
FFLAGS = -DCGAL_FILES='"${CGAL_PATH}/CGAL/files"'
EXE_INC = \
${EXE_DEBUG} \
${CGAL_INC} \
-I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(LIB_SRC)/meshTools/lnInclude \
-I$(LIB_SRC)/dynamicMesh/lnInclude \
-I$(LIB_SRC)/triSurface/lnInclude
EXE_LIBS = \
-lmeshTools \
-ltriSurface \
-ldynamicMesh

View File

@ -1,421 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*----------------------------------------------------------------------------*/
#include "CV3D.H"
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
void Foam::CV3D::calcDualMesh
(
pointField& points,
faceList& faces,
labelList& owner,
labelList& neighbour,
wordList& patchNames,
labelList& patchSizes,
labelList& patchStarts
)
{
Info << nl << "Calculating Voronoi diagram." << endl;
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dual points ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
points.setSize(number_of_cells());
label dualVerti = 0;
for
(
Triangulation::Finite_cells_iterator cit = finite_cells_begin();
cit != finite_cells_end();
++cit
)
{
if
(
cit->vertex(0)->internalOrBoundaryPoint()
|| cit->vertex(1)->internalOrBoundaryPoint()
|| cit->vertex(2)->internalOrBoundaryPoint()
|| cit->vertex(3)->internalOrBoundaryPoint()
)
{
cit->cellIndex() = dualVerti;
points[dualVerti] = topoint(dual(cit));
dualVerti++;
}
else
{
cit->cellIndex() = -1;
}
}
points.setSize(dualVerti);
// ~~~~~~~~~~~~~~~~~~~~~~~~~ dual cell indexing ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// resets type and index information for Delaunay vertices
// assigns an index to the vertices which will be the dual cell index used
// for owner neighbour assignment
label dualCelli = 0;
for
(
Triangulation::Finite_vertices_iterator vit = finite_vertices_begin();
vit != finite_vertices_end();
++vit
)
{
if (vit->internalOrBoundaryPoint())
{
vit->type() = Vb::INTERNAL_POINT;
vit->index() = dualCelli;
dualCelli++;
}
else
{
vit->type() = Vb::FAR_POINT;
vit->index() = -1;
}
}
// ~~~~~~~~~~~~ dual face and owner neighbour construction ~~~~~~~~~~~~~~~~~
label nPatches = 1;
patchNames.setSize(nPatches);
patchNames[0] = "CV3D_default_patch";
patchSizes.setSize(nPatches);
patchStarts.setSize(nPatches);
List<DynamicList<face> > patchFaces(nPatches, DynamicList<face>(0));
List<DynamicList<label> > patchOwners(nPatches, DynamicList<label>(0));
faces.setSize(number_of_edges());
owner.setSize(number_of_edges());
neighbour.setSize(number_of_edges());
label dualFacei = 0;
for
(
Triangulation::Finite_edges_iterator eit = finite_edges_begin();
eit != finite_edges_end();
++eit
)
{
if
(
eit->first->vertex(eit->second)->internalOrBoundaryPoint()
|| eit->first->vertex(eit->third)->internalOrBoundaryPoint()
)
{
Cell_circulator ccStart = incident_cells(*eit);
Cell_circulator cc = ccStart;
DynamicList<label> verticesOnFace;
do
{
if (!is_infinite(cc))
{
if (cc->cellIndex() < 0)
{
FatalErrorIn
(
"Foam::CV3D::calcDualMesh"
)<< "Dual face uses circumcenter defined by a Delaunay"
" tetrahedron with no internal or boundary points."
<< exit(FatalError);
}
verticesOnFace.append(cc->cellIndex());
}
} while (++cc != ccStart);
verticesOnFace.shrink();
face newDualFace(verticesOnFace);
Cell_handle c = eit->first;
Vertex_handle vA = c->vertex(eit->second);
Vertex_handle vB = c->vertex(eit->third);
label dcA = vA->index();
if (!vA->internalOrBoundaryPoint())
{
dcA = -1;
}
label dcB = vB->index();
if (!vB->internalOrBoundaryPoint())
{
dcB = -1;
}
label dcOwn = -1;
label dcNei = -1;
if (dcA == -1 && dcB == -1)
{
FatalErrorIn("calcDualMesh")
<< "Attempting to create a face joining "
<< "two external dual cells "
<< exit(FatalError);
}
else if (dcA == -1 || dcB == -1)
{
// boundary face, find which is the owner
if (dcA == -1)
{
dcOwn = dcB;
// reverse face order to correctly orientate normal
reverse(newDualFace);
}
else
{
dcOwn = dcA;
}
// find which patch this face is on; Hardcoded for now.
label patchIndex = 0;
patchFaces[patchIndex].append(newDualFace);
patchOwners[patchIndex].append(dcOwn);
}
else
{
// internal face, find the lower cell to be the owner
if (dcB > dcA)
{
dcOwn = dcA;
dcNei = dcB;
}
else
{
dcOwn = dcB;
dcNei = dcA;
// reverse face order to correctly orientate normal
// unsure if CGAL always circulates consistently,
// needs to be more rigorous
reverse(newDualFace);
}
faces[dualFacei] = newDualFace;
owner[dualFacei] = dcOwn;
neighbour[dualFacei] = dcNei;
dualFacei++;
}
}
}
label nInternalFaces = dualFacei;
faces.setSize(nInternalFaces);
owner.setSize(nInternalFaces);
neighbour.setSize(nInternalFaces);
// ~~~~~~~~ sort owner, reordinging neighbour and faces to match ~~~~~~~~~~~
// two stage sort for upper triangular order: sort by owner first, then for
// each block of owners sort by neighbour
labelList sortingIndices;
// Stage 1
{
SortableList<label> sortedOwner(owner);
sortingIndices = sortedOwner.indices();
}
{
labelList copyOwner(owner.size());
forAll (sortingIndices, sI)
{
copyOwner[sI] = owner[sortingIndices[sI]];
}
owner = copyOwner;
}
{
labelList copyNeighbour(neighbour.size());
forAll (sortingIndices, sI)
{
copyNeighbour[sI] = neighbour[sortingIndices[sI]];
}
neighbour = copyNeighbour;
}
{
faceList copyFaces(faces.size());
forAll (sortingIndices, sI)
{
copyFaces[sI] = faces[sortingIndices[sI]];
}
faces = copyFaces;
}
// Stage 2
sortingIndices = -1;
DynamicList<label> ownerCellJumps;
// Force first owner entry to be a jump
ownerCellJumps.append(0);
for (label o = 1; o < owner.size(); o++)
{
if (owner[o] > owner[o-1])
{
ownerCellJumps.append(o);
}
}
ownerCellJumps.shrink();
forAll (ownerCellJumps, oCJ)
{
label start = ownerCellJumps[oCJ];
label length;
if (oCJ == ownerCellJumps.size() - 1)
{
length = owner.size() - start;
}
else
{
length = ownerCellJumps[oCJ + 1] - start;
}
SubList<label> neighbourBlock(neighbour, length, start);
SortableList<label> sortedNeighbourBlock(neighbourBlock);
forAll (sortedNeighbourBlock, sNB)
{
sortingIndices[start + sNB] =
sortedNeighbourBlock.indices()[sNB] + start;
}
}
// Perform sort
{
labelList copyOwner(owner.size());
forAll (sortingIndices, sI)
{
copyOwner[sI] = owner[sortingIndices[sI]];
}
owner = copyOwner;
}
{
labelList copyNeighbour(neighbour.size());
forAll (sortingIndices, sI)
{
copyNeighbour[sI] = neighbour[sortingIndices[sI]];
}
neighbour = copyNeighbour;
}
{
faceList copyFaces(faces.size());
forAll (sortingIndices, sI)
{
copyFaces[sI] = faces[sortingIndices[sI]];
}
faces = copyFaces;
}
// ~~~~~~~~ add patch information ~~~~~~~~~~~
label nBoundaryFaces = 0;
forAll (patchFaces, p)
{
patchFaces[p].shrink();
patchOwners[p].shrink();
// TODO SORT BOUNDARY FACES AND NEIGHBOURS?
patchSizes[p] = patchFaces[p].size();
patchStarts[p] = nInternalFaces + nBoundaryFaces;
nBoundaryFaces += patchSizes[p];
}
faces.setSize(nInternalFaces + nBoundaryFaces);
owner.setSize(nInternalFaces + nBoundaryFaces);
forAll (patchFaces, p)
{
forAll (patchFaces[p], f)
{
faces[dualFacei] = patchFaces[p][f];
owner[dualFacei] = patchOwners[p][f];
dualFacei++;
}
}
}
// ************************************************************************* //

View File

@ -1,56 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*----------------------------------------------------------------------------*/
#include "CV3D.H"
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::CV3D::controls::controls(const dictionary& controlDict)
:
minCellSize(readScalar(controlDict.lookup("minCellSize"))),
minCellSize2(Foam::sqr(minCellSize)),
featAngle(readScalar(controlDict.lookup("featureAngle"))),
maxQuadAngle(readScalar(controlDict.lookup("maxQuadAngle"))),
insertSurfaceNearestPointPairs
(
controlDict.lookup("insertSurfaceNearestPointPairs")
),
mirrorPoints(controlDict.lookup("mirrorPoints")),
insertSurfaceNearPointPairs
(
controlDict.lookup("insertSurfaceNearPointPairs")
),
writeInitialTriangulation(controlDict.lookup("writeInitialTriangulation")),
writeFeatureTriangulation(controlDict.lookup("writeFeatureTriangulation")),
writeNearestTriangulation(controlDict.lookup("writeNearestTriangulation")),
writeInsertedPointPairs(controlDict.lookup("writeInsertedPointPairs")),
writeFinalTriangulation(controlDict.lookup("writeFinalTriangulation")),
randomiseInitialGrid(controlDict.lookup("randomiseInitialGrid")),
randomPerturbation(readScalar(controlDict.lookup("randomPerturbation")))
{}
// ************************************************************************* //

View File

@ -1,154 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
indexedCell
Description
An indexed form of CGAL::Triangulation_cell_base_3<K> used to keep
track of the vertices in the triangulation.
\*---------------------------------------------------------------------------*/
#ifndef indexedCell_H
#define indexedCell_H
#include <CGAL/Triangulation_3.h>
#include "indexedVertex.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace CGAL
{
/*---------------------------------------------------------------------------*\
Class indexedCell Declaration
\*---------------------------------------------------------------------------*/
template<class Gt, class Cb=CGAL::Triangulation_cell_base_3<Gt> >
class indexedCell
:
public Cb
{
// Private data
//- The index for this triangle Cell
// -1: triangle and changed and associated data needs updating
// >=0: index of cells, set by external update algorithm
int index_;
public:
enum cellTypes
{
UNCHANGED = 0,
CHANGED = -1,
SAVE_CHANGED = -2
};
typedef typename Cb::Vertex_handle Vertex_handle;
typedef typename Cb::Cell_handle Cell_handle;
template < typename TDS2 >
struct Rebind_TDS
{
typedef typename Cb::template Rebind_TDS<TDS2>::Other Cb2;
typedef indexedCell<Gt, Cb2> Other;
};
indexedCell()
:
Cb(),
index_(CHANGED)
{}
indexedCell
(
Vertex_handle v0, Vertex_handle v1, Vertex_handle v2, Vertex_handle v3
)
:
Cb(v0, v1, v2, v3),
index_(CHANGED)
{}
indexedCell
(
Vertex_handle v0,
Vertex_handle v1,
Vertex_handle v2,
Vertex_handle v3,
Cell_handle n0,
Cell_handle n1,
Cell_handle n2,
Cell_handle n3
)
:
Cb(v0, v1, v2, v3, n0, n1, n2, n3),
index_(CHANGED)
{}
void set_vertex(int i, Vertex_handle v)
{
index_ = CHANGED;
Cb::set_vertex(i, v);
}
void set_vertices()
{
index_ = CHANGED;
Cb::set_vertices();
}
void set_vertices
(
Vertex_handle v0, Vertex_handle v1, Vertex_handle v2, Vertex_handle v3
)
{
index_ = CHANGED;
Cb::set_vertices(v0, v1, v2, v3);
}
int& cellIndex()
{
return index_;
}
int cellIndex() const
{
return index_;
}
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace CGAL
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -1,261 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
indexedVertex
Description
An indexed form of CGAL::Triangulation_vertex_base_3<K> used to keep
track of the vertices in the triangulation.
\*---------------------------------------------------------------------------*/
#ifndef indexedVertex_H
#define indexedVertex_H
#include <CGAL/Triangulation_3.h>
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace CGAL
{
/*---------------------------------------------------------------------------*\
Class indexedVertex Declaration
\*---------------------------------------------------------------------------*/
template<class Gt, class Vb=CGAL::Triangulation_vertex_base_3<Gt> >
class indexedVertex
:
public Vb
{
// Private data
//- The index for this triangle vertex
int index_;
//- Index of pair-point :
// NEAR_BOUNDARY_POINT : internal near boundary point.
// INTERNAL_POINT : internal point.
// FAR_POINT : far-point.
// >= 0 : part of point-pair. Index of other point.
// Lowest numbered is inside one (master).
int type_;
public:
enum pointTypes
{
NEAR_BOUNDARY_POINT = -4,
INTERNAL_POINT = -3,
MIRROR_POINT = -2,
FAR_POINT = -1
};
typedef typename Vb::Vertex_handle Vertex_handle;
typedef typename Vb::Cell_handle Cell_handle;
typedef typename Vb::Point Point;
template<typename TDS2>
struct Rebind_TDS
{
typedef typename Vb::template Rebind_TDS<TDS2>::Other Vb2;
typedef indexedVertex<Gt,Vb2> Other;
};
indexedVertex()
:
Vb(),
index_(INTERNAL_POINT),
type_(INTERNAL_POINT)
{}
indexedVertex(const Point& p)
:
Vb(p),
index_(INTERNAL_POINT),
type_(INTERNAL_POINT)
{}
indexedVertex(const Point& p, Cell_handle f)
:
Vb(f, p),
index_(INTERNAL_POINT),
type_(INTERNAL_POINT)
{}
indexedVertex(Cell_handle f)
:
Vb(f),
index_(INTERNAL_POINT),
type_(INTERNAL_POINT)
{}
int& index()
{
return index_;
}
int index() const
{
return index_;
}
int& type()
{
return type_;
}
int type() const
{
return type_;
}
//- Is point a far-point
inline bool farPoint() const
{
return type_ == FAR_POINT;
}
//- Is point internal, i.e. not on boundary
inline bool internalPoint() const
{
return type_ <= INTERNAL_POINT;
}
//- Is point internal and near the boundary
inline bool nearBoundary() const
{
return type_ == NEAR_BOUNDARY_POINT;
}
//- Set the point to be near the boundary
inline void setNearBoundary()
{
type_ = NEAR_BOUNDARY_POINT;
}
//- Is point a mirror point
inline bool mirrorPoint() const
{
return type_ == MIRROR_POINT;
}
//- Either master or slave of pointPair.
inline bool pairPoint() const
{
return type_ >= 0;
}
//- Master of a pointPair is the lowest numbered one.
inline bool ppMaster() const
{
if (type_ > index_)
{
return true;
}
else
{
return false;
}
}
//- Slave of a pointPair is the highest numbered one.
inline bool ppSlave() const
{
if (type_ >= 0 && type_ < index_)
{
return true;
}
else
{
return false;
}
}
//- Either original internal point or master of pointPair.
inline bool internalOrBoundaryPoint() const
{
return internalPoint() || ppMaster();
}
//- Is point near the boundary or part of the boundary definition
inline bool nearOrOnBoundary() const
{
return pairPoint() || mirrorPoint() || nearBoundary();
}
//- Do the two given vertices consitute a boundary point-pair
inline friend bool pointPair
(
const indexedVertex& v0,
const indexedVertex& v1
)
{
return v0.index_ == v1.type_ || v1.index_ == v0.type_;
}
//- Do the three given vertices consitute a boundary triangle
inline friend bool boundaryTriangle
(
const indexedVertex& v0,
const indexedVertex& v1,
const indexedVertex& v2
)
{
return (v0.pairPoint() && pointPair(v1, v2))
|| (v1.pairPoint() && pointPair(v2, v0))
|| (v2.pairPoint() && pointPair(v0, v1));
}
//- Do the three given vertices consitute an outside triangle
inline friend bool outsideTriangle
(
const indexedVertex& v0,
const indexedVertex& v1,
const indexedVertex& v2
)
{
return (v0.farPoint() || v0.ppSlave())
|| (v1.farPoint() || v1.ppSlave())
|| (v2.farPoint() || v2.ppSlave());
}
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace CGAL
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -1,56 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*----------------------------------------------------------------------------*/
#include "CV3D.H"
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
void Foam::CV3D::markNearBoundaryPoints()
{
for
(
Triangulation::Finite_vertices_iterator vit = finite_vertices_begin();
vit != finite_vertices_end();
vit++
)
{
if (vit->internalPoint())
{
point vert(topoint(vit->point()));
pointIndexHit pHit =
qSurf_.tree().findNearest(vert, 4*controls_.minCellSize2);
if (pHit.hit())
{
vit->setNearBoundary();
}
}
}
}
// ************************************************************************* //

View File

@ -1,178 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*----------------------------------------------------------------------------*/
#include "CV3D.H"
#include "plane.H"
#include "triSurfaceTools.H"
#include "mathematicalConstants.H"
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
void Foam::CV3D::insertFeaturePoints()
{
const edgeList& edges = qSurf_.edges();
const pointField& localPts = qSurf_.localPoints();
labelList featPoints(0);
labelListList featPointFeatEdges(0);
qSurf_.extractFeatures3D
(
controls_.featAngle,
featPoints,
featPointFeatEdges
);
forAll(featPoints, i)
{
label ptI = featPoints[i];
const point& featPt = localPts[ptI];
const labelList& featEdges = featPointFeatEdges[i];
forAll(featEdges, fE)
{
label edgeI = featEdges[fE];
const edge& featEdge = edges[edgeI];
// Check direction of edge, if the feature point is at the end()
// the reverse direction.
scalar edgeDirection = 1.0;
if (ptI == featEdge.end())
{
edgeDirection = -1.0;
}
point edgeLocalFeatPt = featPt
+ 2.0*tols_.ppDist*edgeDirection
* featEdge.vec(localPts)/featEdge.mag(localPts);
// Pick up the two faces adjacent to the feature edge
const labelList& eFaces = qSurf_.edgeFaces()[edgeI];
label faceA = eFaces[0];
vector nA = qSurf_.faceNormals()[faceA];
label faceB = eFaces[1];
vector nB = qSurf_.faceNormals()[faceB];
// Intersect planes parallel to faceA and faceB offset by ppDist
// and the plane defined by edgeLocalFeatPt and the edge vector.
plane planeA(edgeLocalFeatPt - tols_.ppDist*nA, nA);
plane planeB(edgeLocalFeatPt - tols_.ppDist*nB, nB);
plane planeF(edgeLocalFeatPt, featEdge.vec(localPts));
point refPt = planeF.planePlaneIntersect(planeA,planeB);
point faceAVert =
localPts[triSurfaceTools::oppositeVertex(qSurf_, faceA, edgeI)];
// Determine convex or concave angle
if (((faceAVert - edgeLocalFeatPt) & nB) < 0)
{
// Convex. So refPt will be inside domain and hence a master point
// Insert the master point refering the the first slave
label masterPtIndex = insertPoint(refPt, number_of_vertices() + 1);
// Insert the slave points by reflecting refPt in both faces.
// with each slave refering to the master
point reflectedA = refPt + 2*((edgeLocalFeatPt - refPt) & nA)*nA;
insertPoint(reflectedA, masterPtIndex);
point reflectedB = refPt + 2*((edgeLocalFeatPt - refPt) & nB)*nB;
insertPoint(reflectedB, masterPtIndex);
}
else
{
// Concave. master and reflected points inside the domain.
// Generate reflected master to be outside.
point reflMasterPt = refPt + 2*(edgeLocalFeatPt - refPt);
// Reflect refPt in both faces.
point reflectedA =
reflMasterPt + 2*((edgeLocalFeatPt - reflMasterPt) & nA)*nA;
point reflectedB =
reflMasterPt + 2*((edgeLocalFeatPt - reflMasterPt) & nB)*nB;
scalar totalAngle =
180*(mathematicalConstant::pi + acos(mag(nA & nB)))
/mathematicalConstant::pi;
// Number of quadrants the angle should be split into
int nQuads = int(totalAngle/controls_.maxQuadAngle) + 1;
// The number of additional master points needed to obtain the
// required number of quadrants.
int nAddPoints = min(max(nQuads - 2, 0), 2);
// index of reflMaster
label reflectedMaster = number_of_vertices() + 2 + nAddPoints;
// Master A is inside.
label reflectedAI = insertPoint(reflectedA, reflectedMaster);
// Master B is inside.
insertPoint(reflectedB, reflectedMaster);
if (nAddPoints == 1)
{
// One additinal point is the reflection of the slave point,
// i.e. the original reference point
insertPoint(refPt, reflectedMaster);
}
else if (nAddPoints == 2)
{
point reflectedAa = refPt
- ((edgeLocalFeatPt - reflMasterPt) & nB)*nB;
insertPoint(reflectedAa, reflectedMaster);
point reflectedBb = refPt
- ((edgeLocalFeatPt - reflMasterPt) & nA)*nA;
insertPoint(reflectedBb, reflectedMaster);
}
// Slave is outside.
insertPoint(reflMasterPt, reflectedAI);
}
}
}
if (controls_.writeFeatureTriangulation)
{
writePoints("feat_allPoints.obj", false);
writePoints("feat_points.obj", true);
writeTriangles("feat_triangles.obj", true);
}
}
// ************************************************************************* //

View File

@ -1,45 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*----------------------------------------------------------------------------*/
#include "CV3D.H"
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
void Foam::CV3D::insertSurfaceNearPointPairs()
{
Info<< "insertSurfaceNearPointPairs: " << nl << endl;
label nNearPoints = 0;
// This needs a rethink from scratch in 3D.
// Probably iterating around the facets rather than edges
// Remember about the incident_edges, cells etc
Info<< nNearPoints << " point-pairs inserted" << endl;
}
// ************************************************************************* //

View File

@ -1,230 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*----------------------------------------------------------------------------*/
#include "CV3D.H"
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
bool Foam::CV3D::dualCellSurfaceIntersection
(
const Triangulation::Finite_vertices_iterator& vit
) const
{
std::list<Facet> facets;
incident_facets(vit, std::back_inserter(facets));
for
(
std::list<Facet>::iterator fit=facets.begin();
fit != facets.end();
++fit
)
{
if
(
is_infinite(fit->first)
|| is_infinite(fit->first->neighbor(fit->second))
)
{
return true;
}
point dE0 = topoint(dual(fit->first));
// If edge end is outside bounding box then edge cuts boundary
if (!qSurf_.bb().contains(dE0))
{
return true;
}
point dE1 = topoint(dual(fit->first->neighbor(fit->second)));
// If other edge end is outside bounding box then edge cuts boundary
if (!qSurf_.bb().contains(dE1))
{
return true;
}
if (magSqr(dE1 - dE0) > tols_.minEdgeLen2)
{
pointIndexHit pHit = qSurf_.tree().findLineAny(dE0, dE1);
if (pHit.hit())
{
return true;
}
}
}
return false;
}
void Foam::CV3D::insertPointPairs
(
const DynamicList<point>& nearSurfacePoints,
const DynamicList<point>& surfacePoints,
const DynamicList<label>& surfaceTris,
const fileName fName
)
{
if (controls_.mirrorPoints)
{
forAll(surfacePoints, ppi)
{
insertMirrorPoint
(
nearSurfacePoints[ppi],
surfacePoints[ppi]
);
}
}
else
{
forAll(surfacePoints, ppi)
{
insertPointPair
(
tols_.ppDist,
surfacePoints[ppi],
qSurf_.faceNormals()[surfaceTris[ppi]]
);
}
}
Info<< surfacePoints.size() << " point-pairs inserted" << endl;
if (controls_.writeInsertedPointPairs)
{
OFstream str(fName);
label vertI = 0;
forAll(surfacePoints, ppi)
{
meshTools::writeOBJ(str, surfacePoints[ppi]);
vertI++;
}
Info<< "insertPointPairs: Written " << surfacePoints.size()
<< " inserted point-pair locations to file "
<< str.name() << endl;
}
}
void Foam::CV3D::insertSurfaceNearestPointPairs()
{
Info<< "insertSurfaceNearestPointPairs: " << nl << endl;
label nSurfacePointsEst = number_of_vertices();
DynamicList<point> nearSurfacePoints(nSurfacePointsEst);
DynamicList<point> surfacePoints(nSurfacePointsEst);
DynamicList<label> surfaceTris(nSurfacePointsEst);
// Local references to surface mesh addressing
const pointField& localPoints = qSurf_.localPoints();
const labelListList& edgeFaces = qSurf_.edgeFaces();
const vectorField& faceNormals = qSurf_.faceNormals();
const labelListList& faceEdges = qSurf_.faceEdges();
for
(
Triangulation::Finite_vertices_iterator vit = finite_vertices_begin();
vit != finite_vertices_end();
vit++
)
{
if (vit->internalPoint())
{
point vert(topoint(vit->point()));
pointIndexHit pHit = qSurf_.tree().findNearest
(
vert,
4*controls_.minCellSize2
);
if (pHit.hit())
{
vit->setNearBoundary();
// Reference to the nearest triangle
const labelledTri& f = qSurf_[pHit.index()];
// Find where point is on triangle.
// Note tolerance needed is relative one
// (used in comparing normalized [0..1] triangle coordinates).
label nearType, nearLabel;
triPointRef
(
localPoints[f[0]],
localPoints[f[1]],
localPoints[f[2]]
).classify(pHit.hitPoint(), 1e-6, nearType, nearLabel);
// If point is on a edge check if it is an internal feature
bool internalFeatureEdge = false;
if (nearType == triPointRef::EDGE)
{
label edgeI = faceEdges[pHit.index()][nearLabel];
const labelList& eFaces = edgeFaces[edgeI];
if
(
eFaces.size() == 2
&& (faceNormals[eFaces[0]] & faceNormals[eFaces[1]])
< -0.2
)
{
internalFeatureEdge = true;
}
}
if (!internalFeatureEdge && dualCellSurfaceIntersection(vit))
{
nearSurfacePoints.append(vert);
surfacePoints.append(pHit.hitPoint());
surfaceTris.append(pHit.index());
}
}
}
}
insertPointPairs
(
nearSurfacePoints,
surfacePoints,
surfaceTris,
"surfaceNearestIntersections.obj"
);
}
// ************************************************************************* //

View File

@ -1,296 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*----------------------------------------------------------------------------*/
#include "querySurface.H"
#include "mathematicalConstants.H"
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::querySurface::querySurface(const fileName& surfaceFileName)
:
triSurface(surfaceFileName),
rndGen_(12345),
bb_(localPoints()),
tree_
(
treeDataTriSurface(*this),
bb_.extend(rndGen_, 1e-3), // slightly randomize bb
8, // maxLevel
4, //10, // leafsize
10.0 //3.0 // duplicity
)
{}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::querySurface::~querySurface()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
Foam::labelList Foam::querySurface::extractFeatures2D
(
const scalar featAngle
) const
{
scalar featCos = cos(mathematicalConstant::pi*featAngle/180.0);
const labelListList& edgeFaces = this->edgeFaces();
const pointField& localPoints = this->localPoints();
const edgeList& edges = this->edges();
const vectorField& faceNormals = this->faceNormals();
DynamicList<label> featEdges(edges.size());
forAll(edgeFaces, edgeI)
{
const edge& e = edges[edgeI];
if (magSqr(e.vec(localPoints) & vector(1,1,0)) < SMALL)
{
const labelList& eFaces = edgeFaces[edgeI];
if
(
eFaces.size() == 2
&& (faceNormals[eFaces[0]] & faceNormals[eFaces[1]]) < featCos
)
{
featEdges.append(edgeI);
}
}
}
return featEdges.shrink();
}
void Foam::querySurface::extractFeatures3D
(
const scalar featAngle,
labelList& featPoints,
labelListList& featPointFeatEdges
) const
{
scalar featCos = cos(mathematicalConstant::pi*featAngle/180.0);
const labelListList& edgeFaces = this->edgeFaces();
const labelListList& pointEdges = this->pointEdges();
const pointField& localPoints = this->localPoints();
// const edgeList& edges = this->edges();
const vectorField& faceNormals = this->faceNormals();
DynamicList<label> tempFeatPoints(localPoints.size());
DynamicList<DynamicList<label> > tempFeatPointFeatEdges(localPoints.size());
forAll(pointEdges, ptI)
{
// const point& p = localPoints[ptI];
// const vector& pNormal = pointNormals[ptI];
const labelList& pEdges = pointEdges[ptI];
DynamicList<label> tempFeatEdges(0);
forAll(pEdges, pE)
{
label edgeI = pEdges[pE];
const labelList& eFaces = edgeFaces[edgeI];
if
(
eFaces.size() == 2
&& (faceNormals[eFaces[0]] & faceNormals[eFaces[1]]) < featCos
)
{
tempFeatEdges.append(edgeI);
}
}
tempFeatEdges.shrink();
if(tempFeatEdges.size())
{
tempFeatPoints.append(ptI);
tempFeatPointFeatEdges.append(tempFeatEdges);
}
}
featPoints.transfer(tempFeatPoints.shrink());
tempFeatPointFeatEdges.shrink();
featPointFeatEdges.setSize(tempFeatPointFeatEdges.size());
forAll(featPointFeatEdges, fPFE)
{
featPointFeatEdges[fPFE].transfer(tempFeatPointFeatEdges[fPFE].shrink());
}
}
Foam::indexedOctree<Foam::treeDataTriSurface>::volumeType
Foam::querySurface::insideOutside
(
const scalar searchSpan2,
const point& pt
) const
{
if (!bb_.contains(pt))
{
return indexedOctree<treeDataTriSurface>::OUTSIDE;
}
pointIndexHit pHit = tree_.findNearest(pt, searchSpan2);
if (!pHit.hit())
{
return tree_.getVolumeType(pt);
}
else
{
return indexedOctree<treeDataTriSurface>::MIXED;
}
}
// Check if point is inside surface
bool Foam::querySurface::inside(const point& pt) const
{
if (!bb_.contains(pt))
{
return false;
}
return
(
tree_.getVolumeType(pt) == indexedOctree<treeDataTriSurface>::INSIDE
);
}
// Check if point is outside surface
bool Foam::querySurface::outside(const point& pt) const
{
if (!bb_.contains(pt))
{
return true;
}
return
(
tree_.getVolumeType(pt) == indexedOctree<treeDataTriSurface>::OUTSIDE
);
}
// Check if point is inside surface by at least dist2
bool Foam::querySurface::wellInside(const point& pt, const scalar dist2) const
{
if (!bb_.contains(pt))
{
return false;
}
pointIndexHit pHit = tree_.findNearest(pt, dist2);
if (pHit.hit())
{
return false;
}
else
{
return
tree_.getVolumeType(pt)
== indexedOctree<treeDataTriSurface>::INSIDE;
}
}
// Check if point is outside surface by at least dist2
bool Foam::querySurface::wellOutside(const point& pt, const scalar dist2) const
{
if (!bb_.contains(pt))
{
return true;
}
pointIndexHit pHit = tree_.findNearest(pt, dist2);
if (pHit.hit())
{
return false;
}
else
{
return
tree_.getVolumeType(pt)
== indexedOctree<treeDataTriSurface>::OUTSIDE;
}
}
void Foam::querySurface::writeTreeOBJ() const
{
OFstream str("tree.obj");
label vertI = 0;
const List<indexedOctree<treeDataTriSurface>::node>& nodes = tree_.nodes();
forAll(nodes, nodeI)
{
const indexedOctree<treeDataTriSurface>::node& nod = nodes[nodeI];
const treeBoundBox& bb = nod.bb_;
const pointField points(bb.points());
label startVertI = vertI;
forAll(points, i)
{
meshTools::writeOBJ(str, points[i]);
vertI++;
}
const edgeList edges(treeBoundBox::edges);
forAll(edges, i)
{
const edge& e = edges[i];
str << "l " << e[0]+startVertI+1 << ' ' << e[1]+startVertI+1
<< nl;
}
}
}
// ************************************************************************* //

View File

@ -1,158 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
querySurface
Description
Searchable triSurface using an octree to speed-up queries.
SourceFiles
querySurface.C
\*---------------------------------------------------------------------------*/
#ifndef querySurface_H
#define querySurface_H
#include "triSurface.H"
#include "treeDataTriSurface.H"
#include "indexedOctree.H"
#include "Random.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
/*---------------------------------------------------------------------------*\
Class querySurface Declaration
\*---------------------------------------------------------------------------*/
class querySurface
:
public triSurface
{
// Private data
Random rndGen_;
// Bounding box of surface. Used for relative tolerances.
treeBoundBox bb_;
// Search engine on surface
indexedOctree<treeDataTriSurface> tree_;
// Private Member Functions
//- Disallow default bitwise copy construct
querySurface(const querySurface&);
//- Disallow default bitwise assignment
void operator=(const querySurface&);
public:
// Constructors
//- Construct given file name of the surface
querySurface(const fileName& surfaceFileName);
// Destructor
~querySurface();
// Member Functions
// Access
const treeBoundBox& bb() const
{
return bb_;
}
const indexedOctree<treeDataTriSurface>& tree() const
{
return tree_;
}
// Query
//- Extract feature edges/points(2D)
// using the given feature angle in deg
labelList extractFeatures2D(const scalar featAngle) const;
//- Extract feature edges/points(3D)
// using the given feature angle in deg
void extractFeatures3D
(
const scalar featAngle,
labelList& featPoints,
labelListList& featPointFeatEdges
) const;
//- Returns inside, outside or mixed (= close to surface)
indexedOctree<Foam::treeDataTriSurface>::volumeType insideOutside
(
const scalar searchSpan2,
const point& pt
) const;
//- Check if point is inside surface
bool inside(const point& pt) const;
//- Check if point is outside surface
bool outside(const point& pt) const;
//- Check if point is inside surface by at least dist2
bool wellInside(const point& pt, const scalar dist2) const;
//- Check if point is outside surface by at least dist2
bool wellOutside(const point& pt, const scalar dist2) const;
// Write
void writeTreeOBJ() const;
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
//#include "querySurfaceI.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -1,54 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*----------------------------------------------------------------------------*/
#include "CV3D.H"
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::CV3D::tolerances::tolerances
(
const dictionary& controlDict,
const scalar minCellSize,
const boundBox& bb
)
:
span
(
max(mag(bb.max().x()), mag(bb.min().x()))
+ max(mag(bb.max().y()), mag(bb.min().y()))
+ max(mag(bb.max().z()), mag(bb.min().z()))
),
span2(Foam::sqr(span)),
minEdgeLen(readScalar(controlDict.lookup("minEdgeLenCoeff"))*minCellSize),
minEdgeLen2(Foam::sqr(minEdgeLen)),
ppDist(readScalar(controlDict.lookup("ppDistCoeff"))*minCellSize),
ppDist2(Foam::sqr(ppDist))
{}
// ************************************************************************* //