Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::IRayMeshIntersectionabstract

Calcul de l'intersection entre un ensemble de segments et la surface d'un maillage. Plus de détails...

#include <arcane/core/IRayMeshIntersection.h>

+ Graphe d'héritage de Arcane::IRayMeshIntersection:
+ Graphe de collaboration de Arcane::IRayMeshIntersection:

Fonctions membres publiques

virtual ~IRayMeshIntersection ()
 Libère les ressources.
 
virtual void build ()=0
 Construit l'instance.
 
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.
 
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 void setFaceIntersector (IRayFaceIntersector *intersector)=0
 Positionne le callback d'intersection.
 
virtual IRayFaceIntersectorfaceIntersector ()=0
 Intersecteur utilisé (0 si aucun spécifié)
 

Description détaillée

Calcul de l'intersection entre un ensemble de segments et la surface d'un maillage.

Définition à la ligne 70 du fichier IRayMeshIntersection.h.

Documentation des constructeurs et destructeur

◆ ~IRayMeshIntersection()

virtual Arcane::IRayMeshIntersection::~IRayMeshIntersection ( )
inlinevirtual

Libère les ressources.

Définition à la ligne 75 du fichier IRayMeshIntersection.h.

Documentation des fonctions membres

◆ build()

virtual void Arcane::IRayMeshIntersection::build ( )
pure virtual

Construit l'instance.

Implémenté dans Arcane::BasicRayMeshIntersection.

◆ compute() [1/2]

virtual void Arcane::IRayMeshIntersection::compute ( IItemFamily ray_family,
VariableParticleReal3 rays_position,
VariableParticleReal3 rays_direction,
VariableParticleInt32 rays_orig_face,
VariableParticleInt32 user_values,
VariableParticleReal3 intersections,
VariableParticleReal distances,
VariableParticleInt32 rays_face 
)
pure virtual

Calcule l'intersection de rayons.

Calcul l'intersection des rayons de la familly ray_family avec la surface du maillage. La position et la direction des rayons est donnée par les variables rays_position et rays_direction. Le tableau rays_orig_face contient le numéro local de la face dont le rayon est originaire. Ce tableau est utilisé dans le IRayFaceIntersector.

En retour rays_face contiendra pour chaque rayon le localId() de la face intersectée ou NULL_ITEM_LOCAL_ID si un rayon n'intersecte aucune face. Le tableau rays_intersection contient en retour la position du point d'intersection et rays_distance la distance du point d'intersection par rapport à l'origine du rayon. Le tableau user_values est remplit en retour par le IRayFaceIntersector

En parallèle, les rayons de la famille sont échangés entre sous-domaines pour qu'un rayon se trouve dans le même sous-domaine que celui propriétaire de la face intersectée. Si un rayon n'intersecte pas de face, il reste dans ce sous-domaine.

Implémenté dans Arcane::BasicRayMeshIntersection.

◆ compute() [2/2]

virtual void Arcane::IRayMeshIntersection::compute ( Real3ConstArrayView  segments_position,
Real3ConstArrayView  segments_direction,
Int32ConstArrayView  orig_faces_local_id,
Int32ArrayView  user_values,
Real3ArrayView  intersections,
RealArrayView  distances,
Int32ArrayView  faces_local_id 
)
pure virtual

Calcule l'intersection.

En retour, le tableau faces_local_id contient le numéro local de la face coupée pour chaque segment. Si un segment ne coupe pas de face, le local_id correspondant est NULL_ITEM_LOCAL_ID.

Implémenté dans Arcane::BasicRayMeshIntersection.

◆ faceIntersector()

virtual IRayFaceIntersector * Arcane::IRayMeshIntersection::faceIntersector ( )
pure virtual

Intersecteur utilisé (0 si aucun spécifié)

Implémenté dans Arcane::BasicRayMeshIntersection.

◆ setFaceIntersector()

virtual void Arcane::IRayMeshIntersection::setFaceIntersector ( IRayFaceIntersector intersector)
pure virtual

Positionne le callback d'intersection.

Cela permet à l'appelant de spécifier sa méthode de calcul d'intersection d'un rayon avec une face. Si cette méthode n'est pas appelée, un intersecteur par défaut est utilisé.

Implémenté dans Arcane::BasicRayMeshIntersection.


La documentation de cette classe a été générée à partir du fichier suivant :