Package org.nuiton.util
Class MatrixMap.Matrix<E>
java.lang.Object
org.nuiton.util.MatrixMap.Matrix<E>
- Type Parameters:
E- FIXME
- All Implemented Interfaces:
java.lang.Iterable<E>
public static class MatrixMap.Matrix<E>
extends java.lang.Object
implements java.lang.Iterable<E>
Objet matrice qui ne permet que le stockage avec des positions int
dans une matrice a autant de dimension que l'on souhaite.
-
Field Summary
Fields Modifier and Type Field Description protected MatrixMap.Vector<E>dataLa matrice en représentation linéaireprotected int[]dimensionsLes dimensions de la matriceprotected int[]linearFactortableau de facteur permettant de convertir les coordonnées dans la matrice en un indice dans la représentation linéaire de la matrice -
Constructor Summary
Constructors Constructor Description Matrix(int[] dimensions)Crée une nouvelle matrice ayant les dimensions demandées. -
Method Summary
Modifier and Type Method Description protected voidcheckDim(int dim)Permet de vérifier qu'une dimension demandé existe bien dans la matriceprotected voidcheckDim(int[] dim)Permet de vérifier que les dimensions de la nouvelle matrice sont correctsprotected voidcheckPos(int[] pos)Verifie que les coordonnées demandé appartiennent bien à la matriceprotected intcoordonatesToLinear(int[] coordonates)Permet de convertir les coordonnées d'un élément en un indice dans la représentation linéraire de la matrice.booleanequals(java.lang.Object o)int[]getDim()Retourne un tableau representant les dimensions de la matrice.intgetDim(int dim)Retourne la taille d'une dimensionintgetNbDim()Retourne le nombre de dimension de la matriceEgetValue(int[] pos)Retourne un element de la matriceMatrixMap.MatrixIterator<E>iterator()Retourne un objet Inc pret a etre utilisé pour boucler sur tous les element de la matrice.protected int[]linearToCoordinates(int pos)Convertie une coordonnée lineaire en coordonnées spacialesvoidmap(MatrixMap.MapFunction f)Permet de faire un traitement sur chaque valeur de la matricevoidsetValue(int[] pos, E value)Modifie un élement de la matricejava.lang.StringtoString()
-
Field Details
-
dimensions
protected int[] dimensionsLes dimensions de la matrice -
data
La matrice en représentation linéaire -
linearFactor
protected int[] linearFactortableau de facteur permettant de convertir les coordonnées dans la matrice en un indice dans la représentation linéaire de la matrice
-
-
Constructor Details
-
Matrix
public Matrix(int[] dimensions)Crée une nouvelle matrice ayant les dimensions demandées.- Parameters:
dimensions- dimensions
-
-
Method Details
-
getNbDim
public int getNbDim()Retourne le nombre de dimension de la matrice- Returns:
- le nombre de dimension de la matrice;
-
getDim
public int getDim(int dim)Retourne la taille d'une dimension- Parameters:
dim- la dimension dont on souhaite la taille- Returns:
- la taille d'une dimension
-
getDim
public int[] getDim()Retourne un tableau representant les dimensions de la matrice. Le tableau retourné n'est pas une copie, il ne faut donc pas le modifier- Returns:
- le tableau des dimensions.
-
getValue
Retourne un element de la matrice- Parameters:
pos- la position de l'element à retourner- Returns:
- un element de la matrice
-
setValue
Modifie un élement de la matrice- Parameters:
pos- la position de l'element à modifiervalue- la nouvelle valeur à mettre dans la matrice
-
iterator
Retourne un objet Inc pret a etre utilisé pour boucler sur tous les element de la matrice.- Specified by:
iteratorin interfacejava.lang.Iterable<E>- Returns:
- un objet Inc pret à être utilisé
-
map
Permet de faire un traitement sur chaque valeur de la matrice- Parameters:
f- la fonction a appliquer à chaque élement de la matrice
-
coordonatesToLinear
protected int coordonatesToLinear(int[] coordonates)Permet de convertir les coordonnées d'un élément en un indice dans la représentation linéraire de la matrice.- Parameters:
coordonates- les coordonnées à lineariser- Returns:
- un indice réprésentant les coordonnées de façon linéaire
-
linearToCoordinates
protected int[] linearToCoordinates(int pos)Convertie une coordonnée lineaire en coordonnées spaciales- Parameters:
pos- la coordonnée linéaire- Returns:
- les coordonnées spaciales de l'élément
-
checkDim
protected void checkDim(int[] dim)Permet de vérifier que les dimensions de la nouvelle matrice sont corrects- Parameters:
dim- les dimensions de la nouvelle matrice- Throws:
java.lang.IllegalArgumentException- si une dimension n'est pas valide
-
checkDim
protected void checkDim(int dim)Permet de vérifier qu'une dimension demandé existe bien dans la matrice- Parameters:
dim- la position de la dimension que l'on souhaite- Throws:
java.lang.IndexOutOfBoundsException- si la dimension demandée n'existe pas
-
checkPos
protected void checkPos(int[] pos)Verifie que les coordonnées demandé appartiennent bien à la matrice- Parameters:
pos- les coordonnées souhaitées dans la matrice- Throws:
java.util.NoSuchElementException- si les coordonnées ne correspondent pas à un élement de la matrice
-
toString
public java.lang.String toString()- Overrides:
toStringin classjava.lang.Object
-
equals
public boolean equals(java.lang.Object o)- Overrides:
equalsin classjava.lang.Object
-