bool MY_UI_Too::Controls::Image::Set_Texture(std::string file, MY_UI_Too::Utilities::UVs uvs){
	_UVs= uvs;
	if(_Texture != nullptr) _Texture->clear();
	_Texture = Internal::Renderer->LoadTexture(file);
	Set_Size(_Texture->Get_Dimensions());
	return _Texture != nullptr;
}
Beispiel #2
0
bool Db_File::Rewind (void)
{
    Record_Number (-1);

    if (File_Format () == BINARY) {
        return (Offset (First_Offset ()));
    } else if (File_Format () != SQLITE3) {
        file.clear ();
        file.seekg (0);

        if (First_Offset () > 0) {
            int len = 0;

            while (!file.getline (Record_String (), Record ().Max_Read ()).fail ()) {
                Set_Size ();
                len += Record_Size ();

                if (len >= First_Offset ()) {
                    return (true);
                }
            }
            return (Status (FILE_IO));
        }
    }
    return (true);
}
Beispiel #3
0
	// Generate rotation matrix, given Euler angles phi (x), theta (y), and psi (z)
void	XSQUARE_MATRIX::Create_Rotation_Matrix(const double & i_dPhi_Rad,const double &i_dTheta_Rad, const double & i_dPsi_Rad)
{

	if (m_uiN == 0)
		Set_Size(3);
	
	if (m_uiN == 3)
	{
		double	dCosBeta = cos(i_dTheta_Rad);
		double	dSinBeta = sin(i_dTheta_Rad);
		double	dCosAlpha = cos(i_dPhi_Rad);
		double	dSinAlpha = sin(i_dPhi_Rad);
		double	dCosGamma = cos(i_dPsi_Rad);
		double	dSinGamma = sin(i_dPsi_Rad);

		m_lpdValues[0] = dCosGamma * dCosBeta + dSinAlpha * dSinBeta * dSinGamma;
		m_lpdValues[3] = -dSinGamma * dCosBeta + dSinAlpha * dSinBeta * dCosGamma;
		m_lpdValues[6] = dCosAlpha * dSinBeta;

		m_lpdValues[1] = dCosAlpha * dSinGamma;
		m_lpdValues[4] = dCosAlpha * dCosGamma;
		m_lpdValues[7] = -dSinAlpha;

		m_lpdValues[2] = -dCosGamma * dSinBeta + dSinGamma * dSinAlpha * dCosBeta;
		m_lpdValues[5] = dSinGamma * dSinBeta + dCosGamma * dSinAlpha * dCosBeta;
		m_lpdValues[8] = dCosAlpha * dCosBeta;
	}
				


}
Beispiel #4
0
bool Db_Base::Output_Record (void)
{
	if (File_Format () == SQLITE3) {
		int i, j, num, lvalue;
		double dvalue;
		string svalue;
		Db_Field *fld;

		num = Num_Fields ();

		for (i=0, j=1; i < num; i++) {
			fld = Field (i);
			if (Nested () != fld->Nested ()) continue;

			if (Nested ()) {
				if (fld->Type () == DB_INTEGER) {
					Get_Field (i, lvalue);
					sqlite3_bind_int (insert_nest, j+1, lvalue);
				} else if (fld->Type () == DB_DOUBLE) {
					Get_Field (i, dvalue);
					sqlite3_bind_double (insert_nest, j+1, dvalue);
				} else {
					Get_Field (i, svalue);
					sqlite3_bind_text (insert_nest, j+1, svalue.c_str (), -1, SQLITE_TRANSIENT);
				}
			} else {
				if (fld->Type () == DB_INTEGER) {
					Get_Field (i, lvalue);
					sqlite3_bind_int (insert_stmt, j, lvalue);
				} else if (fld->Type () == DB_DOUBLE) {
					Get_Field (i, dvalue);
					sqlite3_bind_double (insert_stmt, j, dvalue);
				} else {
					Get_Field (i, svalue);
					sqlite3_bind_text (insert_stmt, j, svalue.c_str (), -1, SQLITE_TRANSIENT);
				}
			}
			j++;
			
		}
		if (Nested ()) {
			sqlite3_bind_int (insert_nest, 1, parent_id);

			if (sqlite3_step (insert_nest) != SQLITE_DONE) {
				exe->Warning ("Inserting Database: ") << sqlite3_errmsg (db_file);
			}
			if (sqlite3_reset (insert_nest) != SQLITE_OK) {
				exe->Warning ("Inserting Database: ") << sqlite3_errmsg (db_file);
			}
		} else {
			if (sqlite3_step (insert_stmt) != SQLITE_DONE) {
				exe->Warning ("Inserting Database: ") << sqlite3_errmsg (db_file);
			}
			parent_id = (int) sqlite3_last_insert_rowid (db_file);
			if (sqlite3_reset (insert_stmt) != SQLITE_OK) {
				exe->Warning ("Inserting Database: ") << sqlite3_errmsg (db_file);
			}
		}
	} else if (File_Format () == CSV_DELIMITED) {
		int i, j, max;
		string *ptr;
		char *delimiter, *record;
		bool first = true;
		Db_Field *fld;

		delimiter = Delimiters ();
		record = Record_String ();

		for (i=0; i < Num_Fields (); i++) {
			fld = Field (i);
			if (Nested () == fld->Nested ()) {
				ptr = &fld->Buffer ();
				max = (int) ptr->size ();
				if (max > fld->Width ()) max = fld->Width ();

				if (first) {
					first = false;
				} else {
					*record++ = *delimiter;
				}
				for (j=0; j < max; j++) {
					*record++ = (*ptr) [j];
				}
				*record = '\0';
			}
		}
		Set_Size ();
	}
	return (true);
}