Mesh material. More...
#include <arcane/materials/internal/MeshMaterial.h>
Classes | |
| class | InternalApi |
Public Member Functions | |
| MeshMaterial (MeshMaterialInfo *infos, MeshEnvironment *env, const String &name, Int16 mat_id) | |
| IMeshMaterialMng * | materialMng () override |
| Associated manager. | |
| ITraceMng * | traceMng () override |
| Associated trace manager. | |
| MeshMaterialInfo * | infos () const override |
| Material information. | |
| String | name () const override |
| Component name. | |
| IMeshEnvironment * | environment () const override |
| Environment to which this material belongs. | |
| CellGroup | cells () const override |
| Group of cells for this material. | |
| MeshMaterialVariableIndexer * | variableIndexer () const |
| ConstituentItemLocalIdListView | constituentItemListView () const |
| Int32 | id () const override |
| Component identifier. | |
| IUserMeshMaterial * | userMaterial () const override |
| Associated user material. | |
| void | setUserMaterial (IUserMeshMaterial *umm) override |
| Sets the associated user material. | |
| MatCell | findMatCell (AllEnvCell c) const override |
| Cell of this material for cell c. | |
| ComponentCell | findComponentCell (AllEnvCell c) const override |
| Cell of this component for cell c. | |
| MatItemVectorView | matView () const override |
| View associated with this material. | |
| ComponentItemVectorView | view () const override |
| View associated with this component. | |
| void | checkValid () override |
| Checks that the component is valid. | |
| bool | isMaterial () const override |
| True if the component is a material. | |
| bool | isEnvironment () const override |
| True if the component is an environment. | |
| bool | hasSpace (MatVarSpace space) const override |
| Indicates if the component is defined for space space. | |
| IMeshMaterial * | asMaterial () override |
| Returns the component in the form of an IMeshMaterial. | |
| IMeshEnvironment * | asEnvironment () override |
| Returns the component in the form of an IMeshMaterial. | |
| ComponentPurePartItemVectorView | pureItems () const override |
| View on the list of pure entities (associated with the global cell) of the component. | |
| ComponentImpurePartItemVectorView | impureItems () const override |
| View on the list of impure (partial) entities of the component. | |
| ComponentPartItemVectorView | partItems (eMatPart part) const override |
| View on the pure or impure part of the component's entities. | |
| MatPurePartItemVectorView | pureMatItems () const override |
| View on the list of pure entities (associated with the global cell) of the material. | |
| MatImpurePartItemVectorView | impureMatItems () const override |
| View on the list of impure (partial) entities of the material. | |
| MatPartItemVectorView | partMatItems (eMatPart part) const override |
| View on the pure or impure part of the material entities. | |
| void | setSpecificExecutionPolicy (Accelerator::eExecutionPolicy policy) override |
| Sets an execution policy for this constituent. | |
| Accelerator::eExecutionPolicy | specificExecutionPolicy () const override |
| Specific execution policy. | |
| IMeshComponentInternal * | _internalApi () override |
| Internal API. | |
| void | setConstituentItem (Int32 index, ConstituentItemIndex id) |
| Int16 | componentId () const |
| void | build () |
| Public functions but reserved for IMeshMaterialMng. | |
| void | resizeItemsInternal (Integer nb_item) |
| MeshComponentData * | componentData () |
| MeshEnvironment * | trueEnvironment () |
| const MeshEnvironment * | trueEnvironment () const |
| Public Member Functions inherited from Arcane::TraceAccessor | |
| TraceAccessor (ITraceMng *m) | |
| Constructs an accessor via the trace manager m. | |
| TraceAccessor (const TraceAccessor &rhs) | |
| Copy constructor. | |
| TraceAccessor & | operator= (const TraceAccessor &rhs) |
| Copy assignment operator. | |
| virtual | ~TraceAccessor () |
| Frees resources. | |
| ITraceMng * | traceMng () const |
| Trace manager. | |
| TraceMessage | info () const |
| Flow for an information message. | |
| TraceMessage | pinfo () const |
| Flow for a parallel information message. | |
| TraceMessage | info (char category) const |
| Flow for an information message of a given category. | |
| TraceMessage | pinfo (char category) const |
| Flow for a parallel information message of a given category. | |
| TraceMessage | info (bool v) const |
| Flow for an information message. | |
| TraceMessage | warning () const |
| Flow for a warning message. | |
| TraceMessage | pwarning () const |
| TraceMessage | error () const |
| Flow for an error message. | |
| TraceMessage | perror () const |
| TraceMessage | log () const |
| Flow for a log message. | |
| TraceMessage | plog () const |
| Flow for a log message. | |
| TraceMessage | logdate () const |
| Flow for a log message preceded by the date. | |
| TraceMessage | fatal () const |
| Flow for a fatal error message. | |
| TraceMessage | pfatal () const |
| Flow for a parallel fatal error message. | |
| TraceMessageDbg | debug (Trace::eDebugLevel=Trace::Medium) const |
| Flow for a debug message. | |
| Trace::eDebugLevel | configDbgLevel () const |
| Debug level of the configuration file. | |
| TraceMessage | info (Int32 verbose_level) const |
| Flow for an information message of a given level. | |
| TraceMessage | linfo () const |
| Flow for an information message with the local information level of this instance. | |
| TraceMessage | linfo (Int32 relative_level) const |
| Flow for an information message with the local information level of this instance. | |
| void | fatalMessage (const StandaloneTraceMessage &o) const |
| Public Member Functions inherited from Arcane::Materials::IMeshMaterial | |
| void | setImiInfo (Int32 first_imi, Int32 nb_imi) |
| Int32 | firstImi () const |
| Int32 | nbImi () const |
Private Attributes | |
| IMeshMaterialMng * | m_material_mng = nullptr |
| MeshMaterialInfo * | m_infos = nullptr |
| MeshEnvironment * | m_environment = nullptr |
| IUserMeshMaterial * | m_user_material = nullptr |
| MeshComponentData | m_data |
| MeshMaterial * | m_non_const_this = nullptr |
| InternalApi | m_internal_api |
Additional Inherited Members | |
| Protected Member Functions inherited from Arcane::TraceAccessor | |
| void | _setLocalVerboseLevel (Int32 v) |
| Int32 | _localVerboseLevel () const |
Mesh material.
Materials are created via IMeshMaterialMng::createMaterial(). Materials cannot be destroyed and all materials must be created during initialization. A material may have no cell.
Definition at line 51 of file MeshMaterial.h.
| Arcane::Materials::MeshMaterial::MeshMaterial | ( | MeshMaterialInfo * | infos, |
| MeshEnvironment * | env, | ||
| const String & | name, | ||
| Int16 | mat_id ) |
Definition at line 43 of file MeshMaterial.cc.
|
inlineoverridevirtual |
Internal API.
Implements Arcane::Materials::IMeshComponent.
Definition at line 145 of file MeshMaterial.h.
|
inlineoverridevirtual |
Returns the component in the form of an IMeshMaterial.
If isEnvironment()==false, returns nullptr
Implements Arcane::Materials::IMeshComponent.
Definition at line 124 of file MeshMaterial.h.
|
inlineoverridevirtual |
Returns the component in the form of an IMeshMaterial.
If isMaterial()==false, returns nullptr
Implements Arcane::Materials::IMeshComponent.
Definition at line 123 of file MeshMaterial.h.
| void Arcane::Materials::MeshMaterial::build | ( | ) |
Public functions but reserved for IMeshMaterialMng.
Definition at line 65 of file MeshMaterial.cc.
References Arcane::ItemGroup::_internalApi(), Arcane::IItemFamily::findGroup(), name(), and Arcane::ItemGroupImplInternal::setAsConstituentGroup().
Referenced by Arcane::Materials::MeshMaterialMng::_createMaterial().
|
overridevirtual |
Group of cells for this material.
Implements Arcane::Materials::IMeshComponent.
Definition at line 152 of file MeshMaterial.cc.
Referenced by Arcane::Materials::MeshEnvironment::_computeMaterialIndexesMonoMat().
|
overridevirtual |
Checks that the component is valid.
Implements Arcane::Materials::IMeshComponent.
Definition at line 143 of file MeshMaterial.cc.
|
inline |
Definition at line 161 of file MeshMaterial.h.
|
inline |
Definition at line 153 of file MeshMaterial.h.
|
inline |
Definition at line 102 of file MeshMaterial.h.
|
overridevirtual |
Environment to which this material belongs.
Implements Arcane::Materials::IMeshMaterial.
Definition at line 79 of file MeshMaterial.cc.
|
overridevirtual |
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.
Implements Arcane::Materials::IMeshComponent.
Definition at line 106 of file MeshMaterial.cc.
References findMatCell().
|
overridevirtual |
Cell of this material for cell c.
If this material is not present in the cell, a null material cell is returned.
The cost of this function is proportional to the number of materials present in the cell.
Implements Arcane::Materials::IMeshMaterial.
Definition at line 88 of file MeshMaterial.cc.
References Arcane::Materials::AllEnvCell::subEnvItems().
Referenced by findComponentCell().
|
inlineoverridevirtual |
Indicates if the component is defined for space space.
Implements Arcane::Materials::IMeshComponent.
Definition at line 122 of file MeshMaterial.h.
References Arcane::Materials::MaterialAndEnvironment.
|
inlineoverridevirtual |
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.
Implements Arcane::Materials::IMeshComponent.
Definition at line 107 of file MeshMaterial.h.
|
overridevirtual |
View on the list of impure (partial) entities of the component.
Implements Arcane::Materials::IMeshComponent.
Definition at line 170 of file MeshMaterial.cc.
|
overridevirtual |
View on the list of impure (partial) entities of the material.
Implements Arcane::Materials::IMeshMaterial.
Definition at line 197 of file MeshMaterial.cc.
|
inlineoverridevirtual |
Material information.
Implements Arcane::Materials::IMeshMaterial.
Definition at line 92 of file MeshMaterial.h.
|
inlineoverridevirtual |
True if the component is an environment.
Implements Arcane::Materials::IMeshComponent.
Definition at line 121 of file MeshMaterial.h.
|
inlineoverridevirtual |
True if the component is a material.
Implements Arcane::Materials::IMeshComponent.
Definition at line 120 of file MeshMaterial.h.
|
inlineoverridevirtual |
Associated manager.
Implements Arcane::Materials::IMeshComponent.
Definition at line 90 of file MeshMaterial.h.
|
overridevirtual |
View associated with this material.
Implements Arcane::Materials::IMeshMaterial.
Definition at line 115 of file MeshMaterial.cc.
Referenced by view().
|
inlineoverridevirtual |
Component name.
Implements Arcane::Materials::IMeshComponent.
Definition at line 93 of file MeshMaterial.h.
Referenced by Arcane::Materials::IncrementalComponentModifier::_addItemsToEnvironment(), Arcane::Materials::MeshEnvironment::_computeMaterialIndexesMonoMat(), Arcane::Materials::IncrementalComponentModifier::_removeItemsFromEnvironment(), and build().
|
overridevirtual |
View on the pure or impure part of the component's entities.
Implements Arcane::Materials::IMeshComponent.
Definition at line 179 of file MeshMaterial.cc.
|
overridevirtual |
View on the pure or impure part of the material entities.
Implements Arcane::Materials::IMeshMaterial.
Definition at line 206 of file MeshMaterial.cc.
|
overridevirtual |
View on the list of pure entities (associated with the global cell) of the component.
Implements Arcane::Materials::IMeshComponent.
Definition at line 161 of file MeshMaterial.cc.
|
overridevirtual |
View on the list of pure entities (associated with the global cell) of the material.
Implements Arcane::Materials::IMeshMaterial.
Definition at line 188 of file MeshMaterial.cc.
| void Arcane::Materials::MeshMaterial::resizeItemsInternal | ( | Integer | nb_item | ) |
Definition at line 134 of file MeshMaterial.cc.
|
inline |
Definition at line 149 of file MeshMaterial.h.
|
inlineoverridevirtual |
Sets an execution policy for this constituent.
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.
Implements Arcane::Materials::IMeshComponent.
Definition at line 134 of file MeshMaterial.h.
|
inlineoverridevirtual |
Sets the associated user material.
Implements Arcane::Materials::IMeshMaterial.
Definition at line 110 of file MeshMaterial.h.
|
inlineoverridevirtual |
Specific execution policy.
Implements Arcane::Materials::IMeshComponent.
Definition at line 138 of file MeshMaterial.h.
|
inlineoverridevirtual |
Associated trace manager.
Implements Arcane::Materials::IMeshComponent.
Definition at line 91 of file MeshMaterial.h.
References Arcane::TraceAccessor::traceMng().
|
inline |
Definition at line 162 of file MeshMaterial.h.
|
inline |
Definition at line 163 of file MeshMaterial.h.
|
inlineoverridevirtual |
Associated user material.
Implements Arcane::Materials::IMeshMaterial.
Definition at line 109 of file MeshMaterial.h.
|
inline |
Definition at line 97 of file MeshMaterial.h.
|
overridevirtual |
View associated with this component.
Implements Arcane::Materials::IMeshComponent.
Definition at line 125 of file MeshMaterial.cc.
References matView().
|
private |
Definition at line 172 of file MeshMaterial.h.
|
private |
Definition at line 170 of file MeshMaterial.h.
|
private |
Definition at line 169 of file MeshMaterial.h.
|
private |
Definition at line 174 of file MeshMaterial.h.
|
private |
Definition at line 168 of file MeshMaterial.h.
|
private |
Definition at line 173 of file MeshMaterial.h.
|
private |
Definition at line 171 of file MeshMaterial.h.