Arcane  4.2.1.0
Developer documentation
Loading...
Searching...
No Matches
IMeshSection.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2026 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/* IMeshSection.h (C) 2000-2026 */
9/* */
10/* Service interface allowing the creation of a mesh with a section of */
11/* another mesh. */
12/*---------------------------------------------------------------------------*/
13#ifndef ARCANE_CORE_IMESHSECTION_H
14#define ARCANE_CORE_IMESHSECTION_H
15/*---------------------------------------------------------------------------*/
16/*---------------------------------------------------------------------------*/
17
19
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
22
23namespace Arcane
24{
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
28
33class ARCANE_CORE_EXPORT IMeshSection
34{
35 public:
36
38 virtual ~IMeshSection() = default;
39
40 public:
41
49 virtual void addPlane(const Real3& p0, const Real3& normal) = 0;
50
58
66
73 virtual void setServiceMeshUniqueId(Int32 unique_id) = 0;
74
81 virtual void updateSection() = 0;
82
88 virtual MeshHandle meshSection() = 0;
89};
90
91/*---------------------------------------------------------------------------*/
92/*---------------------------------------------------------------------------*/
93
94} // namespace Arcane
95
96/*---------------------------------------------------------------------------*/
97/*---------------------------------------------------------------------------*/
98
99#endif
Declarations of Arcane's general types.
Service interface allowing the creation of a mesh with a section of another mesh.
virtual void updateSection()=0
Method allowing to update the mesh section with all planes.
virtual void setVariables(VariableCollection variables)=0
Method allowing to add a set of variables to copy on the new mesh.
virtual MeshHandle meshSection()=0
Méthod allowing to get the mesh section.
virtual void addPlane(const Real3 &p0, const Real3 &normal)=0
Method allowing to add a plane to the cut service. The use of these planes depends on the service.
virtual VariableCollection variables()=0
Method allowing to get a set of variables copied on the new mesh.
virtual void setServiceMeshUniqueId(Int32 unique_id)=0
Method allowing to set a unique id allowing to create multiple section services for a mesh.
virtual ~IMeshSection()=default
Releases resources.
Handle on a mesh.
Definition MeshHandle.h:48
Class managing a 3-dimensional real vector.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
std::int32_t Int32
Signed integer type of 32 bits.