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; }
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); }
// 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; } }
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); }