[C con Clase] Buenos días, tengo un problema con pool de objetos.

Miguel Ángel Torres Fernández-Píñar miguelangeltorresfp en gmail.com
Mie Abr 8 23:38:59 CEST 2015


ok, genial Steven.

Con todo esto estoy tratando de escribir un código que rasterice figuras 3D
en pantalla, pasándole a opengl buffers de píxels, y de momento me estoy
pegando con el recorte, uf, super complejo para mi nivel.

De momento consigo recortar un cubo simple con todos los planos salvo el
plano cercano y el lejano, jejeje.......una movida.....y me falla también
al pasar de un cubo a una figura más compleja, con más vértices.

Alguien ha hecho algo de esto alguna vez ????

Saludos y como siempre muchísimas gracias.

El 8 de abril de 2015, 15:45, Davidson, Steven <srd4121 en njit.edu> escribió:

> Hola Miguel Ángel,
>
> 2015-04-08 0:53 GMT-04:00 Miguel Ángel Torres Fernández-Píñar <
> miguelangeltorresfp en gmail.com>:
>
>> uf, Steven, muchísimas gracias por todos tus apuntes.
>>
>> Me sirve muchísimo todo esto y me hace darme cuenta del enorme camino que
>> me queda aun por delante siquiera para ser un programador junior.
>>
>>
> Siempre estamos aprendiendo - incluso los más veteranos.
>
> De veras, muchas gracias por tu esfuerzo y tiempo desinteresado.
>>
>>
> De nada; para eso estamos :)
>
> De momento comparto esta duda en relación a lo que indicaste arriba.
>>
>> He probado a usar :
>>
>> // Get
>> const T & operator [] ( std::vector<T>::size_type index) const;
>>
>> Pero me funciona si le coloco *typename *delante : ( aunque no entiendo
>> muy bien todo eso )
>>
>> // Get
>> const T & operator [] (typename std::vector<T>::size_type index) const;
>>
>
> Sí. Tienes toda la razón del mundo; ha sido un descuido mío. Como a estas
> alturas el compilador no ha creado la clase 'std :: vector< int >', 'std ::
> vector< std :: string >', 'std :: vector< float >', o la que exista en su
> momento. Sin embargo, el compilador sí puede comprobar ciertos aspectos de
> la plantilla usando la gramática. El problema es que no sabe lo que es
> 'size_type' por lo que no puede determinar si su uso es correcto.
>
> La solución es obligar al compilador a aceptar que la entidad que
> escribimos sí es el nombre de un tipo de dato anteponiendo el vocablo,
> 'typename'. Por lo tanto, si en cualquier momento escribes una expresión
> que se consideraría ambigua, lo más seguro es que escribiendo 'typename' se
> eliminaría tal ambiegüedad.
>
>
> Por cierto, otro consejo es que definas tipos de datos dentro de la
> plantilla; por ejemplo,
>
> template< typename T >
> class pool
> {
> public:
>   typedef T value_type;
>   typedef T * pointer_type;
>   typedef const T * const_pointer_type;
>   typedef T & reference_type;
>   typedef const T & const_reference_type;
>
>   typedef std::vector<value_type> vector_type;
>   typedef typename vector_type::size_type size_type;
>   ...
> };
>
>
> Espero que esto te ayude.
>
> Steven
>
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20150408/8c770947/attachment.html>


Más información sobre la lista de distribución Cconclase