|
FEAT 3
Finite Element Analysis Toolbox
|
Utility class for casting rays originating from a mesh vertex. More...
#include <raycast.hpp>
Public Types | |
| using | DataType = typename MeshType::CoordType |
| Data type. More... | |
| using | IntersectionDataType = IntersectionData< DataType > |
| Intersection data type. More... | |
| using | IntersectionResultType = std::optional< IntersectionDataType > |
| Intersection result type. More... | |
| using | MeshType = MeshType_ |
| Mesh type. More... | |
| using | Vector = typename MeshType::VertexType |
| Vector type. More... | |
Public Member Functions | |
| VertexRaycaster (const MeshType &mesh) | |
| Constructor. More... | |
| IntersectionResultType | cast (const Index vertex, const Vector &direction) const |
| Cast a ray from the given vertex in the given direction. More... | |
Static Public Attributes | |
| static constexpr int | facet_dim = shape_dim - 1 |
| Dimension of the facets to test against. More... | |
| static constexpr int | shape_dim = MeshType::shape_dim |
| Dimension of the mesh shape. More... | |
Protected Attributes | |
| Adjacency::Graph | _c_at_v |
| Precomputes mapping from vertices to adjacent shape_dim-cells. More... | |
| const MeshType & | _mesh |
| Reference to mesh. More... | |
Utility class for casting rays originating from a mesh vertex.
Definition at line 462 of file raycast.hpp.
| using FEAT::Geometry::VertexRaycaster< MeshType_ >::DataType = typename MeshType::CoordType |
Data type.
Definition at line 469 of file raycast.hpp.
| using FEAT::Geometry::VertexRaycaster< MeshType_ >::IntersectionDataType = IntersectionData<DataType> |
Intersection data type.
Definition at line 472 of file raycast.hpp.
| using FEAT::Geometry::VertexRaycaster< MeshType_ >::IntersectionResultType = std::optional<IntersectionDataType> |
Intersection result type.
Definition at line 475 of file raycast.hpp.
| using FEAT::Geometry::VertexRaycaster< MeshType_ >::MeshType = MeshType_ |
Mesh type.
Definition at line 466 of file raycast.hpp.
| using FEAT::Geometry::VertexRaycaster< MeshType_ >::Vector = typename MeshType::VertexType |
Vector type.
Definition at line 478 of file raycast.hpp.
|
inlineexplicit |
Constructor.
Definition at line 495 of file raycast.hpp.
|
inline |
Cast a ray from the given vertex in the given direction.
| [in] | vertex | Index of origin vertex |
| [in] | direction | Direction to cast ray in |
Itersections are checked with all facets of all cells adjacent to the given vertex.
t_exit to determine how far a ray reached into the mesh. Definition at line 516 of file raycast.hpp.
References FEAT::Geometry::VertexRaycaster< MeshType_ >::_c_at_v, FEAT::Geometry::VertexRaycaster< MeshType_ >::_mesh, FEAT::Math::abs(), FEAT::Adjacency::CompositeAdjactor< Adj1_, Adj2_ >::image_begin(), FEAT::Adjacency::CompositeAdjactor< Adj1_, Adj2_ >::image_end(), FEAT::Geometry::IntersectionData< DT_ >::t_entry, and FEAT::Geometry::IntersectionData< DT_ >::t_exit.
|
protected |
Precomputes mapping from vertices to adjacent shape_dim-cells.
Definition at line 491 of file raycast.hpp.
Referenced by FEAT::Geometry::VertexRaycaster< MeshType_ >::cast().
|
protected |
Reference to mesh.
Definition at line 488 of file raycast.hpp.
Referenced by FEAT::Geometry::VertexRaycaster< MeshType_ >::cast().
|
staticconstexpr |
Dimension of the facets to test against.
Definition at line 484 of file raycast.hpp.
|
staticconstexpr |
Dimension of the mesh shape.
Definition at line 481 of file raycast.hpp.