-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathCara.cpp
More file actions
67 lines (53 loc) · 1.77 KB
/
Cara.cpp
File metadata and controls
67 lines (53 loc) · 1.77 KB
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
58
59
60
61
62
63
64
65
66
67
#include "Cara.h"
#include <iostream>
//Constructor vacío
Cara::Cara() {
// Inicialización si es necesario
}
//Getters
unsigned int Cara::obtenerIndiceCar() {
return indiceCar;
}
unsigned int Cara::obtenerCantidadVerticesCar() {
return cantidadVerticesCar;
}
std::list<Arista> Cara::obtenerListaAristas() {
return listaAristas;
}
//Setters
void Cara::fijarIndiceCar(unsigned int indice) {
this->indiceCar = indice;
}
void Cara::fijarCantidadVerticesCar(unsigned int cantVertices) {
this->cantidadVerticesCar = cantVertices;
}
void Cara::fijarListaAristas(std::list<Arista> lista) {
this->listaAristas = lista;
}
//Método para imprimir la cara
void Cara::imprimirCara(){
std::cout << "Cara [indice: " << indiceCar << ", cantidad de vertices: " << cantidadVerticesCar << "]\n";
for (Arista& arista : listaAristas) {
arista.imprimirArista();
}
}
//Método para agregar una arista a la lista
void Cara::agregarArista(Arista edge) {
listaAristas.push_back(edge);
}
//Método para eliminar una arista de la lista
void Cara::eliminarArista(int edgeIndex) {
std::list<Arista>::iterator itAris;
std::list<Arista>::iterator aux;
itAris = listaAristas.begin();
for(;itAris!=listaAristas.end();itAris++){
if(itAris->obtenerIndiceAr()==edgeIndex){
aux = itAris;
listaAristas.erase(aux);
}
}
}
//Método para contar el número de aristas en la lista
unsigned int Cara::contarAristas(std::list<Arista> lista) {
return lista.size();
}