12#ifndef ARCANE_CORE_IMESH_H
13#define ARCANE_CORE_IMESH_H
19#include "arcane/core/IMeshBase.h"
63 virtual ~IMesh() =
default;
67 virtual void build() = 0;
178 virtual
void updateGhostLayers(
bool remove_old_ghost) = 0;
208 virtual
bool isAmrActivated() const = 0;
Declarations of Arcane's general types.
Base class for an event handler.
Interface of the manager for indexed incremental item connectivities.
virtual String name() const =0
Mesh name.
Interface for mesh verification methods.
Interface for managing the compaction of mesh families.
Mesh modification interface.
Interface of a mesh partitioning constraint manager.
Interface of a class providing utility functions on meshes.
virtual void checkValidMeshFull()=0
Mesh validity check.
virtual ItemGroup parentGroup() const =0
Parent group.
virtual VariableNodeReal3 & nodesCoordinates()=0
Node coordinates.
virtual IIndexedIncrementalItemConnectivityMng * indexedConnectivityMng()=0
Interface of the indexed incremental connectivity manager.
virtual IParallelMng * parallelMng()=0
Parallelism manager.
virtual IMeshUniqueIdMng * meshUniqueIdMng() const =0
Unique ID numbering manager.
virtual MeshCollection childMeshes() const =0
List of sub-meshes of the current mesh.
virtual IMeshChecker * checker() const =0
Checker interface.
virtual ItemInternalList itemsInternal(eItemKind)=0
Internal array of mesh elements of type type.
virtual void initializeVariables(const XmlNode &init_node)=0
Initializes variables with values from the configuration file (internal).
virtual IMeshModifier * modifier()=0
Associated modifier interface.
virtual void defineParentForBuild(IMesh *mesh, ItemGroup group)=0
Defines the parent mesh and group.
virtual FaceGroup outerActiveFaces()=0
Group of all active faces on the boundary.
virtual bool useMeshItemFamilyDependencies() const =0
check if the network itemFamily dependencies is activated
virtual VariableScalarInteger connectivity()=0
Connectivity descriptor.
virtual void destroyGroups()=0
Destroys all groups of all families.
virtual IMeshUtilities * utilities()=0
Associated utility functions interface.
virtual TiedInterfaceCollection tiedInterfaces()=0
List of semi-conforming interfaces.
virtual IMesh * parentMesh() const =0
Access to the parent mesh.
virtual CellGroup allLevelCells(const Integer &level)=0
Group of all cells of level level.
virtual void computeSynchronizeInfos()=0
Recalculates synchronization information.
virtual SharedVariableNodeReal3 sharedNodesCoordinates()=0
Node coordinates.
virtual IUserDataList * userDataList()=0
Associated user data manager.
virtual FaceGroup innerActiveFaces()=0
Group of all active faces.
virtual void synchronizeGroupsAndVariables()=0
Synchronizes all mesh groups and variables.
virtual ItemGroupCollection groups()=0
List of groups.
virtual ItemGroup findGroup(const String &name)=0
Returns the group with name name or a null group if none exists.
virtual String factoryName() const =0
Name of the factory used to create the mesh.
virtual void setCheckLevel(Integer level)=0
Sets the mesh check level.
virtual IMeshInternal * _internalApi()=0
Internal Arcane API.
virtual CellGroup allActiveCells()=0
ARCANE_DEPRECATED_LONG_TERM("Y2020: Do not use this method. Try to get 'ISubDomain' from another way") virtual ISubDomain *subDomain()=0
Associated subdomain.
virtual FaceGroup allActiveFaces()=0
Group of all active faces.
virtual Int64 timestamp()=0
Counter indicating the time of the last mesh modification.
virtual EventObservable< const MeshEventArgs & > & eventObservable(eMeshEventType type)=0
Observable for an event.
virtual const MeshKind meshKind() const =0
Mesh characteristics.
virtual ItemTypeMng * itemTypeMng() const =0
Associated entity type manager.
virtual void prepareForDump()=0
Prepares the instance for dumping.
virtual IMeshPartitionConstraintMng * partitionConstraintMng()=0
Manager of partitioning constraints associated with this mesh.
virtual CellGroup ownActiveCells()=0
Group of all active cells specific to the domain.
virtual IMeshMng * meshMng() const =0
Associated mesh manager.
virtual bool isAllocated()=0
True if the mesh is allocated.
virtual CellGroup ownLevelCells(const Integer &level)=0
Group of all cells specific to the domain of level level.
virtual IPrimaryMesh * toPrimaryMesh()=0
Returns the instance in the form of an IPrimaryMesh.
virtual IGhostLayerMng * ghostLayerMng() const =0
Associated ghost layer manager.
virtual bool isDynamic() const =0
Indicates if the mesh is dynamic (can evolve).
virtual void checkValidMesh()=0
Check for the validity of internal mesh structures (internal).
virtual Properties * properties()=0
Properties associated with this mesh.
virtual FaceGroup ownActiveFaces()=0
Group of all active faces specific to the domain.
virtual void computeTiedInterfaces(const XmlNode &mesh_node)=0
Determines the semi-conforming interfaces.
virtual void addChildMesh(IMesh *sub_mesh)=0
Adds a sub-mesh to the parent mesh.
virtual bool isPrimaryMesh() const =0
Indicates if the instance is a primary mesh.
virtual IItemFamilyNetwork * itemFamilyNetwork()=0
Family network interface (connected families).
virtual Integer checkLevel() const =0
Current check level.
virtual IVariableMng * variableMng() const =0
Associated variable manager.
virtual bool hasTiedInterface()=0
True if semi-conforming interfaces exist in the mesh.
virtual const MeshPartInfo & meshPartInfo() const =0
Mesh part information.
Interface of the parallelism manager for a subdomain.
Interface of a particle exchanger.
Interface of the subdomain manager.
Interface of a list that manages user data.
Interface for user data attached to another object.
Variable manager interface.
Mesh entity type manager.
Arguments for mesh events.
Characteristics of a mesh.
Information about a partitioned mesh.
Unicode character string.
ItemGroupT< Cell > CellGroup
Group of cells.
ItemGroupT< Face > FaceGroup
Group of faces.
MeshVariableScalarRefT< Node, Real3 > VariableNodeReal3
Coordinate type quantity at node.
VariableRefScalarT< Integer > VariableScalarInteger
Scalar variable of integer type.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
Collection< ItemGroup > ItemGroupCollection
Collection of mesh item groups.
std::int64_t Int64
Signed integer type of 64 bits.
Int32 Integer
Type representing an integer.
ConstArrayView< Int32 > Int32ConstArrayView
C equivalent of a 1D array of 32-bit integers.
ConstArrayView< ItemInternal * > ItemInternalList
Type of the internal list of entities.
eMeshEventType
Events generated by IMesh.
SharedMeshVariableScalarRefT< Node, Real3 > SharedVariableNodeReal3
Quantity at the node of coordinate type.
eItemKind
Mesh entity type.
Collection< IMesh * > MeshCollection
Collection of meshes.
InternalConnectivityPolicy
Connectivity usage policy.
Collection< ITiedInterface * > TiedInterfaceCollection
Collection of tied interfaces.