Arcane  4.2.3.0
User documentation
Loading...
Searching...
No Matches
IMeshBuilder.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/* IMeshBuilder.h (C) 2000-2026 */
9/* */
10/* Interface of a mesh creation/reading service. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_IMESHBUILDER_H
13#define ARCANE_CORE_IMESHBUILDER_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27/*!
28 * \ingroup StandardService
29 * \brief Interface of a mesh creation/reading service.
30 */
31class ARCANE_CORE_EXPORT IMeshBuilder
32{
33 public:
34
35 virtual ~IMeshBuilder() = default; //<! Releases resources
36
37 public:
38
39 /*!
40 * \brief Fills \a build_info with the necessary information to
41 * create the mesh.
42 *
43 * Some values may be filled by the caller, but the instance
44 * may optionally override them. In particular, it is possible
45 * to specify the mesh factory to use.
46 */
47 virtual void fillMeshBuildInfo(MeshBuildInfo& build_info) = 0;
48
49 //! Allocates the mesh entities managed by this service.
50 virtual void allocateMeshItems(IPrimaryMesh* pm) = 0;
51};
52
53/*---------------------------------------------------------------------------*/
54/*---------------------------------------------------------------------------*/
55
56} // End namespace Arcane
57
58/*---------------------------------------------------------------------------*/
59/*---------------------------------------------------------------------------*/
60
61#endif
Declarations of Arcane's general types.
Interface of a mesh creation/reading service.
virtual void allocateMeshItems(IPrimaryMesh *pm)=0
Allocates the mesh entities managed by this service.
virtual void fillMeshBuildInfo(MeshBuildInfo &build_info)=0
Fills build_info with the necessary information to create the mesh.
Parameters necessary for building a mesh.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --