12#ifndef ARCANE_CARTESIANMESH_INTERNAL_AMRPATCHPOSITIONSIGNATURE_H
13#define ARCANE_CARTESIANMESH_INTERNAL_AMRPATCHPOSITIONSIGNATURE_H
17#include "arcane/cartesianmesh/CartesianMeshGlobal.h"
19#include "arcane/utils/UniqueArray.h"
21#include "arcane/cartesianmesh/AMRPatchPosition.h"
41class AMRPatchPositionSignature
45 AMRPatchPositionSignature();
47 AMRPatchPositionSignature(
const AMRPatchPositionSignature&) =
default;
48 ~AMRPatchPositionSignature() =
default;
56 AMRPatchPositionSignature& operator=(
const AMRPatchPositionSignature&) =
default;
104 std::pair<AMRPatchPositionSignature, AMRPatchPositionSignature>
cut(
Integer dim,
CartCoord cut_point)
const;
ConstArrayView< CartCoord > sigX() const
Method for retrieving the X signature.
bool stopCut() const
Method for determining if the patch can still be cut.
bool isValid() const
Method for determining if the signatures are valid.
ConstArrayView< CartCoord > sigZ() const
Method for retrieving the Z signature.
void compress()
Method for removing zeros at the beginning and end of the signatures.
Real efficacity() const
Method to determine the patch's efficiency.
std::pair< AMRPatchPositionSignature, AMRPatchPositionSignature > cut(Integer dim, CartCoord cut_point) const
Method for cutting the patch. The patch is not modified.
void setStopCut(bool stop_cut)
Method for defining whether the patch can still be cut.
AMRPatchPosition patch() const
Method for retrieving a copy of the patch.
void compute()
Method for calculating the signatures of a patch. This method must be called after construction.
bool isComputed() const
Method for determining whether the compute() method has already been called.
bool canBeCut() const
Method for determining if the patch can be cut into two via the cut() method.
void fillSig()
Method for calculating the signatures.
ConstArrayView< CartCoord > sigY() const
Method for retrieving the Y signature.
Class allowing the definition of a patch position in the Cartesian mesh.
Constant view of an array of type T.
Interface for Cartesian mesh numbering manager.
Interface of a Cartesian mesh.
1D data vector with value semantics (STL style).
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
Int32 CartCoord
Represents a coordinate of an element in the Cartesian grid (in X or Y or Z).
Int32 Integer
Type representing an integer.
double Real
Type representing a real number.
std::int32_t Int32
Signed integer type of 32 bits.