sabato 12 dicembre 2009

ENGINE 3D openGL, ancora ombre


nuova immagine del l'engine 3D che sto realizando... (dopo 2 settimane ci rimetto le mani sopra XD)

rispetto al vecchio codicce ho corretto dei errori riguardanti l'estrusione della mesh, rispetto alla luce ...
inoltre ora è strutturato in modo che tutte le mesh possano proiettare lombra....
inoltre volendo ci possono essere vare sorgenti di luce :

domenica 6 dicembre 2009

SQLite e JAVA

Per semplificare l'interfaccia tra SQLite e Java ho scritto una piccola libreria composta da 3 classi:




-GetSQLDriver
-SQLib
-SQLEasy

Documentazione:

//libreria carica driver SQL
GetSQLDriver:

il metodo load carica il driver SQL
   driver= cartella dove si trova il driver (default="org.sqlite.JDBC")
  
   public static void load(String driver="org.sqlite.JDBC");


//Libreria gestione Database
SQLib:

il costruttore
   name=indicato il data base da caricare
   public SQLlib(String name);


metodo che chiude il database
   public void SQLClose();


metodo per modificare il db con istruzioni SQLite
   ed=comando SQLite
   public void addMod(String ed);


motodo che restituisce un dato dal DB, la natura del dato va specificata in SQLite
  ed=comando SQLite
  ResultSet= lista valori restituiti
  public ResultSet getMod(String ed)




//Libreria gestione Database, semplificata
SQLEasy:

il costruttore
   name=indicato il data base da caricare
   public SQLEasy(String name);


metodo che chiude il database
   public void SQLClose();


metodo per modificare il db con istruzioni SQLite
   ed=comando SQLite
   public void addMod(String ed);


motodo che restituisce un dato dal DB, la natura del dato va specificata in SQLite
  ed=comando SQLite
  ResultSet= lista valori restituiti
  public ResultSet getMod(String ed)

motodo veloce per creare una tabella
    a=nome tabella
    b=attributi tabella (in SQLite)
    public void crateTable(String a,String b);

motodo veloce per inserire i dati in una tabella
    a=nome tabella
    b=valori da inserire nella tabella (in SQLite)
    public void putValues(String a,String b);

motodo veloce per eliminare una tabella
    a=nome tabella
    public void deleteTable(String a);

motodo veloce per eliminare una riga
    a=nome tabella
    b=caratteristiche che ha il records da eliminare (in SQLite)
    public void deleteRecords(String a,String b);

motodo veloce per conoscere i dati di una tabella
    nTabella=nome della tabella
    nColonne[]=array contenente i nomi delle colonne
    records=valore boolean
         -true verrà restituita una array a due dimenzioni
               dove la prima indicherà il records ed la seconda i dati in esso contenuti


         -false verrà restituita una array a due dimenzioni
               dove la prima indicherà la colonna ed la seconda i dati in essa contenuti

    public String[][] getArrayFrom(String nTabella,String[] nColonne,boolean records=true)







Esempio:


//importo le classi per gestire SQLite
import java.sql.*;

class DbTest{
public DbTest (){
  GetSQLDriver.load(); // carico il driver
  SQLEasy test1=new SQLEasy("Test1.db"); // carico db

  //creo la tabella ed immetto i valori in essa
  test1.crateTable(“tab1”,”id int, nome char[250] ”);
  test1.putValues(“tab1”,”0,’ciao0’ ”);
  test1.putValues(“tab1”,”1,’ciao1’ ”);
  test1.putValues(“tab1”,”2,’ciao2’ ”);

 
  String[] t={“id”,”nome”};
   //stampo (tipo righe)
  printArrayRecords(
                                test1.getArrayFrom("uno",h),”Numero | Nome” ," | ","----------");
                                 );

  //cancello la riga 1
  test1.deleteRecords(“tab1”,”id=1”);


   //stampo (tipo colonne)
  printArrayColonne (
                                test1.getArrayFrom("uno",h,false),”Numero | Nome” ," | ","----------");
                                 );

  //cancella la tabella
  public void deleteTable(“tab1”);

  //chiudo il database
  test1.SQLClose()

}

public static void main(String[] args){
new DbTest();
}

 public void printArrayRecords(String[][] array,String x,String sv,String so){
    if(array!=null){
    System.out.println(x);
        for(int j=0;j<array.length;j++){
          for(int i=0;i<array[j].length;i++){ 
            System.out.print(array[j][i]+sv);
           }
          System.out.println("");
          System.out.println(so);
        }  
        }
    }
 
  DbTest
  public void printArrayColonne(String[][] array,String x,String sv,String so){
    if(array!=null){
    System.out.println(x);
        for(int j=0;j<array[0].length;j++){
          for(int i=0;i<array.length;i++){ 
            System.out.print(array[i][j]+sv);
           }
          System.out.println("");
          System.out.println(so);
        }  
        }
    }
}


giovedì 3 dicembre 2009

STRUTTURA DATA BASE

Ecco a lei professore la struttura del database creata da pampanelli andrea e me