13#ifndef ARCANE_CORE_IRAYMESHINTERSECTION_H
14#define ARCANE_CORE_IRAYMESHINTERSECTION_H
55 Int32 orig_face_local_id,
59 Real* distance,
Real3* intersection_position) = 0;
Declarations of Arcane's general types.
Interface of an entity family.
Generic interface for calculating the intersection of a ray with a face.
virtual bool computeIntersection(Real3 origin, Real3 direction, Int32 orig_face_local_id, Int32 face_local_id, Real3ConstArrayView face_nodes, Int32 *user_value, Real *distance, Real3 *intersection_position)=0
Calculates the intersection between a ray and a face.
Calculation of the intersection between a set of segments and the surface of a mesh.
virtual ~IRayMeshIntersection()=default
Frees resources.
virtual void build()=0
Builds the instance.
virtual void compute(IItemFamily *ray_family, VariableParticleReal3 &rays_position, VariableParticleReal3 &rays_direction, VariableParticleInt32 &rays_orig_face, VariableParticleInt32 &user_values, VariableParticleReal3 &intersections, VariableParticleReal &distances, VariableParticleInt32 &rays_face)=0
Calculates the intersection of rays.
virtual IRayFaceIntersector * faceIntersector()=0
Intersector used (0 if none specified).
virtual void setFaceIntersector(IRayFaceIntersector *intersector)=0
Sets the intersection callback.
virtual void compute(Real3ConstArrayView segments_position, Real3ConstArrayView segments_direction, Int32ConstArrayView orig_faces_local_id, Int32ArrayView user_values, Real3ArrayView intersections, RealArrayView distances, Int32ArrayView faces_local_id)=0
Calculates the intersection.
Class managing a 3-dimensional real vector.
MeshVariableScalarRefT< Particle, Real3 > VariableParticleReal3
Coordinate type particle quantity.
MeshVariableScalarRefT< Particle, Int32 > VariableParticleInt32
Particle quantity of 32-bit integer type.
MeshVariableScalarRefT< Particle, Real > VariableParticleReal
Real type particle quantity.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
ConstArrayView< Real3 > Real3ConstArrayView
C equivalent of a 1D array of Real3.
ArrayView< Real3 > Real3ArrayView
C equivalent of a 1D array of Real3.
ConstArrayView< Int32 > Int32ConstArrayView
C equivalent of a 1D array of 32-bit integers.
ArrayView< Int32 > Int32ArrayView
C equivalent of a 1D array of 32-bit integers.
double Real
Type representing a real number.
ArrayView< Real > RealArrayView
C equivalent of a 1D array of reals.
std::int32_t Int32
Signed integer type of 32 bits.