Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
ISurfaceUtils.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#ifndef ARCGEOSIM_SURFACEUTILS_ISURFACEUTILS_H
8#define ARCGEOSIM_SURFACEUTILS_ISURFACEUTILS_H
9
10#include <arcane/utils/Real3.h>
11#include <arcane/Item.h>
12
13ARCANE_BEGIN_NAMESPACE
14NUMERICS_BEGIN_NAMESPACE
15
16using namespace Arcane;
17
18class ISurface;
19
21{
22public:
24 FaceFaceContact() { }
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) { }
31 Face faceA, faceB;
32 Real3 centerA, centerB;
33 Real3 normalA, normalB;
34 };
36
37public:
40
42 virtual ~ISurfaceUtils() {} ;
43
45 virtual void init() = 0 ;
46
48 virtual ISurface* createSurface() = 0 ;
49
51 virtual void setFaceToSurface(ISurface* surface, FaceGroup face_group) = 0 ;
52
57};
58
59NUMERICS_END_NAMESPACE
60ARCANE_END_NAMESPACE
61
62#endif /* ARCGEOSIM_SURFACEUTILS_ISURFACEUTILS_H */
Face d'une maille.
Definition Item.h:932
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.
Definition ISurface.h:25
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Classe gérant un vecteur de réel de dimension 3.
Definition Real3.h:132
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-