Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
IRayMeshIntersection.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2022 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*---------------------------------------------------------------------------*/
8/* IRayMeshIntersection.h (C) 2000-2009 */
9/* */
10/* Calcul de l'intersection entre des segments et la surface d'un maillage. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_IRAYMESHINTERSECTION_H
13#define ARCANE_IRAYMESHINTERSECTION_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/ArcaneTypes.h"
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22ARCANE_BEGIN_NAMESPACE
23
24/*---------------------------------------------------------------------------*/
25/*---------------------------------------------------------------------------*/
26
27class IMesh;
28
29/*---------------------------------------------------------------------------*/
30/*---------------------------------------------------------------------------*/
35{
36 public:
37
38 virtual ~IRayFaceIntersector() {}
39
40 public:
41
56 virtual bool computeIntersection(Real3 origin,Real3 direction,
57 Int32 orig_face_local_id,
58 Int32 face_local_id,
60 Int32* user_value,
61 Real* distance,Real3* intersection_position) =0;
62};
63
64/*---------------------------------------------------------------------------*/
65/*---------------------------------------------------------------------------*/
146
147/*---------------------------------------------------------------------------*/
148/*---------------------------------------------------------------------------*/
149
150ARCANE_END_NAMESPACE
151
152/*---------------------------------------------------------------------------*/
153/*---------------------------------------------------------------------------*/
154
155#endif
156
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.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Variable scalaire sur un type d'entité du maillage.
Classe gérant un vecteur de réel de dimension 3.
Definition Real3.h:132
Vue modifiable d'un tableau d'un type T.
Vue constante d'un tableau de type T.