Exemplo n.º 1
0
/*!
 *	Set new object type after create
 *	/param newobject - new md object
 *	\return error code
 */
ERR_Code
aObject::setObject( aCfgItem newobject )
{
	setInited( false );
	obj = newobject;
	return init();
}
Exemplo n.º 2
0
ERR_Code
aDocJournal::initObject()
{
	ERR_Code err = err_noerror;
	aCfgItem mditem, docitem, header;


	journalType=0;

	setInited( true );
	md = 0;
	if ( db ) md = &db->cfg;
	if(!md)
	{
		 aLog::print(aLog::Error, tr("aDocJournal md object not exists"));
		 return err_objnotfound;
	}
//	aObject::initObject();
	journalType= md->attr(obj,mda_type).toInt();
	if (journalType)
	{
		mditem= md->find(obj,md_fieldid);
		if (mditem.isNull())
		{
			aLog::print(aLog::Error, tr("aDocJournal columns not defined"));
			return err;
		}
		else
		{
			aLog::print(aLog::Debug, tr("aDocJournal column defined"));
		}
		docitem= md->parent( md->parent( md->find(md->text(mditem).toLong())));

		header = md->find( docitem, md_header );
		if(header.isNull()) aLog::print(aLog::Error, tr("aDocJournal invalid column define"));
	//table for special journal
		err =  tableInsert( aDatabase::tableDbName( *md, header ), header );
//		printf("table name is %s\n", aDatabase::tableDbName( *md, header ).ascii());
	}
	else
	{
	//table for common journal
		err = tableInsert( "a_journ" );
	}

	return err;
}
Exemplo n.º 3
0
/*!
 *	Init object after create.
 *	Need setObject( id ), where id - if of the metadata object of the adb->cfg loaded Configuration.
 *	\return error code
 */
ERR_Code
aObject::initObject()
{
	aCfgItem fg, f;
	QString tname;

	setInited( true );
//	db = adb;
	md = 0;
	if ( db ) md = &db->cfg;
	else
	{
		aLog::print(aLog::Error, tr("aObject have no database!"));
		return err_nodatabase;
	}
	if ( obj.isNull() )
	{
		aLog::print(aLog::Error, tr("aObject md object not found"));
		return err_objnotfound;
	}
	return err_noerror;
}
Exemplo n.º 4
0
void DrawPassGL::init( const PassDesc &desc )
{
	if( isInited() ) return;
	setInited( true );
	_desc = desc;
	N = desc._buffer_count;
	glGenFramebuffers( 1 , &_framebuffer_id );
	glBindFramebuffer( GL_FRAMEBUFFER , _framebuffer_id );
	int _gl_type;
	int _gl_store;
	int _gl_depth;
	int _gl_format;
	switch( desc._store_type )
	{
	case BufferStoreType::BUFFER_BYTE:
	{
		switch( desc._component_number )
		{
		case 1:
		{
			_gl_type = GL_R8;
			_gl_format = GL_R;
			_gl_store = GL_UNSIGNED_BYTE;
		}
		break;
		case 2:
		{
			_gl_type = GL_RG8;
			_gl_format = GL_RG;
			_gl_store = GL_UNSIGNED_BYTE;
		}
		break;
		case 3:
		{
			_gl_type = GL_RGB8;
			_gl_format = GL_RGB;
			_gl_store = GL_UNSIGNED_BYTE;
		}
		break;
		case 4:
		{
			_gl_type = GL_RGBA8;
			_gl_format = GL_RGBA;
			_gl_store = GL_UNSIGNED_BYTE;
		}
		break;
		}
		_gl_depth = GL_DEPTH_COMPONENT16;
	}
	break;
	case BufferStoreType::BUFFER_FLOAT:
	{
		switch( desc._component_number )
		{
		case 1:
		{
			_gl_format = GL_R;
			_gl_type = GL_R32F;
			_gl_store = GL_FLOAT;
		}
		break;
		case 2:
		{
			_gl_format = GL_RG;
			_gl_type = GL_RG32F;
			_gl_store = GL_FLOAT;
		}
		break;
		case 3:
		{
			_gl_format = GL_RGB;
			_gl_type = GL_RGB32F;
			_gl_store = GL_FLOAT;
		}
		break;
		case 4:
		{
			_gl_format = GL_RGBA;
			_gl_type = GL_RGBA32F;
			_gl_store = GL_FLOAT;
		}
		break;
		}
		_gl_depth = GL_DEPTH_COMPONENT32F;

	}
	break;
	case BufferStoreType::BUFFER_INT:
	{
		switch( desc._component_number )
		{
		case 1:
		{
			_gl_type = GL_R32UI;
			_gl_store = GL_UNSIGNED_INT;
			_gl_format = GL_RED_INTEGER;
		}
		break;
		case 2:
		{
			_gl_type = GL_RG32UI;
			_gl_store = GL_UNSIGNED_INT;
			_gl_format = GL_RG_INTEGER;
		}
		break;
		case 3:
		{
			_gl_type = GL_RGB32UI;
			_gl_store = GL_UNSIGNED_INT;
			_gl_format = GL_RGB_INTEGER;
		}
		break;
		case 4:
		{
			_gl_type = GL_RGBA32UI;
			_gl_store = GL_UNSIGNED_INT;
			_gl_format = GL_RGBA_INTEGER;
		}
		break;
		}
		_gl_depth = GL_DEPTH_COMPONENT32F;
	}
	break;
	}
	if( N > 0 )
	{
		std::unique_ptr< GLenum[] > DrawBuffers( new GLenum[ N ] );
		for( int i = 0; i < N; i++ )
			DrawBuffers[ i ] = GL_COLOR_ATTACHMENT0 + i;
		glDrawBuffers( N , DrawBuffers.get() );
		__texture_pointer_array = std::move( std::unique_ptr< uint[] >( new uint[ N ] ) );
		glGenTextures( N , __texture_pointer_array.get() );
		ito( N )
		{
			if( desc._cubemap )
			{
				glBindTexture( GL_TEXTURE_CUBE_MAP , __texture_pointer_array[ i ] );
				glTexParameterf( GL_TEXTURE_CUBE_MAP , GL_TEXTURE_MIN_FILTER , GL_LINEAR );
				glTexParameterf( GL_TEXTURE_CUBE_MAP , GL_TEXTURE_MAG_FILTER , GL_LINEAR );
				glTexParameterf( GL_TEXTURE_CUBE_MAP , GL_TEXTURE_WRAP_S , GL_CLAMP_TO_EDGE );
				glTexParameterf( GL_TEXTURE_CUBE_MAP , GL_TEXTURE_WRAP_T , GL_CLAMP_TO_EDGE );
				glTexParameterf( GL_TEXTURE_CUBE_MAP , GL_TEXTURE_WRAP_R , GL_CLAMP_TO_EDGE );
				for( int j = 0; j < 6; j++ )
				{
					glTexImage2D( GL_TEXTURE_CUBE_MAP_POSITIVE_X + j , 0 , _gl_type , _desc._size._w , _desc._size._h , 0 , _gl_format , _gl_store , 0 );
				}
				///glFramebufferTexture( GL_FAMEBUFFE , GL_COLO_ATTACHMENT0 + i , __texture_pointer_array[i] , 0 );
				glFramebufferTexture2D( GL_FRAMEBUFFER , GL_COLOR_ATTACHMENT0 + i , GL_TEXTURE_CUBE_MAP_POSITIVE_X , __texture_pointer_array[ i ] , 0 );
			} else
			{
				glBindTexture( GL_TEXTURE_2D , __texture_pointer_array[ i ] );
				glTexImage2D( GL_TEXTURE_2D , 0 , _gl_type , _desc._size._w , _desc._size._h , 0 , _gl_format , _gl_store , 0 );
				glTexParameteri( GL_TEXTURE_2D , GL_TEXTURE_MAG_FILTER , GL_LINEAR );
				glTexParameteri( GL_TEXTURE_2D , GL_TEXTURE_MIN_FILTER , GL_LINEAR );
				glTexParameteri( GL_TEXTURE_2D , GL_TEXTURE_WRAP_S , GL_CLAMP_TO_EDGE );
				glTexParameteri( GL_TEXTURE_2D , GL_TEXTURE_WRAP_T , GL_CLAMP_TO_EDGE );
				glFramebufferTexture2D( GL_FRAMEBUFFER , GL_COLOR_ATTACHMENT0 + i , GL_TEXTURE_2D , __texture_pointer_array[ i ] , 0 );
			}
		}
	}
Exemplo n.º 5
0
/*!
 *\~english
 *	Create wDocument object.
 *\~russian
 *	Создает объект wDocument.
 *\~
 *\param - \~english \~russian \~
 *\param - \~english \~russian \~
 */
wDocument::wDocument( QWidget *parent, Qt::WFlags fl )
    :aWidget( parent, "wDocument", fl )
{
    setInited( false );
}