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 InternalConnectivityPolicy _connectivityPolicy() const =0
Connectivity usage policy.
virtual FaceGroup outerActiveFaces()=0
Group of all active faces on the boundary.
virtual ARCANE_DEPRECATED_240 void serializeCells(ISerializer *buffer, Int32ConstArrayView cells_local_id)=0
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 IMeshCompactMng * _compactMng()=0
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.
Indirection tables for mesh entities.
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.