12#ifndef ARCANE_IRAYMESHINTERSECTION_H
13#define ARCANE_IRAYMESHINTERSECTION_H
17#include "arcane/ArcaneTypes.h"
57 Int32 orig_face_local_id,
61 Real* distance,
Real3* intersection_position) =0;
Interface d'une famille d'entités.
Interface générique du calcul de l'intersection d'un rayon avec une 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
Calcul l'intersection entre un rayon et une face.
Calcul de l'intersection entre un ensemble de segments et la surface d'un maillage.
virtual void build()=0
Construit l'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
Calcule l'intersection de rayons.
virtual IRayFaceIntersector * faceIntersector()=0
Intersecteur utilisé (0 si aucun spécifié)
virtual void setFaceIntersector(IRayFaceIntersector *intersector)=0
Positionne le callback d'intersection.
virtual ~IRayMeshIntersection()
Libère les ressources.
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
Calcule l'intersection.
Variable scalaire sur un type d'entité du maillage.
Classe gérant un vecteur de réel de dimension 3.
Vue modifiable d'un tableau d'un type T.
Vue constante d'un tableau de type T.