Hauptseite | Liste aller Namensbereiche | Klassenhierarchie | Auflistung der Klassen | Verzeichnisse | Auflistung der Dateien | Klassen-Elemente | Datei-Elemente

geometObj Klassenreferenz

#include <geometObj.h>

Aufstellung aller Elemente

Öffentliche Typen

enum  geometIndex {
  twoDim = 0, Jaenecke_2Na = 1, Jaenecke_H2O = 2, Dichte_Danz = 3,
  Dichte_Monnin = 4, Dichte_Ezrochi = 5, Dichte_Durchschnitt = 6
}
enum  ShepType { global = 0, local = 1 }

Öffentliche Methoden

 geometObj (vector< Loesungspunkt > *KnotenvektorPtr, vector< Kante > *KantenvektorPtr, vector< Bodenkoerper > *BodenkoerpervektorPtr)
virtual ~geometObj ()
void triangleFaces (double SegmentSize, int regSubdivisionNr)
void update_z_value (vector< Loesungspunkt > *KnotenvektorPtr, int smoothFactor, int regSubdivisionNr, enum geometObj::geometIndex Index)
vector< geometPunkt > * getgeoLsgPunkte ()
vector< halfedge > * gethalfedges ()
vector< geometPunkt > * getgeoMinPunkte ()
vector< geometKante > * getgeoKanten ()
vector< geometKante > * get_dicke_geoKanten ()
vector< geometKante > * get_duenne_geoKanten ()
vector< geometFace > * getgeoFaces ()
vector< geometTriangle > * getdelaunayTriangles ()
vector< geometPunkt > * getdelaunayPoints ()
vector< vector< geometPunkt > > * getDelaunay_Steiner_points_perFace ()
vector< vector< geometTriangle > > * getCDTriangles_perFace ()
vector< vector< geometTriangle > > * getCDTriangles_perFace_lokaleId ()
vector< vector< geometTriangle > > * getCCDTriangles_perFace ()
vector< vector< geometPunkt > > * getPoints_perCDTriangle_ofFace ()
vector< vector< geometTriangle > > * getTriangles_perCDTriangle_ofFace ()
vector< Vector3D > * getShepard_points (void)
vector< vector< vector< double > > > get_shep_H2O_and_2Na_perFace (enum geometObj::ShepType Type)
vector< vector< vector< double > > > get_MeanValue_H2O_and_2Na_perFace ()
vector< double > get_shep_H2O_and_2Na_Point_in_Face (int FaceId, int CCDPointId, enum geometObj::ShepType Type)
vector< double > get_MeanValue_H2O_and_2Na_Point_in_Face (int FaceId, int CCDPointId)
geometPunkt get_shep_Point_in_Face (int FaceId, int CCDPointId, enum geometObj::geometIndex zAxis, enum geometObj::ShepType ShepardType)
geometPunkt get_MeanValue_Point_in_Face (int FaceId, int CCDPointId, enum geometObj::geometIndex zAxis)
vector< vector< geometPunkt > > * get_shep_Points_pro_Face_Vector (enum geometObj::geometIndex zAxis, enum geometObj::ShepType ShepardType)
vector< vector< geometPunkt > > * get_MeanValue_Points_pro_Face_Vector (enum geometObj::geometIndex zAxis)
void setSegmentLength (double SegmentLength)
double getSegmentLength (void)
double getMinSegmentLength (void)
double getMaxSegmentLength (void)
int getSmoothFactor (void)
int getSubdivisionNr (void)

Private Methoden

void geometDelaunay ()
void generateEdgeLength2D (int smoothFactor)
void generateSegments_InAllFaces (double SegmentLength)
void constrained_DelaunayTriangulationPerFace (int FaceIndex)
void constrained_conforming_DelaunayTriangulationPerFace (int FaceIndex)
void regular_subdivide_CDTrianglesOfFace (int FaceIndex, int N)
void prepareShepard_Arrays (enum geometIndex Index)
double shepg (const double u, const double v, const vector< Vector3D > inputpoints, const vector< vector< double > > zxzy, int &iflag, double q=2)
void shepard_interpolation_global (const vector< Vector3D > inputpoints, int &Flag, enum geometIndex Index, int Type)
void shepard_interpolation_per_face (const vector< Vector3D > inputpoints, int &Flag, int FaceNr, enum geometIndex Index, int Type)
double MeanValue_interpolation (const double &x, const double &y, const vector< Vector3D > &inputpoints)
void MeanValue_interpolation (enum geometIndex Index)

Private Attribute

vector< halfedgehalbKantenVektor
vector< geometKantegeoKantenVektor
vector< geometKanteduenne_geoKantenVektor
vector< geometKantedicke_geoKantenVektor
double maxKantenLaenge
double minKantenLaenge
double evKantenLaenge
int SmoothFactor
double SegmentLaenge
int Nr_of_regularSubdivision
vector< geometPunktgeoLsgPunkteVektor
vector< geometPunktgeoMinPunkteVektor
vector< geometFacegeoFacesVektor
vector< vector< winkelkante * > > Kanten_winkelsort
vector< geometPunktDelaunay_points
vector< geometTriangletriangles
vector< Vector3Dshepard_points
vector< vector< Vector3D > > shepard_points_perFace
vector< vector< geometPunkt > > Delaunay_Steiner_points_perFace
vector< vector< geometTriangle > > CDTriangles_perFace
vector< vector< geometTriangle > > CDTriangles_perFace_lokal
vector< vector< geometTriangle > > CCDTriangles_perFace
vector< vector< geometPunkt > > newPoints_perCDTriangle_ofFace
vector< vector< geometTriangle > > newTriangles_perCDTriangle_ofFace
vector< vector< vector< double > > > interpol_shep_H2O_proFace
vector< vector< vector< double > > > interpol_shep_2Na_proFace
vector< vector< vector< double > > > interpol_shep_Danz_proFace
vector< vector< vector< double > > > interpol_shep_Monnin_proFace
vector< vector< vector< double > > > interpol_shep_Ezrochi_proFace
vector< vector< vector< double > > > interpol_shep_DichteDurchschnitt_proFace
vector< vector< double > > interpol_meanValue_H2O_proFace
vector< vector< double > > interpol_meanValue_2Na_proFace
vector< vector< double > > interpol_meanValue_Danz_proFace
vector< vector< double > > interpol_meanValue_Monnin_proFace
vector< vector< double > > interpol_meanValue_Ezrochi_proFace
vector< vector< double > > interpol_meanValue_DichteDurchschnitt_proFace

Klassen

class  vergleichWinkelkanten


Dokumentation der Aufzählungstypen

enum geometObj::geometIndex
 

Aufzählungswerte:
twoDim 
Jaenecke_2Na 
Jaenecke_H2O 
Dichte_Danz 
Dichte_Monnin 
Dichte_Ezrochi 
Dichte_Durchschnitt 

enum geometObj::ShepType
 

Aufzählungswerte:
global 
local 


Beschreibung der Konstruktoren und Destruktoren

geometObj::geometObj vector< Loesungspunkt > *  KnotenvektorPtr,
vector< Kante > *  KantenvektorPtr,
vector< Bodenkoerper > *  BodenkoerpervektorPtr
 

geometObj::~geometObj  )  [virtual]
 


Dokumentation der Elementfunktionen

void geometObj::constrained_conforming_DelaunayTriangulationPerFace int  FaceIndex  )  [private]
 

void geometObj::constrained_DelaunayTriangulationPerFace int  FaceIndex  )  [private]
 

void geometObj::generateEdgeLength2D int  smoothFactor  )  [private]
 

void geometObj::generateSegments_InAllFaces double  SegmentLength  )  [private]
 

void geometObj::geometDelaunay  )  [private]
 

vector< geometKante > * geometObj::get_dicke_geoKanten  ) 
 

vector< geometKante > * geometObj::get_duenne_geoKanten  ) 
 

vector< vector< vector< double > > > geometObj::get_MeanValue_H2O_and_2Na_perFace  ) 
 

vector< double > geometObj::get_MeanValue_H2O_and_2Na_Point_in_Face int  FaceId,
int  CCDPointId
 

geometPunkt geometObj::get_MeanValue_Point_in_Face int  FaceId,
int  CCDPointId,
enum geometObj::geometIndex  zAxis
 

vector< vector< geometPunkt > > * geometObj::get_MeanValue_Points_pro_Face_Vector enum geometObj::geometIndex  zAxis  ) 
 

vector< vector< vector< double > > > geometObj::get_shep_H2O_and_2Na_perFace enum geometObj::ShepType  Type  ) 
 

vector< double > geometObj::get_shep_H2O_and_2Na_Point_in_Face int  FaceId,
int  CCDPointId,
enum geometObj::ShepType  Type
 

geometPunkt geometObj::get_shep_Point_in_Face int  FaceId,
int  CCDPointId,
enum geometObj::geometIndex  zAxis,
enum geometObj::ShepType  ShepardType
 

vector< vector< geometPunkt > > * geometObj::get_shep_Points_pro_Face_Vector enum geometObj::geometIndex  zAxis,
enum geometObj::ShepType  ShepardType
 

vector< vector< geometTriangle > > * geometObj::getCCDTriangles_perFace  ) 
 

vector< vector< geometTriangle > > * geometObj::getCDTriangles_perFace  ) 
 

vector< vector< geometTriangle > > * geometObj::getCDTriangles_perFace_lokaleId  ) 
 

vector< vector< geometPunkt > > * geometObj::getDelaunay_Steiner_points_perFace  ) 
 

vector< geometPunkt > * geometObj::getdelaunayPoints  ) 
 

vector< geometTriangle > * geometObj::getdelaunayTriangles  ) 
 

vector< geometFace > * geometObj::getgeoFaces  ) 
 

vector< geometKante > * geometObj::getgeoKanten  ) 
 

vector< geometPunkt > * geometObj::getgeoLsgPunkte  ) 
 

vector< geometPunkt > * geometObj::getgeoMinPunkte  ) 
 

vector< halfedge > * geometObj::gethalfedges  ) 
 

double geometObj::getMaxSegmentLength void   ) 
 

double geometObj::getMinSegmentLength void   ) 
 

vector< vector< geometPunkt > > * geometObj::getPoints_perCDTriangle_ofFace  ) 
 

double geometObj::getSegmentLength void   ) 
 

vector< Vector3D > * geometObj::getShepard_points void   ) 
 

int geometObj::getSmoothFactor void   ) 
 

int geometObj::getSubdivisionNr void   ) 
 

vector< vector< geometTriangle > > * geometObj::getTriangles_perCDTriangle_ofFace  ) 
 

void geometObj::MeanValue_interpolation enum geometIndex  Index  )  [private]
 

double geometObj::MeanValue_interpolation const double &  x,
const double &  y,
const vector< Vector3D > &  inputpoints
[private]
 

Diese Interpolationsmethode stützt sich auf die Methode, die Kai Hormann in seinem "Technical Report No. 5" "Barycentric Coordinates for Arbitrary Polygons in the Plane" beschreibt.

void geometObj::prepareShepard_Arrays enum geometIndex  Index  )  [private]
 

void geometObj::regular_subdivide_CDTrianglesOfFace int  FaceIndex,
int  N
[private]
 

void geometObj::setSegmentLength double  SegmentLength  ) 
 

void geometObj::shepard_interpolation_global const vector< Vector3D inputpoints,
int &  Flag,
enum geometIndex  Index,
int  Type
[private]
 

void geometObj::shepard_interpolation_per_face const vector< Vector3D inputpoints,
int &  Flag,
int  FaceNr,
enum geometIndex  Index,
int  Type
[private]
 

double geometObj::shepg const double  u,
const double  v,
const vector< Vector3D inputpoints,
const vector< vector< double > >  zxzy,
int &  iflag,
double  q = 2
[private]
 

Diese Methode der Shepard-Interpolation basiert auf einem FORTRAN-Code abgedruckt in dem Buch "Zweidimensionale Spline-Interpolations-Algorithmen von H. Späth, erschienen im Oldenbourg Verlag (1991), ISBN: 3-486-21807-7

Ich habe diese Mathode dahingehend erweitert, dass nun auch sinnvoll mit u,v - Paaren umgegangen wird, falls sie mit einem der Input-Punkte identisch sind, zudem können bei bekannten ersten partiellen Ableitungen (in x und y Richtung) an den Inputpunkten diese auch berücksichtigt werden.

Und weitherin habe ich noch eine Laufzeitverbesserung durch veränderte Implementation erreicht: Fortran-Code O(n^3) => C++ Code O(n)

void geometObj::triangleFaces double  SegmentSize,
int  regSubdivisionNr
 

void geometObj::update_z_value vector< Loesungspunkt > *  KnotenvektorPtr,
int  smoothFactor,
int  regSubdivisionNr,
enum geometObj::geometIndex  Index
 


Dokumentation der Datenelemente

vector<vector <geometTriangle> > geometObj::CCDTriangles_perFace [private]
 

vector<vector <geometTriangle> > geometObj::CDTriangles_perFace [private]
 

vector<vector <geometTriangle> > geometObj::CDTriangles_perFace_lokal [private]
 

vector<geometPunkt> geometObj::Delaunay_points [private]
 

vector<vector <geometPunkt> > geometObj::Delaunay_Steiner_points_perFace [private]
 

vector<geometKante> geometObj::dicke_geoKantenVektor [private]
 

vector<geometKante> geometObj::duenne_geoKantenVektor [private]
 

double geometObj::evKantenLaenge [private]
 

vector<geometFace> geometObj::geoFacesVektor [private]
 

vector<geometKante> geometObj::geoKantenVektor [private]
 

vector<geometPunkt> geometObj::geoLsgPunkteVektor [private]
 

vector<geometPunkt> geometObj::geoMinPunkteVektor [private]
 

vector<halfedge> geometObj::halbKantenVektor [private]
 

vector<vector <double > > geometObj::interpol_meanValue_2Na_proFace [private]
 

vector<vector <double > > geometObj::interpol_meanValue_Danz_proFace [private]
 

vector<vector <double > > geometObj::interpol_meanValue_DichteDurchschnitt_proFace [private]
 

vector<vector <double > > geometObj::interpol_meanValue_Ezrochi_proFace [private]
 

vector<vector <double > > geometObj::interpol_meanValue_H2O_proFace [private]
 

vector<vector <double > > geometObj::interpol_meanValue_Monnin_proFace [private]
 

vector<vector <vector <double > > > geometObj::interpol_shep_2Na_proFace [private]
 

vector<vector <vector <double > > > geometObj::interpol_shep_Danz_proFace [private]
 

vector<vector <vector <double > > > geometObj::interpol_shep_DichteDurchschnitt_proFace [private]
 

vector<vector <vector <double > > > geometObj::interpol_shep_Ezrochi_proFace [private]
 

vector<vector <vector <double > > > geometObj::interpol_shep_H2O_proFace [private]
 

vector<vector <vector <double > > > geometObj::interpol_shep_Monnin_proFace [private]
 

vector< vector<winkelkante*> > geometObj::Kanten_winkelsort [private]
 

double geometObj::maxKantenLaenge [private]
 

double geometObj::minKantenLaenge [private]
 

vector<vector <geometPunkt> > geometObj::newPoints_perCDTriangle_ofFace [private]
 

vector<vector <geometTriangle> > geometObj::newTriangles_perCDTriangle_ofFace [private]
 

int geometObj::Nr_of_regularSubdivision [private]
 

double geometObj::SegmentLaenge [private]
 

vector<Vector3D> geometObj::shepard_points [private]
 

vector<vector <Vector3D> > geometObj::shepard_points_perFace [private]
 

int geometObj::SmoothFactor [private]
 

vector<geometTriangle> geometObj::triangles [private]
 


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien:
Erzeugt am Wed Apr 19 00:19:12 2006 für Quinview von  doxygen 1.4.4