dimanche 7 novembre 2010

Exo 1 TP4 sphere.cpp

#include "Sphere.hpp"
 #include <iostream>
 using namespace std;
   void Sphere::afficher(){
    cout << "Center: ";
    center.afficher() ;
    cout << endl << "Radius: " << radius ;
    cout << endl << "Matériau: " << materiau;
    cout << endl;
    Objet3D::afficher();
     }
   void Sphere::translater(Point3D tp, float tr){
    float ix, iy, iz;
    tp.lire(ix, iy, iz);
    center.translater(ix,iy,iz);
    radius += tr;
   }

 void Sphere::lire_radius(float& rd){
    rd  = radius;
 }
  void Sphere::donnerRayon(float& rd){
   rd  = radius;
  }
  void Sphere::donnerCenter(Point3D& cntr){
   cntr = center;
  }
  void  Sphere::donnerVolume(float& v){
         v  = (4/3)*3.14*radius*radius*radius;
  }
  void Sphere::miseEchelle(float f){
         radius  = f*radius;
  }
  int Sphere::compare(Sphere S){
    float rS, vS, v;
    S.lire_radius(rS);
    vS = (4/3)*3.14*rS*rS*rS;
    v  = (4/3)*3.14*radius*radius*radius;
    if (v <= vS){
     if (v == vS)
     return 0;
     else
      return -1;
    }
    else
    return 1;
     
   }

EXO1 TP4 Sphere.hpp

#ifndef _SPHERE_HPP
#define _SPHERE_HPP
#include <string>
#include "Point3D.hpp"
#include "Objet3D.hpp"
using namespace std;
class Sphere: public Objet3D {
private:
  Point3D  center;
  float radius;
  string materiau;
   
public:
  Sphere(Point3D p, float r = 1.0, string m = "verre", Couleur c) : Objet3D(c), center(p), radius(r), materiau(m) {};
  void afficher();
  void translater(Point3D tp, float tr);
  void lire_radius(float& rd);
  void donnerRayon(float& rd);
  void donnerCenter(Point3D& cntr);
  void donnerVolume(float& v);
  void miseEchelle(float f);
  int  compare(Sphere S);
  
}; // classe Sphere
#endif

mardi 2 novembre 2010

EyeDB ?

EyeDB

EyeDB est un Système de Gestion de Base de Données Objet (SGBDO) open source. EyeDB est un logiciel développé Eric Viara et la société SYSRA.

EyeDB est un SGBD Objet, alors que les SGBD open source connus (MySQL, PostgreSQL) sont des SGBD relationnels (SGBDR). Dans un SGBD Objet, les données sont stockées dans la base sous forme d’objets typés et non de tables plates. Un SGBD Objet est mieux adapté au développement orienté objet; il permet de s’affranchir des couches de mapping objet/relationnel qui ont un impact non négligeable sur la performance et offre une puissance de modélisation beaucoup plus puissante qu’un SGBDR.
EyeDB ayant été initialement développé sur Solaris.

Les caractéristiques principales de EyeDB sont:
  • une architecture client/serveur
  • un langage de définition de type ODL basé sur ODMG ODL
  • un langage interprété de requête et de manipulation d’objets OQL basé sur ODMG OQL
  • des services transactionnels complets
  • une indépendance vis-à-vis d’un langage de programmation particulier (interfaces de programmation en C++, Java, PHP, Python)
  • performance et scalabilité remarquables: bases de plusieurs téraoctets et plusieurs centaines de millions d’objets
EyeDB est un projet sans équivalent dans le domaine de l’open source. Les seules bases de données objets open source disponibles aujourd’hui sont db4o (limité à Java, pas de langage de définition de type ni de language interprété de requête, moins performant) et ZODB (la base de données objet de ZOPE, Python seulement, pas de langage de définition de types ni de language de requête interprété, probablement aussi moins performant). Les équivalents de EyeDB sont à chercher dans le monde propriétaire, en particulier Versant et Objectivity.