KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
Protected Member Functions | List of all members
Kratos::ApplyRayCastingProcess< TDim > Class Template Reference

Applies ray casting to distinguish the color (like in/out) of each node in modelpart. More...

#include <apply_ray_casting_process.h>

Inheritance diagram for Kratos::ApplyRayCastingProcess< TDim >:
Collaboration diagram for Kratos::ApplyRayCastingProcess< TDim >:

Public Member Functions

Life Cycle
 ApplyRayCastingProcess (ModelPart &rVolumePart, ModelPart &rSkinPart, Parameters ThisParameters=Parameters())
 Construct a new ApplyRayCastingProcess object using volume and skin model parts Constructor without user defined extra rays epsilon, used to generate the extra rays when voting is required for coloring. More...
 
 ApplyRayCastingProcess (ModelPart &rVolumePart, ModelPart &rSkinPart, const double RelativeTolerance)
 Construct a new ApplyRayCastingProcess object using volume and skin model parts. More...
 
 ApplyRayCastingProcess (FindIntersectedGeometricalObjectsProcess &TheFindIntersectedObjectsProcess, Parameters ThisParameters=Parameters())
 Construct a new Apply Ray Casting Process object using an already created search strucutre. More...
 
 ApplyRayCastingProcess (FindIntersectedGeometricalObjectsProcess &TheFindIntersectedObjectsProcess, const double RelativeTolerance, const Variable< double > *pDistanceVariable, const DistanceDatabase &rDistanceDatabase)
 Construct a new Apply Ray Casting Process object using an already created search strucutre. More...
 
 ~ApplyRayCastingProcess () override
 Destructor. More...
 
Deleted
 ApplyRayCastingProcess ()
 Default constructor, needed for registry. More...
 
 ApplyRayCastingProcess (ApplyRayCastingProcess const &rOther)=delete
 Copy constructor. More...
 
ApplyRayCastingProcessoperator= (ApplyRayCastingProcess const &rOther)=delete
 Assignment operator. More...
 
Operations
const Parameters GetDefaultParameters () const override
 This method provides the defaults parameters to avoid conflicts between the different constructors. More...
 
virtual double DistancePositionInSpace (const Node &rNode)
 Computes the raycasting distance for a node This method computes the raycasting distance for a given node. It casts a ray in the x and y (as well as z in 3D) directions and computes the distance from the ray origin point (the node of interest) to each one of the intersecting objects. More...
 
virtual void GetRayIntersections (const double *ray, const unsigned int direction, std::vector< std::pair< double, Element::GeometryType * > > &rIntersections)
 Get the ray intersecting objects and its distance For a given ray and direction, this method search for all the intersecting entities to this ray. This operation is performed using the binary octree in the discontinuous distance base class to check each one of the cells crossed by the ray. More...
 
virtual int GetCellIntersections (OctreeType::cell_type *cell, const double *ray, OctreeType::key_type *ray_key, const unsigned int direction, std::vector< std::pair< double, Element::GeometryType * > > &rIntersections)
 Get the intersecting objects contained in the current cell. More...
 
void Execute () override
 Executes the ApplyRayCastingProcess This method automatically does all the calls required to compute the signed distance function. More...
 
Input and output
std::string Info () const override
 Turn back information as a string. More...
 
void PrintInfo (std::ostream &rOStream) const override
 Print information about this object. More...
 
void PrintData (std::ostream &rOStream) const override
 Print object's data. More...
 
- Public Member Functions inherited from Kratos::Process
 KRATOS_CLASS_POINTER_DEFINITION (Process)
 Pointer definition of Process. More...
 
 Process ()
 Default constructor. More...
 
 Process (const Flags options)
 
 ~Process () override
 Destructor. More...
 
void operator() ()
 This operator is provided to call the process as a function and simply calls the Execute method. More...
 
virtual Process::Pointer Create (Model &rModel, Parameters ThisParameters)
 This method creates an pointer of the process. More...
 
virtual void ExecuteInitialize ()
 This function is designed for being called at the beginning of the computations right after reading the model and the groups. More...
 
virtual void ExecuteBeforeSolutionLoop ()
 This function is designed for being execute once before the solution loop but after all of the solvers where built. More...
 
virtual void ExecuteInitializeSolutionStep ()
 This function will be executed at every time step BEFORE performing the solve phase. More...
 
virtual void ExecuteFinalizeSolutionStep ()
 This function will be executed at every time step AFTER performing the solve phase. More...
 
virtual void ExecuteBeforeOutputStep ()
 This function will be executed at every time step BEFORE writing the output. More...
 
virtual void ExecuteAfterOutputStep ()
 This function will be executed at every time step AFTER writing the output. More...
 
virtual void ExecuteFinalize ()
 This function is designed for being called at the end of the computations. More...
 
virtual int Check ()
 This function is designed for being called after ExecuteInitialize ONCE to verify that the input is correct. More...
 
virtual void Clear ()
 This method clears the assignation of the conditions. More...
 
std::string Info () const override
 Turn back information as a string. More...
 
void PrintInfo (std::ostream &rOStream) const override
 Print information about this object. More...
 
void PrintData (std::ostream &rOStream) const override
 Print object's data. More...
 
- Public Member Functions inherited from Kratos::Flags
Flagsoperator= (Flags const &rOther)
 Assignment operator. More...
 
 operator bool () const
 
Flags operator~ () const
 
bool operator! () const
 
void AssignFlags (Flags const &rOther)
 
void Set (const Flags ThisFlag)
 
void Set (const Flags ThisFlag, bool Value)
 
void Reset (const Flags ThisFlag)
 
void Flip (const Flags ThisFlag)
 
void SetPosition (IndexType Position, bool Value=true)
 
bool GetPosition (IndexType Position) const
 
void FlipPosition (IndexType Position)
 
void ClearPosition (IndexType Position)
 
void Clear ()
 
Flags AsFalse () const
 
bool Is (Flags const &rOther) const
 
bool IsDefined (Flags const &rOther) const
 
bool IsNot (Flags const &rOther) const
 
bool IsNotDefined (Flags const &rOther) const
 
 KRATOS_CLASS_POINTER_DEFINITION (Flags)
 Pointer definition of Flags. More...
 
const Flagsoperator|= (const Flags &Other)
 
const Flagsoperator&= (const Flags &Other)
 
 Flags ()
 Default constructor. More...
 
 Flags (Flags const &rOther)
 Copy constructor. More...
 
virtual ~Flags ()
 Destructor. More...
 

Protected Member Functions

void GetExtraRayOrigins (const array_1d< double, 3 > &rCoords, array_1d< array_1d< double, 3 >, 5 > &rExtraRayOrigs)
 
void GetExtraRayOrigins (const array_1d< double, 3 > &rCoords, array_1d< array_1d< double, 3 >, 9 > &rExtraRayOrigs)
 
int ComputeRayIntersection (Element::GeometryType &rGeometry, const double *pRayPoint1, const double *pRayPoint2, double *pIntersectionPoint)
 
int ComputeRayIntersection (Element::GeometryType &rGeometry, const double *pRayPoint1, const double *pRayPoint2, double *pIntersectionPoint)
 
Private Operations
int ComputeRayIntersection (Element::GeometryType &rGeometry, const double *pRayPoint1, const double *pRayPoint2, double *pIntersectionPoint)
 Checks if a ray intersects an intersecting geometry candidate For a given intersecting geometry, it checks if the ray intersects it. More...
 
void GetExtraRayOrigins (const array_1d< double, 3 > &rCoords, array_1d< array_1d< double, 3 >,(TDim==3) ? 9 :5 > &rExtraRayOrigs)
 Creates the start point in space for new extra rays around current ray This method is used to create extra rays when the original one hits border of a goemetry. More...
 
void CorrectExtraRayOrigin (double *ExtraRayCoords)
 Trims the extra rays to bounding box. More...
 
void ComputeExtraRayColors (const array_1d< double, 3 > &rCoords, array_1d< double, TDim > &rDistances)
 Creates extra rays around the current one and determine the color by voting When a ray hits border of a geometry this method is called to determine if the ray is penetrating the object or not. The idea is to lunch several rays around the original one and check the pentration by voting between them. More...
 
void CalculateCharacteristicLength ()
 Calculate the mCharacterisiticLength variable using bounding box of the domain to be used in scaling the epsilons The actual version calcuates the bonding box and takes the distance between max and min points as characteristic length. More...
 
void SetRayCastingTolerances ()
 Set the Ray Casting Tolerances values This method sets the ray casting tolerances values according to the domain bounding box size. More...
 
NodeScalarGetFunctionType CreateDistanceGetterFunctor () const
 This method returns the function to get the distance from a node. More...
 
virtual ApplyNodalFunctorType CreateApplyNodalFunction () const
 This method returns the function that will be applied to nodes depending on ray distance. More...
 

Protected Attributes

Member Variables
Parameters mSettings
 
double mEpsilon
 
double mExtraRayOffset
 
double mRelativeTolerance
 
FindIntersectedGeometricalObjectsProcessmpFindIntersectedObjectsProcess
 
bool mIsSearchStructureAllocated
 
double mCharacteristicLength
 
const Variable< double > * mpDistanceVariable = nullptr
 
NodeScalarGetFunctionType mDistanceGetterFunctor
 

Type Definitions

enum class  DistanceDatabase { NodeHistorical , NodeNonHistorical }
 Nodal databases auxiliary enum. More...
 
using ConfigurationType = Internals::DistanceSpatialContainersConfigure
 
using CellType = OctreeBinaryCell< ConfigurationType >
 
using OctreeType = OctreeBinary< CellType >
 
using CellNodeDataType = ConfigurationType::cell_node_data_type
 
typedef Element::GeometryType IntersectionGeometryType
 
typedef std::vector< std::pair< double, IntersectionGeometryType * > > IntersectionsContainerType
 
using NodeType = ModelPart::NodeType
 
using NodeScalarGetFunctionType = std::function< double &(NodeType &rNode, const Variable< double > &rDistanceVariable)>
 
using ApplyNodalFunctorType = std::function< void(NodeType &, const double)>
 
 KRATOS_CLASS_POINTER_DEFINITION (ApplyRayCastingProcess)
 Pointer definition of ApplyRayCastingProcess. More...
 

Additional Inherited Members

- Public Types inherited from Kratos::Flags
enum  FlagsList {
  Flag0 = BlockType(1) , Flag1 = BlockType(1) << 1 , Flag2 = BlockType(1) << 2 , Flag3 = BlockType(1) << 3 ,
  Flag4 = BlockType(1) << 4 , Flag5 = BlockType(1) << 5 , Flag6 = BlockType(1) << 6 , Flag7 = BlockType(1) << 7 ,
  Flag8 = BlockType(1) << 8 , Flag9 = BlockType(1) << 9 , Flag10 = BlockType(1) << 10 , Flag11 = BlockType(1) << 11 ,
  Flag12 = BlockType(1) << 12 , Flag13 = BlockType(1) << 13 , Flag14 = BlockType(1) << 14 , Flag15 = BlockType(1) << 15 ,
  Flag16 = BlockType(1) << 16 , Flag17 = BlockType(1) << 17 , Flag18 = BlockType(1) << 18 , Flag19 = BlockType(1) << 19 ,
  Flag20 = BlockType(1) << 20 , Flag21 = BlockType(1) << 21 , Flag22 = BlockType(1) << 22 , Flag23 = BlockType(1) << 23 ,
  Flag24 = BlockType(1) << 24 , Flag25 = BlockType(1) << 25 , Flag26 = BlockType(1) << 26 , Flag27 = BlockType(1) << 27 ,
  Flag28 = BlockType(1) << 28 , Flag29 = BlockType(1) << 29 , Flag30 = BlockType(1) << 30
}
 
typedef int64_t BlockType
 
typedef int64_t FlagType
 
typedef std::size_t IndexType
 
- Static Public Member Functions inherited from Kratos::Flags
static const Flags AllDefined ()
 
static const Flags AllTrue ()
 
static Flags Create (IndexType ThisPosition, bool Value=true)
 

Detailed Description

template<std::size_t TDim = 3>
class Kratos::ApplyRayCastingProcess< TDim >

Applies ray casting to distinguish the color (like in/out) of each node in modelpart.

This class is used to define the which nodes are inside or outside of certain volume described by its contour

Member Typedef Documentation

◆ ApplyNodalFunctorType

template<std::size_t TDim = 3>
using Kratos::ApplyRayCastingProcess< TDim >::ApplyNodalFunctorType = std::function<void(NodeType&, const double)>

◆ CellNodeDataType

◆ CellType

template<std::size_t TDim = 3>
using Kratos::ApplyRayCastingProcess< TDim >::CellType = OctreeBinaryCell<ConfigurationType>

◆ ConfigurationType

◆ IntersectionGeometryType

template<std::size_t TDim = 3>
typedef Element::GeometryType Kratos::ApplyRayCastingProcess< TDim >::IntersectionGeometryType

◆ IntersectionsContainerType

template<std::size_t TDim = 3>
typedef std::vector<std::pair<double, IntersectionGeometryType*> > Kratos::ApplyRayCastingProcess< TDim >::IntersectionsContainerType

◆ NodeScalarGetFunctionType

template<std::size_t TDim = 3>
using Kratos::ApplyRayCastingProcess< TDim >::NodeScalarGetFunctionType = std::function<double&(NodeType& rNode, const Variable<double>& rDistanceVariable)>

◆ NodeType

template<std::size_t TDim = 3>
using Kratos::ApplyRayCastingProcess< TDim >::NodeType = ModelPart::NodeType

◆ OctreeType

template<std::size_t TDim = 3>
using Kratos::ApplyRayCastingProcess< TDim >::OctreeType = OctreeBinary<CellType>

Member Enumeration Documentation

◆ DistanceDatabase

template<std::size_t TDim = 3>
enum Kratos::ApplyRayCastingProcess::DistanceDatabase
strong

Nodal databases auxiliary enum.

Enumerator
NodeHistorical 
NodeNonHistorical 

Constructor & Destructor Documentation

◆ ApplyRayCastingProcess() [1/6]

template<std::size_t TDim>
Kratos::ApplyRayCastingProcess< TDim >::ApplyRayCastingProcess ( ModelPart rVolumePart,
ModelPart rSkinPart,
Parameters  ThisParameters = Parameters() 
)

Construct a new ApplyRayCastingProcess object using volume and skin model parts Constructor without user defined extra rays epsilon, used to generate the extra rays when voting is required for coloring.

Parameters
rVolumePartmodel part containing the volume elements
rSkinPartmodel part containing the skin to compute the distance to as conditions

◆ ApplyRayCastingProcess() [2/6]

template<std::size_t TDim>
Kratos::ApplyRayCastingProcess< TDim >::ApplyRayCastingProcess ( ModelPart rVolumePart,
ModelPart rSkinPart,
const double  RelativeTolerance 
)

Construct a new ApplyRayCastingProcess object using volume and skin model parts.

Parameters
rVolumePartmodel part containing the volume elements
rSkinPartmodel part containing the skin to compute the distance to as conditions
RelativeToleranceuser-defined relative tolerance to be multiplied by the domain bounding box size

◆ ApplyRayCastingProcess() [3/6]

template<std::size_t TDim>
Kratos::ApplyRayCastingProcess< TDim >::ApplyRayCastingProcess ( FindIntersectedGeometricalObjectsProcess TheFindIntersectedObjectsProcess,
Parameters  ThisParameters = Parameters() 
)

Construct a new Apply Ray Casting Process object using an already created search strucutre.

Parameters
TheFindIntersectedObjectsProcessreference to the already created search structure
RelativeToleranceuser-defined relative tolerance to be multiplied by the domain bounding box size

◆ ApplyRayCastingProcess() [4/6]

template<std::size_t TDim>
Kratos::ApplyRayCastingProcess< TDim >::ApplyRayCastingProcess ( FindIntersectedGeometricalObjectsProcess TheFindIntersectedObjectsProcess,
const double  RelativeTolerance,
const Variable< double > *  pDistanceVariable,
const DistanceDatabase rDistanceDatabase 
)

Construct a new Apply Ray Casting Process object using an already created search strucutre.

Parameters
TheFindIntersectedObjectsProcessreference to the already created search structure
RelativeToleranceuser-defined relative tolerance to be multiplied by the domain bounding box size
pDistanceVariableuser-defined variabe to be used to read and store the distance to the skin
rDistanceDatabaseenum value specifying the database from which the distance variable is retrieved (see DistanceDatabase)

◆ ~ApplyRayCastingProcess()

template<std::size_t TDim>
Kratos::ApplyRayCastingProcess< TDim >::~ApplyRayCastingProcess
override

Destructor.

◆ ApplyRayCastingProcess() [5/6]

template<std::size_t TDim = 3>
Kratos::ApplyRayCastingProcess< TDim >::ApplyRayCastingProcess ( )
inline

Default constructor, needed for registry.

◆ ApplyRayCastingProcess() [6/6]

template<std::size_t TDim = 3>
Kratos::ApplyRayCastingProcess< TDim >::ApplyRayCastingProcess ( ApplyRayCastingProcess< TDim > const &  rOther)
delete

Copy constructor.

Member Function Documentation

◆ CalculateCharacteristicLength()

template<std::size_t TDim>
void Kratos::ApplyRayCastingProcess< TDim >::CalculateCharacteristicLength
protected

Calculate the mCharacterisiticLength variable using bounding box of the domain to be used in scaling the epsilons The actual version calcuates the bonding box and takes the distance between max and min points as characteristic length.

◆ ComputeExtraRayColors()

template<std::size_t TDim>
void Kratos::ApplyRayCastingProcess< TDim >::ComputeExtraRayColors ( const array_1d< double, 3 > &  rCoords,
array_1d< double, TDim > &  rDistances 
)
protected

Creates extra rays around the current one and determine the color by voting When a ray hits border of a geometry this method is called to determine if the ray is penetrating the object or not. The idea is to lunch several rays around the original one and check the pentration by voting between them.

Parameters
rCoordscoordinate of the original ray
rDistancesobtain distances in different directions using extra rays

◆ ComputeRayIntersection() [1/3]

int Kratos::ApplyRayCastingProcess< 2 >::ComputeRayIntersection ( Element::GeometryType rGeometry,
const double pRayPoint1,
const double pRayPoint2,
double pIntersectionPoint 
)
protected

◆ ComputeRayIntersection() [2/3]

int Kratos::ApplyRayCastingProcess< 3 >::ComputeRayIntersection ( Element::GeometryType rGeometry,
const double pRayPoint1,
const double pRayPoint2,
double pIntersectionPoint 
)
protected

◆ ComputeRayIntersection() [3/3]

template<std::size_t TDim = 3>
int Kratos::ApplyRayCastingProcess< TDim >::ComputeRayIntersection ( Element::GeometryType rGeometry,
const double pRayPoint1,
const double pRayPoint2,
double pIntersectionPoint 
)
protected

Checks if a ray intersects an intersecting geometry candidate For a given intersecting geometry, it checks if the ray intersects it.

Parameters
rGeometryreference to the candidate intersecting object
pRayPoint1ray origin point
pRayPoint2ray end point
pIntersectionPointobtained intersecting point
Returns
int integer containing the result of the intersection (1 if intersects)

◆ CorrectExtraRayOrigin()

template<std::size_t TDim>
void Kratos::ApplyRayCastingProcess< TDim >::CorrectExtraRayOrigin ( double ExtraRayCoords)
protected

Trims the extra rays to bounding box.

◆ CreateApplyNodalFunction()

template<std::size_t TDim>
std::function< void(Node &, const double)> Kratos::ApplyRayCastingProcess< TDim >::CreateApplyNodalFunction
protectedvirtual

This method returns the function that will be applied to nodes depending on ray distance.

Reimplemented in Kratos::ApplyRayCastingInterfaceRecognitionProcess< TDim >.

◆ CreateDistanceGetterFunctor()

template<std::size_t TDim>
std::function< double &(Node &rNode, const Variable< double > &rDistanceVariable)> Kratos::ApplyRayCastingProcess< TDim >::CreateDistanceGetterFunctor
protected

This method returns the function to get the distance from a node.

◆ DistancePositionInSpace()

template<std::size_t TDim>
double Kratos::ApplyRayCastingProcess< TDim >::DistancePositionInSpace ( const Node rNode)
virtual

Computes the raycasting distance for a node This method computes the raycasting distance for a given node. It casts a ray in the x and y (as well as z in 3D) directions and computes the distance from the ray origin point (the node of interest) to each one of the intersecting objects.

Parameters
rNodereference to the node of interest
Returns
double raycasting distance value computed

◆ Execute()

template<std::size_t TDim>
void Kratos::ApplyRayCastingProcess< TDim >::Execute
overridevirtual

Executes the ApplyRayCastingProcess This method automatically does all the calls required to compute the signed distance function.

Reimplemented from Kratos::Process.

◆ GetCellIntersections()

template<std::size_t TDim>
int Kratos::ApplyRayCastingProcess< TDim >::GetCellIntersections ( OctreeType::cell_type cell,
const double ray,
OctreeType::key_type ray_key,
const unsigned int  direction,
std::vector< std::pair< double, Element::GeometryType * > > &  rIntersections 
)
virtual

Get the intersecting objects contained in the current cell.

Parameters
cellcurrent cell
raycasted ray coordinates
ray_keybinary octree ray key
directiondirection of the casted ray (0 for x, 1 for y and 2 for z)
rIntersectionsarray containing a pair for each intersection found. The first value of the pair contains the ray distance to the intersection entity while the second one contains a pointer to the intersection entity geometry
Returns
int 0 if the cell intersection search has succeeded

◆ GetDefaultParameters()

template<std::size_t TDim>
const Parameters Kratos::ApplyRayCastingProcess< TDim >::GetDefaultParameters
overridevirtual

This method provides the defaults parameters to avoid conflicts between the different constructors.

Reimplemented from Kratos::Process.

◆ GetExtraRayOrigins() [1/3]

void Kratos::ApplyRayCastingProcess< 2 >::GetExtraRayOrigins ( const array_1d< double, 3 > &  rCoords,
array_1d< array_1d< double, 3 >, 5 > &  rExtraRayOrigs 
)
protected

◆ GetExtraRayOrigins() [2/3]

void Kratos::ApplyRayCastingProcess< 3 >::GetExtraRayOrigins ( const array_1d< double, 3 > &  rCoords,
array_1d< array_1d< double, 3 >, 9 > &  rExtraRayOrigs 
)
protected

◆ GetExtraRayOrigins() [3/3]

template<std::size_t TDim = 3>
void Kratos::ApplyRayCastingProcess< TDim >::GetExtraRayOrigins ( const array_1d< double, 3 > &  rCoords,
array_1d< array_1d< double, 3 >,(TDim==3) ? 9 :5 > &  rExtraRayOrigs 
)
protected

Creates the start point in space for new extra rays around current ray This method is used to create extra rays when the original one hits border of a goemetry.

Parameters
RayEpsilonDistance between this original ray and extra one around it
rCoordscoordinate of the original ray
rExtraRayOrigsobtained extra rays

◆ GetRayIntersections()

template<std::size_t TDim>
void Kratos::ApplyRayCastingProcess< TDim >::GetRayIntersections ( const double ray,
const unsigned int  direction,
std::vector< std::pair< double, Element::GeometryType * > > &  rIntersections 
)
virtual

Get the ray intersecting objects and its distance For a given ray and direction, this method search for all the intersecting entities to this ray. This operation is performed using the binary octree in the discontinuous distance base class to check each one of the cells crossed by the ray.

Parameters
raycasted ray coordinates
directiondirection of the casted ray (0 for x, 1 for y and 2 for z)
rIntersectionsarray containing a pair for each intersection found. The first value of the pair contains the ray distance to the intersection entity while the second one contains a pointer to the intersection entity geometry

◆ Info()

template<std::size_t TDim>
std::string Kratos::ApplyRayCastingProcess< TDim >::Info
overridevirtual

Turn back information as a string.

Reimplemented from Kratos::Flags.

◆ KRATOS_CLASS_POINTER_DEFINITION()

template<std::size_t TDim = 3>
Kratos::ApplyRayCastingProcess< TDim >::KRATOS_CLASS_POINTER_DEFINITION ( ApplyRayCastingProcess< TDim >  )

Pointer definition of ApplyRayCastingProcess.

◆ operator=()

template<std::size_t TDim = 3>
ApplyRayCastingProcess& Kratos::ApplyRayCastingProcess< TDim >::operator= ( ApplyRayCastingProcess< TDim > const &  rOther)
delete

Assignment operator.

◆ PrintData()

template<std::size_t TDim>
void Kratos::ApplyRayCastingProcess< TDim >::PrintData ( std::ostream &  rOStream) const
overridevirtual

Print object's data.

Reimplemented from Kratos::Flags.

◆ PrintInfo()

template<std::size_t TDim>
void Kratos::ApplyRayCastingProcess< TDim >::PrintInfo ( std::ostream &  rOStream) const
overridevirtual

Print information about this object.

Reimplemented from Kratos::Flags.

◆ SetRayCastingTolerances()

template<std::size_t TDim>
void Kratos::ApplyRayCastingProcess< TDim >::SetRayCastingTolerances
protected

Set the Ray Casting Tolerances values This method sets the ray casting tolerances values according to the domain bounding box size.

Member Data Documentation

◆ mCharacteristicLength

template<std::size_t TDim = 3>
double Kratos::ApplyRayCastingProcess< TDim >::mCharacteristicLength
protected

◆ mDistanceGetterFunctor

template<std::size_t TDim = 3>
NodeScalarGetFunctionType Kratos::ApplyRayCastingProcess< TDim >::mDistanceGetterFunctor
protected

◆ mEpsilon

template<std::size_t TDim = 3>
double Kratos::ApplyRayCastingProcess< TDim >::mEpsilon
protected

◆ mExtraRayOffset

template<std::size_t TDim = 3>
double Kratos::ApplyRayCastingProcess< TDim >::mExtraRayOffset
protected

◆ mIsSearchStructureAllocated

template<std::size_t TDim = 3>
bool Kratos::ApplyRayCastingProcess< TDim >::mIsSearchStructureAllocated
protected

◆ mpDistanceVariable

template<std::size_t TDim = 3>
const Variable<double>* Kratos::ApplyRayCastingProcess< TDim >::mpDistanceVariable = nullptr
protected

◆ mpFindIntersectedObjectsProcess

template<std::size_t TDim = 3>
FindIntersectedGeometricalObjectsProcess* Kratos::ApplyRayCastingProcess< TDim >::mpFindIntersectedObjectsProcess
protected

◆ mRelativeTolerance

template<std::size_t TDim = 3>
double Kratos::ApplyRayCastingProcess< TDim >::mRelativeTolerance
protected

◆ mSettings

template<std::size_t TDim = 3>
Parameters Kratos::ApplyRayCastingProcess< TDim >::mSettings
protected

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