|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--Objeto3D
Modelos tridimensionales del edificio y plano del suelo. El algoritmo de análisis de modelos 3D implementado en esta clase está basado en código de libre distribución: Daeron Meyer 1995. The Geometry Center, University of Minnesota. Se puede encontrar mayor información sobre ficheros "OFF" y librerías gráficas orientadas al objeto en la siguiente URL: http://www.geom.umn.edu/software/geomview/docs/oogltour.html
Field Summary | |
private Coordenadas |
coordsLight
|
(package private) Face[] |
face
|
(package private) int[] |
findex
|
(package private) boolean |
gothead
|
(package private) java.awt.Color[] |
gr
|
(package private) Matrix3D |
mat
|
(package private) int |
MAX_VERTS
|
private int |
mult
|
(package private) int |
nedges
|
(package private) int |
nfaces
|
(package private) int |
nverts
|
(package private) boolean |
transformed
|
(package private) int |
transparencia
|
(package private) int[] |
tvert
|
(package private) float[] |
vert
|
(package private) int[] |
vx
|
(package private) int[] |
vy
|
(package private) int[] |
vz
|
float |
xmax
|
float |
xmin
|
float |
ymax
|
float |
ymin
|
float |
zmax
|
float |
zmin
|
Constructor Summary | |
(package private) |
Objeto3D()
Crea un objeto 3D "vacío". |
(package private) |
Objeto3D(java.io.BufferedReader reader)
Crea un objeto 3D leyendo su descripción geométrica desde el "reader" dado. |
(package private) |
Objeto3D(java.io.InputStream input)
Crea un objeto 3D leyendo su descripción geométrica desde el "stream" dado. |
(package private) |
Objeto3D(java.net.URL loc)
Crea un objeto 3D leyendo su descripción geométrica desde la URL dada. |
Method Summary | |
(package private) void |
analizarModelo(java.io.StreamTokenizer stream)
Analiza la descripción del modelo 3D para generar su geometría. |
private double |
dot(Coordenadas coords1,
Coordenadas coords2)
Calcula el efecto de sombreado en función de la orientación de la cara y el foco lumninoso. |
(package private) void |
findBB()
Calcula los límites exteriores del modelo 3D. |
private Coordenadas |
getCentroid(int[] vx,
int[] vy,
int[] vz,
int nverts)
Calcula el centroide de una cara, |
double |
getCentroide()
Determina la distancia media del observador al centroide global del objeto 3D. |
private Coordenadas |
getLine(Coordenadas coords1,
Coordenadas coords2)
Calcula el vector que une el foco luminoso y el centroide de una cara. |
private Coordenadas |
getNormal(int[] vx,
int[] vy,
int[] vz,
int nverts)
Calcula la recta normal a una cara. |
(package private) void |
paint(java.awt.Graphics g)
Muestra el objeto 3D en pantalla. |
(package private) void |
qs(int left,
int right)
Algoritmo rápido de clasificación para ordenar las caras en función de su distancia z al observador. |
(package private) void |
transform()
Transforma todos los puntos del modelo para poder representarlo en pantalla. |
Methods inherited from class java.lang.Object |
|
Field Detail |
Face[] face
boolean transformed
boolean gothead
Matrix3D mat
public float xmin
public float xmax
public float ymin
public float ymax
public float zmin
public float zmax
float[] vert
int nverts
int nfaces
int nedges
int[] vx
int[] vy
int[] vz
int[] tvert
int[] findex
int transparencia
java.awt.Color[] gr
final int MAX_VERTS
private int mult
private Coordenadas coordsLight
Constructor Detail |
Objeto3D()
Objeto3D(java.net.URL loc)
loc
- URL donde se encuentra la descripción geométrica del objeto 3D.Objeto3D(java.io.InputStream input)
input
- Inputstream que describe la geometría del objeto 3D.Objeto3D(java.io.BufferedReader reader)
input
- BufferedReader que describe la geometría del objeto 3D.Method Detail |
void analizarModelo(java.io.StreamTokenizer stream) throws java.io.IOException
stream
- StreamTokenizer que contiene la descripción geométrica del modelo 3D.void transform()
void qs(int left, int right)
private Coordenadas getCentroid(int[] vx, int[] vy, int[] vz, int nverts)
vx
- Array de coordenadas X de la cara.vy
- Array de coordenadas Y de la cara.vz
- Array de coordenadas Z de la cara.nverts
- Número de vértices de la cara.private Coordenadas getNormal(int[] vx, int[] vy, int[] vz, int nverts)
vx
- Array de coordenadas X de la cara.vy
- Array de coordenadas Y de la cara.vz
- Array de coordenadas Z de la cara.nverts
- Número de vértices de la cara.private Coordenadas getLine(Coordenadas coords1, Coordenadas coords2)
coords1
- Coordenadas del centroide de la cara.coords2
- Coordenadas del foco luminoso.private double dot(Coordenadas coords1, Coordenadas coords2)
coords1
- Normal al plano de la cara.coords2
- Recta que conecta el foco luminoso y el centroide de la cara.void paint(java.awt.Graphics g)
void findBB()
public double getCentroide()
|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |