Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::Materials::IMeshComponent Class Referenceabstract

Interface of a component (material or environment) of a mesh. More...

#include <arcane/core/materials/IMeshComponent.h>

Inheritance diagram for Arcane::Materials::IMeshComponent:
Collaboration diagram for Arcane::Materials::IMeshComponent:

Public Member Functions

virtual IMeshMaterialMngmaterialMng ()=0
 Associated manager.
virtual ITraceMngtraceMng ()=0
 Associated trace manager.
virtual String name () const =0
 Component name.
virtual CellGroup cells () const =0
 Group of cells for this material.
virtual Int32 id () const =0
 Component identifier.
virtual ComponentCell findComponentCell (AllEnvCell c) const =0
 Cell of this component for cell c.
virtual ComponentItemVectorView view () const =0
 View associated with this component.
virtual void checkValid ()=0
 Checks that the component is valid.
virtual bool isMaterial () const =0
 True if the component is a material.
virtual bool isEnvironment () const =0
 True if the component is an environment.
virtual bool hasSpace (MatVarSpace space) const =0
 Indicates if the component is defined for space space.
virtual ComponentPurePartItemVectorView pureItems () const =0
 View on the list of pure entities (associated with the global cell) of the component.
virtual ComponentImpurePartItemVectorView impureItems () const =0
 View on the list of impure (partial) entities of the component.
virtual ComponentPartItemVectorView partItems (eMatPart part) const =0
 View on the pure or impure part of the component's entities.
virtual IMeshMaterialasMaterial ()=0
 Returns the component in the form of an IMeshMaterial.
virtual IMeshEnvironmentasEnvironment ()=0
 Returns the component in the form of an IMeshMaterial.
virtual void setSpecificExecutionPolicy (Accelerator::eExecutionPolicy policy)=0
 Sets an execution policy for this constituent.
virtual Accelerator::eExecutionPolicy specificExecutionPolicy () const =0
 Specific execution policy.
virtual IMeshComponentInternal_internalApi ()=0
 Internal API.

Detailed Description

Interface of a component (material or environment) of a mesh.

Definition at line 36 of file core/materials/IMeshComponent.h.

Member Function Documentation

◆ _internalApi()

◆ asEnvironment()

virtual IMeshEnvironment * Arcane::Materials::IMeshComponent::asEnvironment ( )
pure virtual

Returns the component in the form of an IMeshMaterial.

If isEnvironment()==false, returns nullptr

Implemented in Arcane::Materials::MeshEnvironment, and Arcane::Materials::MeshMaterial.

◆ asMaterial()

virtual IMeshMaterial * Arcane::Materials::IMeshComponent::asMaterial ( )
pure virtual

Returns the component in the form of an IMeshMaterial.

If isMaterial()==false, returns nullptr

Implemented in Arcane::Materials::MeshEnvironment, and Arcane::Materials::MeshMaterial.

◆ cells()

virtual CellGroup Arcane::Materials::IMeshComponent::cells ( ) const
pure virtual

Group of cells for this material.

Warning
This group must not be modified. To change the number of elements of a material, you must go through the materialMng().

Implemented in Arcane::Materials::MeshEnvironment, and Arcane::Materials::MeshMaterial.

Referenced by Arcane::Materials::MaterialModifierOperation::_checkMaterialPresence(), Arcane::Materials::MaterialModifierOperation::_filterValidIds(), Arcane::Materials::MeshEnvironment::computeNbMatPerCell(), Arcane::Materials::CellMaterialVariableScalarRef< DataType_ >::fillToArray(), and Arcane::Materials::CellMaterialVariableScalarRef< DataType_ >::fillToArray().

Here is the caller graph for this function:

◆ checkValid()

virtual void Arcane::Materials::IMeshComponent::checkValid ( )
pure virtual

Checks that the component is valid.

Implemented in Arcane::Materials::MeshEnvironment, and Arcane::Materials::MeshMaterial.

◆ findComponentCell()

virtual ComponentCell Arcane::Materials::IMeshComponent::findComponentCell ( AllEnvCell c) const
pure virtual

Cell of this component for cell c.

If the component is not present in the cell, the null cell is returned.

The cost of this function is proportional to the number of components present in the cell.

Implemented in Arcane::Materials::MeshEnvironment, and Arcane::Materials::MeshMaterial.

◆ hasSpace()

virtual bool Arcane::Materials::IMeshComponent::hasSpace ( MatVarSpace space) const
pure virtual

Indicates if the component is defined for space space.

Implemented in Arcane::Materials::MeshEnvironment, and Arcane::Materials::MeshMaterial.

◆ id()

virtual Int32 Arcane::Materials::IMeshComponent::id ( ) const
pure virtual

Component identifier.

It is also the index (starting from 0) of this component in the list of components of this type. There is a specific list for materials and environments and therefore a component representing a material can have the same ID as a component representing an environment.

Implemented in Arcane::Materials::MeshEnvironment, and Arcane::Materials::MeshMaterial.

Referenced by Arcane::Materials::MeshMaterialVariable::modifiedTime(), Arcane::Materials::MeshMaterialVariable::setUpToDate(), and Arcane::Materials::MeshMaterialVariable::update().

Here is the caller graph for this function:

◆ impureItems()

virtual ComponentImpurePartItemVectorView Arcane::Materials::IMeshComponent::impureItems ( ) const
pure virtual

View on the list of impure (partial) entities of the component.

Implemented in Arcane::Materials::MeshEnvironment, and Arcane::Materials::MeshMaterial.

◆ isEnvironment()

virtual bool Arcane::Materials::IMeshComponent::isEnvironment ( ) const
pure virtual

True if the component is an environment.

Implemented in Arcane::Materials::MeshEnvironment, and Arcane::Materials::MeshMaterial.

Referenced by Arcane::Materials::ConstituentItemVectorImpl::_computeNbPureAndImpureLegacy(), and Arcane::Materials::MeshMaterialBackup::_isValidComponent().

Here is the caller graph for this function:

◆ isMaterial()

virtual bool Arcane::Materials::IMeshComponent::isMaterial ( ) const
pure virtual

True if the component is a material.

Implemented in Arcane::Materials::MeshEnvironment, and Arcane::Materials::MeshMaterial.

◆ materialMng()

virtual IMeshMaterialMng * Arcane::Materials::IMeshComponent::materialMng ( )
pure virtual

Associated manager.

Implemented in Arcane::Materials::MeshEnvironment, and Arcane::Materials::MeshMaterial.

◆ name()

virtual String Arcane::Materials::IMeshComponent::name ( ) const
pure virtual

◆ partItems()

virtual ComponentPartItemVectorView Arcane::Materials::IMeshComponent::partItems ( eMatPart part) const
pure virtual

View on the pure or impure part of the component's entities.

Implemented in Arcane::Materials::MeshEnvironment, and Arcane::Materials::MeshMaterial.

◆ pureItems()

virtual ComponentPurePartItemVectorView Arcane::Materials::IMeshComponent::pureItems ( ) const
pure virtual

View on the list of pure entities (associated with the global cell) of the component.

Implemented in Arcane::Materials::MeshEnvironment, and Arcane::Materials::MeshMaterial.

◆ setSpecificExecutionPolicy()

virtual void Arcane::Materials::IMeshComponent::setSpecificExecutionPolicy ( Accelerator::eExecutionPolicy policy)
pure virtual

Sets an execution policy for this constituent.

Warning
This method is experimental. Do not use outside of Arcane.

The selected execution policy will be used for creation or modification operations of EnvCellVector, MatCellVector or ComponentItemVector.

If policy equals Accelerator::eExecutionPolicy::None (the default), the policy of the associated IMeshMaterialMng is used. If it equals Accelerator::eExecutionPolicy::Sequential or Accelerator::eExecutionPolicy::Thread, then execution will take place on the host sequentially or multi-threaded. Other values are invalid.

Note
The change in execution policy applies to any subsequent modification, even for already created instances of ComponentItemVector.

Implemented in Arcane::Materials::MeshEnvironment, and Arcane::Materials::MeshMaterial.

◆ specificExecutionPolicy()

virtual Accelerator::eExecutionPolicy Arcane::Materials::IMeshComponent::specificExecutionPolicy ( ) const
pure virtual

◆ traceMng()

virtual ITraceMng * Arcane::Materials::IMeshComponent::traceMng ( )
pure virtual

Associated trace manager.

Implemented in Arcane::Materials::MeshEnvironment, and Arcane::Materials::MeshMaterial.

Referenced by Arcane::Materials::MaterialModifierOperation::_checkMaterialPresence(), and Arcane::Materials::MaterialModifierOperation::_filterValidIds().

Here is the caller graph for this function:

◆ view()

virtual ComponentItemVectorView Arcane::Materials::IMeshComponent::view ( ) const
pure virtual

View associated with this component.

Implemented in Arcane::Materials::MeshEnvironment, and Arcane::Materials::MeshMaterial.


The documentation for this class was generated from the following file: