VirtualFluids 0.2.0
Parallel CFD LBM Solver
Loading...
Searching...
No Matches
GbObject3D Class Referenceabstract

This Interface provides basic 3D geometry objects methods. More...

#include <GbObject3D.h>

Inheritance diagram for GbObject3D:
ObObject UbObservable GbCuboid3D GbCylinder3D GbHalfSpaceKrischan3D GbLine3D GbObjectGroup3D GbPoint3D GbPolygon3D GbQuadFaceMesh3D GbSphere3D GbTriFaceMesh3D GbTriangle3D GbTriangularMesh3D GbVoxelMatrix3D

Public Member Functions

virtual ~GbObject3D ()=default
 
virtual void finalize ()=0
 
virtual double getX1Centroid ()=0
 
virtual double getX1Minimum ()=0
 
virtual double getX1Maximum ()=0
 
virtual double getX2Centroid ()=0
 
virtual double getX2Minimum ()=0
 
virtual double getX2Maximum ()=0
 
virtual double getX3Centroid ()=0
 
virtual double getX3Minimum ()=0
 
virtual double getX3Maximum ()=0
 
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 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
 
virtual bool isCellInsideGbObject3D (const double &x1a, const double &x2a, const double &x3a, const double &x1b, const double &x2b, const double &x3b)
 
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 GbLine3DcreateClippedLine3D (GbPoint3D &point1, GbPoint3D &point2)=0
 
virtual std::vector< GbTriangle3D * > getSurfaceTriangleSet ()=0
 
virtual void addSurfaceTriangleSet (std::vector< UbTupleFloat3 > &, std::vector< UbTupleInt3 > &)
 
virtual bool hasRaytracing ()
 
virtual bool raytracingSupportsPointsInside ()
 
virtual double getIntersectionRaytraceFactor (const double &, const double &, const double &, const double &, const double &, const double &)
 
- Public Member Functions inherited from ObObject
 ObObject ()=default
 
 ObObject (const std::string &name)
 
 ~ObObject () override=default
 
virtual ObObjectclone ()=0
 
virtual std::string getName ()
 
void setName (std::string name)
 
std::string toString () override=0
 
- 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 ()
 

Additional Inherited Members

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

Detailed Description

This Interface provides basic 3D geometry objects methods.

Definition at line 63 of file GbObject3D.h.

Constructor & Destructor Documentation

◆ ~GbObject3D()

virtual GbObject3D::~GbObject3D ( )
virtualdefault

Member Function Documentation

◆ addSurfaceTriangleSet()

virtual void GbObject3D::addSurfaceTriangleSet ( std::vector< UbTupleFloat3 > &  ,
std::vector< UbTupleInt3 > &   
)
inlinevirtual

◆ createClippedLine3D()

◆ finalize()

◆ getCellVolumeInsideGbObject3D()

virtual double GbObject3D::getCellVolumeInsideGbObject3D ( const double ,
const double ,
const double ,
const double ,
const double ,
const double  
)
inlinevirtual

Reimplemented in GbCuboid3D, GbHalfSpaceKrischan3D, GbObjectGroup3D, and GbSphere3D.

Definition at line 163 of file GbObject3D.h.

◆ getIntersectionRaytraceFactor()

virtual double GbObject3D::getIntersectionRaytraceFactor ( const double ,
const double ,
const double ,
const double ,
const double ,
const double  
)
inlinevirtual

Reimplemented in GbCuboid3D, GbCylinder3D, GbObjectGroup3D, GbSphere3D, GbTriangle3D, and GbVoxelMatrix3D.

Definition at line 185 of file GbObject3D.h.

◆ getLengthX1()

double GbObject3D::getLengthX1 ( )
inline

Definition at line 113 of file GbObject3D.h.

◆ getLengthX2()

double GbObject3D::getLengthX2 ( )
inline

Definition at line 114 of file GbObject3D.h.

◆ getLengthX3()

double GbObject3D::getLengthX3 ( )
inline

Definition at line 115 of file GbObject3D.h.

◆ getSurfaceTriangleSet()

◆ getX1Centroid()

virtual double GbObject3D::getX1Centroid ( )
pure virtual

Returns the centroid x1 coordinate of this 3D object.

Returns
the centroid x1 coordinate of this 3D object

Implemented in GbCuboid3D, GbCylinder3D, GbHalfSpaceKrischan3D, GbLine3D, GbObjectGroup3D, GbPoint3D, GbPolygon3D, GbQuadFaceMesh3D, GbSphere3D, GbTriangle3D, GbTriangularMesh3D, GbTriFaceMesh3D, and GbVoxelMatrix3D.

◆ getX1Maximum()

virtual double GbObject3D::getX1Maximum ( )
pure virtual

Returns the maximum x1 coordinate of this 3D object.

Returns
the maximum x1 coordinate of this 3D object

Implemented in GbCuboid3D, GbCylinder3D, GbHalfSpaceKrischan3D, GbLine3D, GbObjectGroup3D, GbPoint3D, GbPolygon3D, GbQuadFaceMesh3D, GbSphere3D, GbTriangle3D, GbTriangularMesh3D, GbTriFaceMesh3D, and GbVoxelMatrix3D.

◆ getX1Minimum()

virtual double GbObject3D::getX1Minimum ( )
pure virtual

Returns the minimum x1 coordinate of this 3D object.

Returns
the minimum x1 coordinate of this 3D object

Implemented in GbCuboid3D, GbCylinder3D, GbHalfSpaceKrischan3D, GbLine3D, GbObjectGroup3D, GbPoint3D, GbPolygon3D, GbQuadFaceMesh3D, GbSphere3D, GbTriangle3D, GbTriangularMesh3D, GbTriFaceMesh3D, and GbVoxelMatrix3D.

◆ getX2Centroid()

virtual double GbObject3D::getX2Centroid ( )
pure virtual

Returns the centroid x2 coordinate of this 3D object.

Returns
the centroid x2 coordinate of this 3D object

Implemented in GbCuboid3D, GbCylinder3D, GbHalfSpaceKrischan3D, GbLine3D, GbObjectGroup3D, GbPoint3D, GbPolygon3D, GbQuadFaceMesh3D, GbSphere3D, GbTriangle3D, GbTriangularMesh3D, GbTriFaceMesh3D, and GbVoxelMatrix3D.

◆ getX2Maximum()

virtual double GbObject3D::getX2Maximum ( )
pure virtual

Returns the maximum x2 coordinate of this 3D object.

Returns
the maximum x2 coordinate of this 3D object

Implemented in GbCuboid3D, GbCylinder3D, GbHalfSpaceKrischan3D, GbLine3D, GbObjectGroup3D, GbPoint3D, GbPolygon3D, GbQuadFaceMesh3D, GbSphere3D, GbTriangle3D, GbTriangularMesh3D, GbTriFaceMesh3D, and GbVoxelMatrix3D.

◆ getX2Minimum()

virtual double GbObject3D::getX2Minimum ( )
pure virtual

Returns the minimum x2 coordinate of this 3D object.

Returns
the minimum x2 coordinate of this 3D object

Implemented in GbCuboid3D, GbCylinder3D, GbHalfSpaceKrischan3D, GbLine3D, GbObjectGroup3D, GbPoint3D, GbPolygon3D, GbQuadFaceMesh3D, GbSphere3D, GbTriangle3D, GbTriangularMesh3D, GbTriFaceMesh3D, and GbVoxelMatrix3D.

◆ getX3Centroid()

◆ getX3Maximum()

virtual double GbObject3D::getX3Maximum ( )
pure virtual

Returns the maximum x2 coordinate of this 3D object.

Returns
the maximum x2 coordinate of this 3D object

Implemented in GbCuboid3D, GbCylinder3D, GbHalfSpaceKrischan3D, GbLine3D, GbObjectGroup3D, GbPoint3D, GbPolygon3D, GbQuadFaceMesh3D, GbSphere3D, GbTriangle3D, GbTriangularMesh3D, GbTriFaceMesh3D, and GbVoxelMatrix3D.

◆ getX3Minimum()

virtual double GbObject3D::getX3Minimum ( )
pure virtual

Returns the minimum x2 coordinate of this 3D object.

Returns
the minimum x2 coordinate of this 3D object

Implemented in GbCuboid3D, GbCylinder3D, GbHalfSpaceKrischan3D, GbLine3D, GbObjectGroup3D, GbPoint3D, GbPolygon3D, GbQuadFaceMesh3D, GbSphere3D, GbTriangle3D, GbTriangularMesh3D, GbTriFaceMesh3D, and GbVoxelMatrix3D.

◆ hasRaytracing()

virtual bool GbObject3D::hasRaytracing ( )
inlinevirtual

Reimplemented in GbCuboid3D, GbCylinder3D, GbObjectGroup3D, GbSphere3D, GbTriangle3D, and GbVoxelMatrix3D.

Definition at line 181 of file GbObject3D.h.

◆ isPointInGbObject3D() [1/2]

◆ isPointInGbObject3D() [2/2]

◆ raytracingSupportsPointsInside()

virtual bool GbObject3D::raytracingSupportsPointsInside ( )
inlinevirtual

Reimplemented in GbCylinder3D.

Definition at line 182 of file GbObject3D.h.

◆ rotate()

virtual void GbObject3D::rotate ( const double ,
const double ,
const double  
)
inlinevirtual

Reimplemented in GbObjectGroup3D, GbTriangularMesh3D, GbTriFaceMesh3D, GbCuboid3D, GbPoint3D, and GbSphere3D.

Definition at line 140 of file GbObject3D.h.

◆ scale()

virtual void GbObject3D::scale ( const double ,
const double ,
const double  
)
inlinevirtual

Reimplemented in GbObjectGroup3D, GbSphere3D, GbCuboid3D, GbCylinder3D, GbLine3D, GbPoint3D, and GbTriFaceMesh3D.

Definition at line 148 of file GbObject3D.h.

◆ setCenterCoordinates() [1/2]

virtual void GbObject3D::setCenterCoordinates ( const double ,
const double ,
const double  
)
inlinevirtual

Reimplemented in GbVoxelMatrix3D, GbCuboid3D, GbObjectGroup3D, GbSphere3D, GbTriFaceMesh3D, and GbVoxelMatrix3D.

Definition at line 129 of file GbObject3D.h.

◆ setCenterCoordinates() [2/2]

virtual void GbObject3D::setCenterCoordinates ( const UbTupleDouble3 )
inlinevirtual

Reimplemented in GbVoxelMatrix3D, GbCuboid3D, GbTriFaceMesh3D, and GbSphere3D.

Definition at line 133 of file GbObject3D.h.

◆ setCenterX1Coordinate()

virtual void GbObject3D::setCenterX1Coordinate ( const double )
inlinevirtual

Reimplemented in GbObjectGroup3D, and GbSphere3D.

Definition at line 117 of file GbObject3D.h.

◆ setCenterX2Coordinate()

virtual void GbObject3D::setCenterX2Coordinate ( const double )
inlinevirtual

Reimplemented in GbObjectGroup3D, and GbSphere3D.

Definition at line 121 of file GbObject3D.h.

◆ setCenterX3Coordinate()

virtual void GbObject3D::setCenterX3Coordinate ( const double )
inlinevirtual

Reimplemented in GbObjectGroup3D, and GbSphere3D.

Definition at line 125 of file GbObject3D.h.

◆ translate()

virtual void GbObject3D::translate ( const double ,
const double ,
const double  
)
inlinevirtual

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