VirtualFluids 0.2.0
Parallel CFD LBM Solver
Loading...
Searching...
No Matches
GbTriangle3D Class Reference

This Class provides basic 3D triangle objects. More...

#include <GbTriangle3D.h>

Inheritance diagram for GbTriangle3D:
GbObject3D UbObserver ObObject UbObservable

Public Member Functions

 GbTriangle3D ()
 
 GbTriangle3D (GbPoint3D *point1, GbPoint3D *point2, GbPoint3D *point3)
 
 GbTriangle3D (GbTriangle3D *triangle)
 
 ~GbTriangle3D () override
 
GbTriangle3Dclone () override
 
void finalize () override
 
GbPoint3DgetPoint1 ()
 
GbPoint3DgetPoint2 ()
 
GbPoint3DgetPoint3 ()
 
GbVector3D getNormal ()
 
void calculateNormal ()
 
void deletePoints ()
 
int contains (GbPoint3D *point)
 
int containsEqual (GbPoint3D *point)
 
GbPoint3DgetPoint (const int &index)
 
std::vector< GbPoint3DgetPoints ()
 
double getArea ()
 
double getX1Centroid () override
 
double getX1Minimum () override
 
double getX1Maximum () override
 
double getX2Centroid () override
 
double getX2Minimum () override
 
double getX2Maximum () override
 
double getX3Centroid () override
 
double getX3Minimum () override
 
double getX3Maximum () override
 
void setInconsistent ()
 
void setPoint (GbPoint3D *point, int index)
 
std::vector< GbTriangle3D * > getSurfaceTriangleSet () override
 
bool isPointInGbObject3D (const double &, const double &, const double &) override
 
bool isPointInGbObject3D (const double &, const double &, const double &, bool &pointIsOnBoundary) override
 
bool isCellInsideGbObject3D (const double &, const double &, const double &, const double &, const double &, const double &) override
 
double getDistanceFromPoint (GbVector3D punct)
 
std::string toString () override
 
bool hasRaytracing () override
 
double getIntersectionRaytraceFactor (const double &x1, const double &x2, const double &x3, const double &rx1, const double &rx2, const double &rx3) override
 
GbPoint3DcalculateIntersectionPoints3D (GbLine3D *line)
 
GbPoint3DcalculateIntersectionPoints3D (GbPoint3D *linePoint1, GbPoint3D *linePoint2)
 
double calculateDistanceToPoint3D (GbPoint3D *point)
 
double calculateDistanceToPoint3D (const double &x1, const double &x2, const double &x3)
 
double calculateNormalizedDistanceToPoint3D (const double &x1, const double &y1, const double &z1, const double &x2, const double &y2, const double &z2)
 
bool enclosesPoint2D (double x1, double x2)
 
GbPolygon3DcreateClippedPolygon3D (GbCuboid3D *cube)
 

 
GbLine3DcreateClippedLine3D (GbPoint3D &point1, GbPoint3D &point2) override
 
GbPolygon3DcreateClippedPolygon3D (const double &p1x1, const double &p1x2, const double &p1x3, const double &p2x1, const double &p2x2, const double &p2x3)
 

 
virtual void calculateValues ()
 
void objectChanged (UbObservable *changedObject) override
 ! quick and dirty von sirann !!
 
void objectWillBeDeleted (UbObservable *objectForDeletion) override
 
virtual bool isPointInGbObject3D (GbPoint3D *p)
 
virtual bool isPointInGbObject3D (const double &x1, const double &x2, const double &x3, bool &pointIsOnBoundary)=0
 
virtual bool isPointInGbObject3D (const double &x1, const double &x2, const double &x3)=0
 
- Public Member Functions inherited from GbObject3D
virtual ~GbObject3D ()=default
 
double getLengthX1 ()
 
double getLengthX2 ()
 
double getLengthX3 ()
 
virtual void setCenterX1Coordinate (const double &)
 
virtual void setCenterX2Coordinate (const double &)
 
virtual void setCenterX3Coordinate (const double &)
 
virtual void setCenterCoordinates (const double &, const double &, const double &)
 
virtual void setCenterCoordinates (const UbTupleDouble3 &)
 
virtual void rotate (const double &, const double &, const double &)
 
virtual void translate (const double &, const double &, const double &)
 
virtual void scale (const double &, const double &, const double &)
 
virtual bool isCellCuttingGbObject3D (const double &x1a, const double &x2a, const double &x3a, const double &x1b, const double &x2b, const double &x3b)
 
virtual bool isCellInsideOrCuttingGbObject3D (const double &x1a, const double &x2a, const double &x3a, const double &x1b, const double &x2b, const double &x3b)
 
virtual double getCellVolumeInsideGbObject3D (const double &, const double &, const double &, const double &, const double &, const double &)
 
virtual bool isInsideCell (const double &minX1, const double &minX2, const double &minX3, const double &maxX1, const double &maxX2, const double &maxX3)
 
virtual void addSurfaceTriangleSet (std::vector< UbTupleFloat3 > &, std::vector< UbTupleInt3 > &)
 
virtual bool raytracingSupportsPointsInside ()
 
- Public Member Functions inherited from ObObject
 ObObject ()=default
 
 ObObject (const std::string &name)
 
 ~ObObject () override=default
 
virtual std::string getName ()
 
void setName (std::string name)
 
- Public Member Functions inherited from UbObservable
virtual ~UbObservable ()
 
virtual void addObserver (UbObserver *observer)
 
virtual void removeObserver (UbObserver *observer)
 
virtual void removeAllObservers ()
 
virtual bool isObservedBy (UbObserver *observer)
 
virtual void notifyObserversObjectChanged ()
 
std::list< UbObserver * > * getObserverList ()
 
- Public Member Functions inherited from UbObserver
virtual ~UbObserver ()=default
 

Protected Attributes

bool consistent
 
double x1s
 
double x2s
 
double x3s
 
double x1min
 
double x1max
 
double x2min
 
double x2max
 
double x3min
 
double x3max
 
double area
 
GbVector3D normal
 
std::vector< GbPoint3D * > points
 

Additional Inherited Members

- Protected Member Functions inherited from UbObservable
 UbObservable ()=default
 
 UbObservable (const UbObservable &)
 
UbObservableoperator= (const UbObservable &)
 
- Protected Member Functions inherited from UbObserver
 UbObserver ()=default
 

Detailed Description

This Class provides basic 3D triangle objects.

The describing points are observed by 2D triangle objects.

Definition at line 58 of file GbTriangle3D.h.

Member Function Documentation

◆ finalize()

void GbTriangle3D::finalize ( )
inlineoverridevirtual

Implements GbObject3D.

Definition at line 72 of file GbTriangle3D.h.

◆ getPoint1()

GbPoint3D * GbTriangle3D::getPoint1 ( )
inline

Definition at line 74 of file GbTriangle3D.h.

◆ getPoint2()

GbPoint3D * GbTriangle3D::getPoint2 ( )
inline

Definition at line 75 of file GbTriangle3D.h.

◆ getPoint3()

GbPoint3D * GbTriangle3D::getPoint3 ( )
inline

Definition at line 76 of file GbTriangle3D.h.

◆ hasRaytracing()

bool GbTriangle3D::hasRaytracing ( )
inlineoverridevirtual

Reimplemented from GbObject3D.

Definition at line 134 of file GbTriangle3D.h.

◆ isCellInsideGbObject3D()

bool GbTriangle3D::isCellInsideGbObject3D ( const double ,
const double ,
const double ,
const double ,
const double ,
const double  
)
inlineoverridevirtual

Reimplemented from GbObject3D.

Definition at line 118 of file GbTriangle3D.h.

◆ isPointInGbObject3D() [1/5]

bool GbTriangle3D::isPointInGbObject3D ( const double ,
const double ,
const double  
)
inlineoverridevirtual

Implements GbObject3D.

Definition at line 104 of file GbTriangle3D.h.

◆ isPointInGbObject3D() [2/5]

bool GbTriangle3D::isPointInGbObject3D ( const double ,
const double ,
const double ,
bool pointIsOnBoundary 
)
inlineoverridevirtual

Implements GbObject3D.

Definition at line 110 of file GbTriangle3D.h.

◆ isPointInGbObject3D() [3/5]

virtual bool GbObject3D::isPointInGbObject3D ( const double x1,
const double x2,
const double x3 
)
virtual

Implements GbObject3D.

◆ isPointInGbObject3D() [4/5]

virtual bool GbObject3D::isPointInGbObject3D ( const double x1,
const double x2,
const double x3,
bool pointIsOnBoundary 
)
virtual

Implements GbObject3D.

◆ isPointInGbObject3D() [5/5]

bool GbObject3D::isPointInGbObject3D ( GbPoint3D p)
virtual

Reimplemented from GbObject3D.

Definition at line 153 of file GbObject3D.cpp.

◆ objectChanged()

void GbTriangle3D::objectChanged ( UbObservable changedObject)
inlineoverridevirtual

! quick and dirty von sirann !!

Implements UbObserver.

Definition at line 170 of file GbTriangle3D.h.

◆ objectWillBeDeleted()

void GbTriangle3D::objectWillBeDeleted ( UbObservable objectForDeletion)
inlineoverridevirtual

This function is called when the observable indicated that an object should be deleted.

Parameters
objectForDeletionObject which should be deleted

Implements UbObserver.

Definition at line 178 of file GbTriangle3D.h.

◆ setInconsistent()

void GbTriangle3D::setInconsistent ( )
inline

Definition at line 98 of file GbTriangle3D.h.

Member Data Documentation

◆ area

double GbTriangle3D::area
protected

Definition at line 214 of file GbTriangle3D.h.

◆ consistent

bool GbTriangle3D::consistent
protected

Definition at line 204 of file GbTriangle3D.h.

◆ normal

GbVector3D GbTriangle3D::normal
protected

Definition at line 216 of file GbTriangle3D.h.

◆ points

std::vector<GbPoint3D *> GbTriangle3D::points
protected

Definition at line 217 of file GbTriangle3D.h.

◆ x1max

double GbTriangle3D::x1max
protected

Definition at line 209 of file GbTriangle3D.h.

◆ x1min

double GbTriangle3D::x1min
protected

Definition at line 208 of file GbTriangle3D.h.

◆ x1s

double GbTriangle3D::x1s
protected

Definition at line 205 of file GbTriangle3D.h.

◆ x2max

double GbTriangle3D::x2max
protected

Definition at line 211 of file GbTriangle3D.h.

◆ x2min

double GbTriangle3D::x2min
protected

Definition at line 210 of file GbTriangle3D.h.

◆ x2s

double GbTriangle3D::x2s
protected

Definition at line 206 of file GbTriangle3D.h.

◆ x3max

double GbTriangle3D::x3max
protected

Definition at line 213 of file GbTriangle3D.h.

◆ x3min

double GbTriangle3D::x3min
protected

Definition at line 212 of file GbTriangle3D.h.

◆ x3s

double GbTriangle3D::x3s
protected

Definition at line 207 of file GbTriangle3D.h.


The documentation for this class was generated from the following files: