7#ifndef ARCGEOSIM_SURFACEUTILS_ISURFACEUTILS_H
8#define ARCGEOSIM_SURFACEUTILS_ISURFACEUTILS_H
10#include <arcane/utils/Real3.h>
11#include <arcane/Item.h>
14NUMERICS_BEGIN_NAMESPACE
23 struct FaceFaceContact {
25 FaceFaceContact(
const FaceFaceContact & c)
26 : faceA(c.faceA), faceB(c.faceB),
27 centerA(c.centerA), centerB(c.centerB),
28 normalA(c.normalA), normalB(c.normalB) { }
29 FaceFaceContact(
const Face & fA,
const Face & fB)
30 : faceA(fA), faceB(fB) { }
32 Real3 centerA, centerB;
33 Real3 normalA, normalB;
56 FaceFaceContactList & contact) = 0;
ISurfaceUtils()
Constructeur.
virtual void setFaceToSurface(ISurface *surface, FaceGroup face_group)=0
Définit les faces d'une surface.
virtual ISurface * createSurface()=0
Création d'une nouvelle surface.
virtual void init()=0
Initialisation.
virtual void computeSurfaceContact(ISurface *surface1, ISurface *surface2, FaceFaceContactList &contact)=0
compute for each face of surface1 the nearest face of surface2
virtual ~ISurfaceUtils()
Destructeur.
Purely virtual interface for surface representation.
Classe gérant un vecteur de réel de dimension 3.
Vecteur 1D de données avec sémantique par valeur (style STL).
ItemGroupT< Face > FaceGroup
Groupe de faces.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-