| FEAT 3
    Finite Element Analysis Toolbox | 
Voxel masker implementation for lambda expression tests. More...
#include <voxel_map.hpp>
 
  
| Public Types | |
| typedef VoxelMasker< CoordType_, dim_ > | BaseClass | 
| typedef CoordType_ | CoordType | 
| the coordinate type  More... | |
| typedef Tiny::Vector< CoordType_, dim_ > | PointType | 
| the point type  More... | |
| Public Member Functions | |
| VoxelLambdaMasker (Lambda_ &&lambda) | |
| Constructor.  More... | |
| virtual void | mask_line (std::vector< int > &mask, const CoordType x_min, const CoordType x_max, const PointType &point) override | 
| Computes the mask for an entire X-coordinate row.  More... | |
| Static Public Member Functions | |
| static CoordType | x_coord (const CoordType x_min, const CoordType x_max, const std::size_t i, const std::size_t n) | 
| Computes the X-coordinate for a given point.  More... | |
| Public Attributes | |
| Lambda_ | _lambda | 
| the lambda expression  More... | |
Voxel masker implementation for lambda expression tests.
This class implements the voxel masker interface by evaluating a user-supplied lambda expression, which performs the inside/outside test for each point. A point is considered to be inside if the lambda expression evaluates to true.
Definition at line 248 of file voxel_map.hpp.
| typedef VoxelMasker<CoordType_, dim_> FEAT::Geometry::VoxelLambdaMasker< Lambda_, CoordType_, dim_ >::BaseClass | 
Definition at line 252 of file voxel_map.hpp.
| typedef CoordType_ FEAT::Geometry::VoxelMasker< CoordType_, dim_ >::CoordType | 
the coordinate type
Definition at line 74 of file voxel_map.hpp.
| typedef Tiny::Vector<CoordType_, dim_> FEAT::Geometry::VoxelMasker< CoordType_, dim_ >::PointType | 
the point type
Definition at line 76 of file voxel_map.hpp.
| 
 | inlineexplicit | 
Constructor.
| [in] | lambda | The lambda expression that is to be used to perform the inside/outside test. The lambda expression is expected to take a const reference to a PointType object as a sole input parameter and to return either true or false depending on whether the point is inside or outside. | 
Definition at line 268 of file voxel_map.hpp.
| 
 | inlineoverridevirtual | 
Computes the mask for an entire X-coordinate row.
This function is called by the VoxelMap class to perform the inside/outside-test for a line of points with common Y/Z coordinates, where the X coordinates of the points have to be computed from the X-coordinate range and the number points by calling the x_coord helper function.
| [in,out] | mask | The mask vector for the current X-row. Is allocated to correct size, but its contents are undefined upon entry. Assuming that the length of this vector is n, then the i-th entry of the mask vector is to be set to 1 if the point with the X-coordinate equal to x_coord(x_min, x_max, i, mask.size()) is inside the mask, otherwise it is to be set to 0. | 
| [in] | x_min,x_max | The minimal and maximal X-coordinate of the X-line for which the mask is to be computed. | 
| [in] | point | The point that contains the Y- and (in 3D) Z-coordinates of the X-line that for which the mask is to be computed. The first coordinate, i.e. point[0], is undefined, so only point[1] and (in 3D) point[2] are set to the Y-/Z-coords. | 
Implements FEAT::Geometry::VoxelMasker< CoordType_, dim_ >.
Definition at line 273 of file voxel_map.hpp.
References FEAT::Geometry::VoxelLambdaMasker< Lambda_, CoordType_, dim_ >::_lambda, and FEAT::Geometry::VoxelMasker< CoordType_, dim_ >::x_coord().
| 
 | inlinestaticinherited | 
Computes the X-coordinate for a given point.
This helper function can be used by derived classes to compute the X-coordinate for a single point on the mask line.
| [in] | x_min,x_max | The minimal and maximal X-coordinate of the X-line for which the mask is to be computed. | 
| [in] | i | The index of the current point in the X-line that is being tested | 
| [in] | n | The number of points in the line; corresponds to mask.size() | 
Definition at line 101 of file voxel_map.hpp.
Referenced by FEAT::Geometry::VoxelLambdaMasker< Lambda_, CoordType_, dim_ >::mask_line().
| Lambda_ FEAT::Geometry::VoxelLambdaMasker< Lambda_, CoordType_, dim_ >::_lambda | 
the lambda expression
Definition at line 258 of file voxel_map.hpp.
Referenced by FEAT::Geometry::VoxelLambdaMasker< Lambda_, CoordType_, dim_ >::mask_line().