org.nuiton.util
Class MatrixMap.Matrix<E>

java.lang.Object
  extended by org.nuiton.util.MatrixMap.Matrix<E>
All Implemented Interfaces:
Iterable<E>
Enclosing interface:
MatrixMap<E>

public static class MatrixMap.Matrix<E>
extends Object
implements 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
protected  MatrixMap.Vector<E> data
          La matrice en représentation linéaire
protected  int[] dimensions
          Les dimensions de la matrice
protected  int[] linearFactor
          tableau 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
MatrixMap.Matrix(int[] dimensions)
          Crée une nouvelle matrice ayant les dimensions demandées.
 
Method Summary
protected  void checkDim(int dim)
          Permet de vérifier qu'une dimension demandé existe bien dans la matrice
protected  void checkDim(int[] dim)
          Permet de vérifier que les dimensions de la nouvelle matrice sont corrects
protected  void checkPos(int[] pos)
          Verifie que les coordonnées demandé appartiennent bien à la matrice
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.
 boolean equals(Object o)
           
 int[] getDim()
          Retourne un tableau representant les dimensions de la matrice.
 int getDim(int dim)
          Retourne la taille d'une dimension
 int getNbDim()
          Retourne le nombre de dimension de la matrice
 E getValue(int[] pos)
          Retourne un element de la matrice
 MatrixMap.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 spaciales
 void map(MatrixMap.MapFunction f)
          Permet de faire un traitement sur chaque valeur de la matrice
 void setValue(int[] pos, E value)
          Modifie un élement de la matrice
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

dimensions

protected int[] dimensions
Les dimensions de la matrice


data

protected MatrixMap.Vector<E> data
La matrice en représentation linéaire


linearFactor

protected int[] linearFactor
tableau de facteur permettant de convertir les coordonnées dans la matrice en un indice dans la représentation linéaire de la matrice

Constructor Detail

MatrixMap.Matrix

public MatrixMap.Matrix(int[] dimensions)
Crée une nouvelle matrice ayant les dimensions demandées.

Parameters:
factory - factory
dimensions - dimensions
Method Detail

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

public E getValue(int[] pos)
Retourne un element de la matrice

Parameters:
pos - la position de l'element à retourner
Returns:
un element de la matrice

setValue

public void setValue(int[] pos,
                     E value)
Modifie un élement de la matrice

Parameters:
pos - la position de l'element à modifier
value - la nouvelle valeur à mettre dans la matrice

iterator

public MatrixMap.MatrixIterator<E> iterator()
Retourne un objet Inc pret a etre utilisé pour boucler sur tous les element de la matrice.

Specified by:
iterator in interface Iterable<E>
Returns:
un objet Inc pret à être utilisé

map

public void map(MatrixMap.MapFunction f)
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:
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:
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:
NoSuchElementException - si les coordonnées ne correspondent pas à un élement de la matrice

toString

public String toString()
Overrides:
toString in class Object

equals

public boolean equals(Object o)
Overrides:
equals in class Object


Copyright © 2004-2012 CodeLutin. All Rights Reserved.