$treeview $search $mathjax
|
Palabos
Version 1.1
$projectbrief
|
$projectbrief
|
$searchbox |
#include <boundaryShapes3D.h>


Public Member Functions | |
| BoundaryShapeIntersection3D () | |
| virtual | ~BoundaryShapeIntersection3D () |
| BoundaryShapeIntersection3D (BoundaryShapeIntersection3D< T, SurfaceData > const &rhs) | |
| BoundaryShapeIntersection3D< T, SurfaceData > & | operator= (BoundaryShapeIntersection3D< T, SurfaceData > const &rhs) |
| void | swap (BoundaryShapeIntersection3D< T, SurfaceData > &rhs) |
| void | addComponent (BoundaryShape3D< T, SurfaceData > *component) |
| virtual bool | isInside (Array< T, 3 > const &location) const |
| virtual bool | isInside (Array< T, 3 > const &location, T epsilon) const |
| virtual bool | pointOnSurface (Array< T, 3 > const &fromPoint, Array< T, 3 > const &direction, Array< T, 3 > &locatedPoint, T &distance, Array< T, 3 > &wallNormal, SurfaceData &surfaceData, OffBoundary::Type &bdType, plint &id) const |
| virtual bool | intersectsSurface (Array< T, 3 > const &p1, Array< T, 3 > const &p2, plint &id) const |
| Say if a given segment intersects the surface. | |
| virtual bool | distanceToSurface (Array< T, 3 > const &point, T &distance, bool &isBehind) const |
| virtual plint | getTag (plint id) const |
| virtual BoundaryShapeIntersection3D< T, SurfaceData > * | clone () const |
| Plain clone function. | |
| plb::BoundaryShapeIntersection3D< T, SurfaceData >::BoundaryShapeIntersection3D | ( | ) | [inline] |
| plb::BoundaryShapeIntersection3D< T, SurfaceData >::~BoundaryShapeIntersection3D | ( | ) | [inline, virtual] |
| plb::BoundaryShapeIntersection3D< T, SurfaceData >::BoundaryShapeIntersection3D | ( | BoundaryShapeIntersection3D< T, SurfaceData > const & | rhs | ) | [inline] |
| void plb::BoundaryShapeIntersection3D< T, SurfaceData >::addComponent | ( | BoundaryShape3D< T, SurfaceData > * | component | ) | [inline] |
| BoundaryShapeIntersection3D< T, SurfaceData > * plb::BoundaryShapeIntersection3D< T, SurfaceData >::clone | ( | ) | const [inline, virtual] |
Plain clone function.
Implements plb::BoundaryShape3D< T, SurfaceData >.
| bool plb::BoundaryShapeIntersection3D< T, SurfaceData >::distanceToSurface | ( | Array< T, 3 > const & | point, | |
| T & | distance, | |||
| bool & | isBehind | |||
| ) | const [inline, virtual] |
Get the shortest distance to the wall. Returns true in case of success. The flag isBehind indicates if the point is "behind" the wall, i.e. in the direction opposite to the wall normal.
Implements plb::BoundaryShape3D< T, SurfaceData >.
| plint plb::BoundaryShapeIntersection3D< T, SurfaceData >::getTag | ( | plint | id | ) | const [inline, virtual] |
Return the tag (id of boundary-portion with specific boundary, condition); the id is the one returned by pointOnSurface.
Implements plb::BoundaryShape3D< T, SurfaceData >.
| bool plb::BoundaryShapeIntersection3D< T, SurfaceData >::intersectsSurface | ( | Array< T, 3 > const & | p1, | |
| Array< T, 3 > const & | p2, | |||
| plint & | id | |||
| ) | const [inline, virtual] |
Say if a given segment intersects the surface.
Implements plb::BoundaryShape3D< T, SurfaceData >.
References plb::doesIntersect(), and plb::BoundaryShapeIntersection3D< T, SurfaceData >::pointOnSurface().
| bool plb::BoundaryShapeIntersection3D< T, SurfaceData >::isInside | ( | Array< T, 3 > const & | location, | |
| T | epsilon | |||
| ) | const [inline, virtual] |
| bool plb::BoundaryShapeIntersection3D< T, SurfaceData >::isInside | ( | Array< T, 3 > const & | location | ) | const [inline, virtual] |
| BoundaryShapeIntersection3D< T, SurfaceData > & plb::BoundaryShapeIntersection3D< T, SurfaceData >::operator= | ( | BoundaryShapeIntersection3D< T, SurfaceData > const & | rhs | ) | [inline] |
| bool plb::BoundaryShapeIntersection3D< T, SurfaceData >::pointOnSurface | ( | Array< T, 3 > const & | fromPoint, | |
| Array< T, 3 > const & | direction, | |||
| Array< T, 3 > & | locatedPoint, | |||
| T & | distance, | |||
| Array< T, 3 > & | wallNormal, | |||
| SurfaceData & | surfaceData, | |||
| OffBoundary::Type & | bdType, | |||
| plint & | id | |||
| ) | const [inline, virtual] |
Get the distance to the wall, and the velocity value on the wall, from a given real-valued position (in lattice units), and along a given direction. Returns true if there exists an intersection along the indicated direction. ATTENTION: The id is an in-and-out value. If you know the right id of the surface intersection (e.g. the triangle ID in case of a triangular mesh) you can provide it to speed up the calculation. However, if you don't know it, you MUST provide the value -1, because otherwise the result might be wrong.
Implements plb::BoundaryShape3D< T, SurfaceData >.
References plb::doesIntersect().
Referenced by plb::BoundaryShapeIntersection3D< T, SurfaceData >::intersectsSurface().
| void plb::BoundaryShapeIntersection3D< T, SurfaceData >::swap | ( | BoundaryShapeIntersection3D< T, SurfaceData > & | rhs | ) | [inline] |
1.6.3
1.6.3