public class SLinearApertureLight extends SAbstractInterferenceLight
La classe SLinearApertureLight représente une source de lumière composé de plusieurs sources ponctuelles alignée sur une ligne. Dans la littérature, ce type de source cause de l'interférence par fente simple portant le nom de single slit en anglais.
Dans cette implémentation, le nombre d'oscillateur à l'intérieur de la fente peut être déterminé ce qui permet de simuler
AMBIENT_LIGHT_CODE, APERTURE_MASK_LIGHT_CODE, DIRECTIONAL_LIGHT_CODE, ELLIPTICAL_APERTURE_LIGHT_CODE, LINEAR_APERTURE_LIGHT_CODE, POINT_LIGHT_CODE, RECTANGULAR_APERTURE_LIGHT_CODE
Constructor and Description |
---|
SLinearApertureLight()
Constructeur d'une ouverture linéaire par défaut.
|
SLinearApertureLight(double wave_length,
SVector3d P1,
SVector3d P2,
double amp,
double cst_att,
double lin_att,
double quad_att,
int period_iteration,
int nb_oscillator)
Constructeur d'une source de lumière à ouverture linéaire pouvant réaliser de l'interférence.
|
SLinearApertureLight(SBufferedReader sbr)
Constructeur Constructeur d'une source de lumière à ouverture linéaire pouvant réaliser de l'interférence
à partir d'information lue dans un fichier de format txt.
|
Modifier and Type | Method and Description |
---|---|
int |
getCodeName()
Méthode pour obtenir le numéro correspondant au nom de la source de lumière.
|
java.lang.String |
getReadableName()
Méthode pour obtenir le nom de l'objet implémentant l'interface SReadable.
|
java.lang.String[] |
getReadableParameterName()
Méthode pour obtenir un tableau des mots clés permettant de définir les paramètres de l'objet implémentant l'interface SReadable lors de sa lecture.
|
void |
write(java.io.BufferedWriter bw)
Méthode pour écrire un objet SWriteable dans un fichier txt en utilisant un BufferedWriter.
|
getRelativeIntensity
amplification, attenuation, getOrientation, getPosition
getColor
write
read
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
amplification, attenuation, getOrientation, getPosition
public SLinearApertureLight()
public SLinearApertureLight(double wave_length, SVector3d P1, SVector3d P2, double amp, double cst_att, double lin_att, double quad_att, int period_iteration, int nb_oscillator) throws SConstructorException
wave_length
- La longueur d'onde de la source de lumière (en nm).P1
- Le premier point définissant la ligne d'oscillateurs de la source de lumière.P2
- Le deuxième point définissant la ligne d'oscillateurs de la source de lumière.position
- La position de la source.amp
- Le facteur d'amplification de la source de lumière.cst_att
- La constante d'atténuation à taux constant.lin_att
- La constante d'atténuation à taux linéaire.quad_att
- La constante d'atténuation à taux quadratique.period_iteration
- Le nombre d'itérations réalisées dans les calculs effectués sur un cycle de période d'oscillation des oscillateurs.nb_oscillator
- Le nombre d'oscillateur dans l'axe de la plus petite dimension (entre width et height).SConstructorException
- Si une erreur est survenue à la construction.public SLinearApertureLight(SBufferedReader sbr) throws java.io.IOException, SConstructorException
sbr
- Le BufferedReader cherchant l'information dans le fichier txt.java.io.IOException
- Si une erreur de l'objet SBufferedWriter est lancée.SException
- Si des facteurs d'atténuation sont initialisés avec des valeurs erronées.SConstructorException
- Si une erreur est survenue à la construction.SBufferedReader
public void write(java.io.BufferedWriter bw) throws java.io.IOException
SWriteable
bw
- - Le buffer pour l'écriture.java.io.IOException
- Si une erreur de type I/O a été lancée par l'objet BufferedWriter.BufferedWriter
public java.lang.String getReadableName()
SReadable
public java.lang.String[] getReadableParameterName()
SReadable
getReadableParameterName
in interface SReadable
getReadableParameterName
in class SAbstractInterferenceLight
public int getCodeName()
SLight