// Application int main (void) { Tlist list; initialize_list(&list); insert_to_list_end(&list, CreateComplex(1, 2)); // add 1+2i insert_to_list_end(&list, CreateComplex(2, 3)); // add 2+3i insert_to_list_end(&list, CreateComplex(3, 4)); // add 3+4i insert_to_list_end(&list, CreateComplex(4, 5)); // add 4+5i print_list(list); cleanup_list(&list); heapleak(); fflush(stdin); getchar(); //heapdump(); }
////////////////////////////////////////////////////////////////////// // Descripcion: // - Crea una superficie compleja y le asocia una superficie para que // sea backbuffer. En caso de que todo vaya bien, se intentara // crear un objeto para controla el gamma. // Parametros: // - poDXDraw: Instancia a clase DXDraw con objeto DirectDraw. // - ubNumBackBuffers: Numero de buffers en superficie compleja. // - poBackBuffer: Puntero a superfice que hara de backbuffer y sera // de tipo ATTACHED, acabando asociada a la compleja creada. // - wMem: Tipo de memoria en donde crear la superficie compleja. // - bD3DSurface: True si la superficie se va a utilizar con un device // 3D y false en caso contrario. Por defecto vale false. // Devuelve: // - true: Todo fue bien. // - false: Existieron problemas // Notas: // - Este metodo es ideal para crear, rapidamente, un sistema de // intercambio con superficie compleja. Simplemente realiza las // dos llamadas que hay que efectuar por separado, aqui dentro. // - En caso de que ya haya creada una superficie, la liberara. ////////////////////////////////////////////////////////////////////// bool DXDDSurfaceScreen::CreateComplex(const DXDraw* const poDXDraw, const byte ubNumBackBuffers, DXDDSurfaceBack* const poBackBuffer, const DXDDDefs::DXDDMemType& wMem, const bool bD3DSurface) { // SOLO si existe puntero a la supercie pasada DXASSERT(NULL != poBackBuffer); // SOLO si superficie pasada no esta creada DXASSERT(DXDDDefs::SURFACETYPE_NOCREATED == poBackBuffer->GetType()); if (CreateComplex(poDXDraw, ubNumBackBuffers, wMem, bD3DSurface)) { // Se ha creado la superficie compleja if(AttachToComplex(poBackBuffer)) { // Se logro asociar el backbuffer // Se guarda la referencia al BackBuffer m_poBackBuffer = poBackBuffer; // Todo correcto return true; } } // Existieron problemas return false; }
CollapsedAKQReducedCubSComplexSupplier<Traits>::CollapsedAKQReducedCubSComplexSupplier(CubSComplexPtr cubSComplex) { _logger.Begin(FGLogger::Details, "converting CubCellSet -> CubSet"); CubSetPtr cubSet = CubSetFactory<CubSet>::ConvertCubCellSet(cubSComplex->getCubCellSet(), true); _logger.End(); CreateComplex(cubSet); CreateAlgorithm(); }
CollapsedAKQReducedCubSComplexSupplier<Traits>::CollapsedAKQReducedCubSComplexSupplier(DebugComplexType type) { CubSetPtr cubSet = CubSetFactory<CubSet>::Create(type, true); CreateComplex(cubSet); CreateAlgorithm(); }
CollapsedAKQReducedCubSComplexSupplier<Traits>::CollapsedAKQReducedCubSComplexSupplier(const char* filename) { CubSetPtr cubSet = CubSetFactory<CubSet>::Load(filename, true); CreateComplex(cubSet); CreateAlgorithm(); }