-
Notifications
You must be signed in to change notification settings - Fork 0
/
ObjetoGeometria.cs
57 lines (49 loc) · 1.6 KB
/
ObjetoGeometria.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
/**
Autor: Dalton Solano dos Reis
**/
using System;
using System.Collections.Generic;
using CG_Biblioteca;
//FIXME: trazer a lista de Topologia da Classe Cilindro para esta classe. pontosLista deveria ser listaGeometria. Esta classe deveria mudar de nome para representar um objeto solido, quem sabe mudar a atual classe Objeto para ObjetoTransformacao (deixar só a parte das matrizes) e esta classe ser Objeto.
namespace furb_cg_trabalho_final_meinkraft
{
internal abstract class ObjetoGeometria : Objeto
{
protected List<Ponto4D> pontosLista = new List<Ponto4D>();
public ObjetoGeometria(string rotulo, Objeto paiRef) : base(rotulo, paiRef) { }
protected override void DesenharGeometria()
{
DesenharObjeto();
}
protected abstract void DesenharObjeto();
public void PontosAdicionar(Ponto4D pto)
{
pontosLista.Add(pto);
if (pontosLista.Count.Equals(1))
base.BBox.Atribuir(pto);
else
base.BBox.Atualizar(pto);
base.BBox.ProcessarCentro();
}
public void PontosRemoverUltimo()
{
pontosLista.RemoveAt(pontosLista.Count - 1);
}
protected void PontosRemoverTodos()
{
pontosLista.Clear();
}
public Ponto4D PontosUltimo()
{
return pontosLista[pontosLista.Count - 1];
}
protected override void PontosExibir()
{
Console.WriteLine("__ Objeto: " + base.rotulo);
for (var i = 0; i < pontosLista.Count; i++)
{
Console.WriteLine("P" + i + "[" + pontosLista[i].X + "," + pontosLista[i].Y + "," + pontosLista[i].Z + "," + pontosLista[i].W + "]");
}
}
}
}