--- a/easy3d/easy3d.xml Tue Apr 29 10:30:15 2008 +0200
+++ b/easy3d/easy3d.xml Tue Apr 29 13:45:12 2008 +0200
@@ -1,42 +1,47 @@
<editor>
<var name="app_user_screensize" value="0"/>
-<var name="app_maxfps" value="30"/>
+<var name="app_maxfps" value="27"/>
<var name="app_zbuffer" value="16"/>
<var name="app_fov" value="45"/>
<var name="app_width" value="1680"/>
<var name="app_height" value="1050"/>
<var name="app_width" value="1600"/>
<var name="app_height" value="1200"/>
-<var name="app_width" value="1024"/>
-<var name="app_height" value="768"/>
+<var name="app_width" value="1280"/>
+<var name="app_height" value="1024"/>
<var name="app_depth" value="24"/>
-<var name="app_fullscreen" value="0"/>
+<var name="app_fullscreen" value="1"/>
<var name="app_camera_step" value="100"/>
<var name="app_drawstats" value="0"/>
-<var name="app_font" value="/usr/share/fonts/truetype/ttf-bitstream-vera/Vera.ttf"/>
+<var name="app_font" value="/usr/share/fonts/ttf-bitstream-vera/Vera.ttf"/>
<var name="app_font_size" value="16"/>
<var name="app_font_texture_size" value="16"/>
<var name="app_camera_pos" value="Vec3 2 20 30"/>
<var name="app_camera_pos" value="Vec3 0 0 0.7"/>
<var name="app_camera_free" value="0"/>
-<var name="app_filter_events" value="0"/>
+<var name="app_filter_events" value="1"/>
<!-- easy3d application configuration -->
-<var name="easy3d_release_version" value="0"/>
+<var name="easy3d_release_version" value="1"/>
<var name="easy3d_universe_mapfile" value="/tmp/easy3d_map_universe.xml"/>
<var name="easy3d_galaxy_mapfile" value="/tmp/easy3d_map_galaxy.xml"/>
<var name="easy3d_planet_mapfile" value="/tmp/easy3d_map_planet.xml"/>
+<!-- path to load data -->
+<var name="easy3d_verbose" value="0"/>
+<var name="easy3d_datadir" value="../easy3d-data/"/>
+<var name="easy3d_autostart_nb_directory" value="2"/>
+<var name="easy3d_autostart_directory00" value="/usr/share/autostart/"/>
+<var name="easy3d_autostart_directory01" value="/usr/share/3dsquare/autostart/"/>
+<var name="easy3d_autostart_script" value="@prefix@/share/easy3d/easy3d_autostart"/>
<!-- universe content file -->
-<var name="easy3d_verbose" value="0"/>
-<var name="universe_datadir" value="../easy3d-data"/>
+<!-- old value var name="universe_tree_file" value="/usr/share/easyneuf/easyneuf.xml"/ -->
+<!--<var name="universe_datadir" value="/usr/share/easy3d"/> -->
<var name="universe_tree_file" value="easyneuf.xml"/>
-<!-- path to load data -->
-<var name="easy3d_datadir" value="../easy3d-data/"/>
<!-- scene cube common -->
<var name="angle_rotation" value="100"/>
@@ -159,39 +164,39 @@
<var name="galaxy_anim_cube_fade_target" value="1"/>
<var name="galaxy_anim_cube_fade_clamp_factor" value="1"/>
-<var name="galaxy_return_text" value="Back" />
-<var name="galaxy_click_text" value="Click me" />
-
-<var name="galaxy_cube_diffuse_ADV" value="Vec4 1 0.7 0 1"/>
-<var name="galaxy_cube_diffuse_ADV_when_blended" value="Vec4 1 0.7 0 0.2"/>
-<var name="galaxy_cube_diffuse_APP" value="Vec4 0.1 0.1 0.8 1"/>
-<var name="galaxy_cube_diffuse_APP_when_blended" value="Vec4 0.1 0.1 0.8 0.2"/>
-<var name="galaxy_cube_diffuse_BUR" value="Vec4 0.8 0 0.8 1"/>
-<var name="galaxy_cube_diffuse_BUR_when_blended" value="Vec4 0.8 0 0.8 0.2"/>
-<var name="galaxy_cube_diffuse_CLT" value="Vec4 0.1 0.2 0.8 1"/>
-<var name="galaxy_cube_diffuse_CLT_when_blended" value="Vec4 0.1 0.2 0.8 0.2"/>
-<var name="galaxy_cube_diffuse_COM" value="Vec4 0.2 0.3 0.8 1"/>
-<var name="galaxy_cube_diffuse_COM_when_blended" value="Vec4 0.2 0.3 0.8 0.2"/>
-<var name="galaxy_cube_diffuse_GAM" value="Vec4 1 0.2 0.5 1"/>
-<var name="galaxy_cube_diffuse_GAM_when_blended" value="Vec4 1 0.2 0.5 0.2"/>
-<var name="galaxy_cube_diffuse_GAT" value="Vec4 0.3 0.7 1 1"/>
-<var name="galaxy_cube_diffuse_GAT_when_blended" value="Vec4 0.3 0.7 1 0.2"/>
-<var name="galaxy_cube_diffuse_INF" value="Vec4 1 0.3 0.6 1"/>
-<var name="galaxy_cube_diffuse_INF_when_blended" value="Vec4 1 0.3 0.6 0.2"/>
-<var name="galaxy_cube_diffuse_PRA" value="Vec4 1 0.2 0 1"/>
-<var name="galaxy_cube_diffuse_PRA_when_blended" value="Vec4 1 0.2 0 0.2"/>
-<var name="galaxy_cube_diffuse_REC" value="Vec4 1 0 0 1"/>
-<var name="galaxy_cube_diffuse_REC_when_blended" value="Vec4 1 0 0 0.2"/>
-<var name="galaxy_cube_diffuse_SAN" value="Vec4 0.25 0.9 0.7 1"/>
-<var name="galaxy_cube_diffuse_SAN_when_blended" value="Vec4 0.25 0.9 0.7 0.2"/>
-<var name="galaxy_cube_diffuse_SOL" value="Vec4 0 0.2 1 1"/>
-<var name="galaxy_cube_diffuse_SOL_when_blended" value="Vec4 0 0.2 1 0.2"/>
-<var name="galaxy_cube_diffuse_TOU" value="Vec4 1 0.3 0 1"/>
-<var name="galaxy_cube_diffuse_TOU_when_blended" value="Vec4 1 0.3 0 0.2"/>
-<var name="galaxy_cube_diffuse_APPL" value="Vec4 0.8 0 0.8 1"/>
-<var name="galaxy_cube_diffuse_APPL_when_blended" value="Vec4 0.8 0 0.8 0.2"/>
-<var name="galaxy_cube_diffuse_DEV" value="Vec4 0.8 0 0.8 1"/>
-<var name="galaxy_cube_diffuse_DEV_when_blended" value="Vec4 0.8 0 0.8 0.2"/>
+<var name="galaxy_return_text" value="retour" />
+<var name="galaxy_click_text" value="Cliquez" />
+
+<var name="galaxy_cube_diffuse_ADV" value="Vec4 0.9 0.7 0.1 1"/>
+<var name="galaxy_cube_diffuse_ADV_when_blended" value="Vec4 0.9 0.7 0.1 0.2"/>
+<var name="galaxy_cube_diffuse_APP" value="Vec4 0.1 0.4 0.7 1"/>
+<var name="galaxy_cube_diffuse_APP_when_blended" value="Vec4 0.1 0.4 0.7 0.2"/>
+<var name="galaxy_cube_diffuse_BUR" value="Vec4 0.6 0.1 0.6 1"/>
+<var name="galaxy_cube_diffuse_BUR_when_blended" value="Vec4 0.6 0.1 0.6 0.2"/>
+<var name="galaxy_cube_diffuse_CLT" value="Vec4 0.1 0.4 0.7 1"/>
+<var name="galaxy_cube_diffuse_CLT_when_blended" value="Vec4 0.1 0.4 0.7 0.2"/>
+<var name="galaxy_cube_diffuse_COM" value="Vec4 0.2 0.5 0.7 1"/>
+<var name="galaxy_cube_diffuse_COM_when_blended" value="Vec4 0.2 0.5 0.7 0.2"/>
+<var name="galaxy_cube_diffuse_GAM" value="Vec4 0.8 0.4 0.5 1"/>
+<var name="galaxy_cube_diffuse_GAM_when_blended" value="Vec4 0.8 0.4 0.5 0.2"/>
+<var name="galaxy_cube_diffuse_GAT" value="Vec4 0.4 0.7 0.8 1"/>
+<var name="galaxy_cube_diffuse_GAT_when_blended" value="Vec4 0.4 0.7 0.8 0.2"/>
+<var name="galaxy_cube_diffuse_INF" value="Vec4 0.9 0.5 0.6 1"/>
+<var name="galaxy_cube_diffuse_INF_when_blended" value="Vec4 0.9 0.5 0.6 0.2"/>
+<var name="galaxy_cube_diffuse_PRA" value="Vec4 0.8 0.5 0.1 1"/>
+<var name="galaxy_cube_diffuse_PRA_when_blended" value="Vec4 0.8 0.5 0.1 0.2"/>
+<var name="galaxy_cube_diffuse_REC" value="Vec4 0.4 0 0 1"/>
+<var name="galaxy_cube_diffuse_REC_when_blended" value="Vec4 0.4 0 0 0.2"/>
+<var name="galaxy_cube_diffuse_SAN" value="Vec4 0.6 0.8 0.7 1"/>
+<var name="galaxy_cube_diffuse_SAN_when_blended" value="Vec4 0.6 0.8 0.7 0.2"/>
+<var name="galaxy_cube_diffuse_SOL" value="Vec4 0 0.3 0.8 1"/>
+<var name="galaxy_cube_diffuse_SOL_when_blended" value="Vec4 0 0.3 0.8 0.2"/>
+<var name="galaxy_cube_diffuse_TOU" value="Vec4 0.8 0.5 0.1 1"/>
+<var name="galaxy_cube_diffuse_TOU_when_blended" value="Vec4 0.8 0.5 0.1 0.2"/>
+<var name="galaxy_cube_diffuse_DEV" value="Vec4 0.6 0.1 0.6 1"/>
+<var name="galaxy_cube_diffuse_DEV_when_blended" value="Vec4 0.6 0.1 0.6 0.2"/>
+<var name="galaxy_cube_diffuse_APPL" value="Vec4 0.6 0.1 0.6 1"/>
+<var name="galaxy_cube_diffuse_APPL_when_blended" value="Vec4 0.6 0.1 0.6 0.2"/>
<var name="galaxy_text_color" value="Vec4 1 1 1 1"/>
<var name="galaxy_text_color_when_blended" value="Vec4 1 1 1 0.2"/>
--- a/easy3d/easy3d_planet.cpp Tue Apr 29 10:30:15 2008 +0200
+++ b/easy3d/easy3d_planet.cpp Tue Apr 29 13:45:12 2008 +0200
@@ -164,14 +164,15 @@ void ScenePlanet::load()
mItems.clear();
int nbItems = 0;
- Galaxy *gxy = 0;
+ Galaxy *galaxy = 0;
if (mPlanetId != -1 && mGalaxyId != -1) {
fixGalaxyIdAndPlanetId (mGalaxyId, mPlanetId);
- gxy = LoadUniverse::instance()->galaxyVector[mGalaxyId];
- nbItems = (int)gxy->planetVector[mPlanetId]->satelliteVector.size();
+ galaxy = LoadUniverse::instance()->galaxyVector[mGalaxyId];
+ nbItems = (int)galaxy->planetVector[mPlanetId]->satelliteVector.size();
} else {
trace("No mPlanetId or mGalaxyId defined !!!!\n");
+ return;
}
std::string urlTexture;
@@ -183,7 +184,7 @@ void ScenePlanet::load()
for (unsigned int i = 0; i < mItems.size(); i++) {
- Satellite *satellite = gxy->planetVector[mPlanetId]->satelliteVector[i];
+ Satellite *satellite = galaxy->planetVector[mPlanetId]->satelliteVector[i];
mItems[i].create();
mItems[i].loadSettings();
@@ -198,9 +199,13 @@ void ScenePlanet::load()
if (satellite->text_color)
mItems[i].setTextColor(*satellite->text_color);
+ else if (galaxy->text_color)
+ mItems[i].setTextColor(*galaxy->text_color);
if (satellite->text_color_when_selected)
mItems[i].setTextSelectedColor(*satellite->text_color_when_selected);
+ else if (galaxy->text_color_when_selected)
+ mItems[i].setTextColor(*galaxy->text_color_when_selected);
mTextsTransform->addChild(mItems[i].getTransform());
}
--- a/easy3d/easy3d_universe.cpp Tue Apr 29 10:30:15 2008 +0200
+++ b/easy3d/easy3d_universe.cpp Tue Apr 29 13:45:12 2008 +0200
@@ -371,7 +371,6 @@ void SceneUniverse::ManageClick()
if (galaxy->color)
{
mCubeDiffuseDestination = osg::Vec4(*galaxy->color);
- trace("Using color from the easyneuf.xml (%f,%f,%f,%f)\n", mCubeDiffuseDestination[0], mCubeDiffuseDestination[1], mCubeDiffuseDestination[2], mCubeDiffuseDestination[3]);
}
else
{
--- a/easy3d/load_universe.cpp Tue Apr 29 10:30:15 2008 +0200
+++ b/easy3d/load_universe.cpp Tue Apr 29 13:45:12 2008 +0200
@@ -33,6 +33,41 @@
#include <libxml/xmlreader.h>
#include "utils.h"
+/*
+ * From an xml node @xml_node read the property @attribute_name, and convert the value into
+ * a color (really osg::Vec4)
+ *
+ * @param xml_node
+ * @param attribute_name
+ *
+ * @return NULL if the value can't be converted
+ * a new allocated osg::Vec4 that contains the color
+ */
+static osg::Vec4 *
+xml_get_color_from_xml_node(xmlNodePtr xml_node, const char *attribute_name)
+{
+ xmlChar *value;
+ float r, g, b, a;
+ osg::Vec4 *color = NULL;
+
+ value = xmlGetProp(xml_node,(const xmlChar *)attribute_name);
+ if (value == NULL)
+ return color;
+
+ if (sscanf((const char *)value, "Vec4 %f %f %f %f", &r, &g, &b, &a) == 4) {
+ color = new osg::Vec4(r, g, b, a);
+ } else {
+ error("Bad color value for %s=\"%s\"\n", attribute_name, (char *)value);
+ }
+
+ xmlFree(value);
+
+ return color;
+}
+
+
+
+
LoadUniverse* LoadUniverse::instance(bool erase)
{
static osg::ref_ptr<LoadUniverse> s_loadUniverse = new LoadUniverse;
@@ -57,6 +92,8 @@ Galaxy::Galaxy() {
position = NULL;
color = NULL;
color_when_blended = NULL;
+ text_color = NULL;
+ text_color_when_selected = NULL;
}
Satellite* LoadUniverse::loadSatellite(xmlDocPtr doc, xmlNodePtr cur) {
@@ -112,32 +149,8 @@ Satellite* LoadUniverse::loadSatellite(x
xmlFree(value);
}
- value = xmlGetProp(cur,(const xmlChar *)"color");
- if (value) {
- float r, g, b, a;
-
- if (sscanf((const char *)value, "Vec4 %f %f %f %f", &r, &g, &b, &a) == 4) {
- satellite->text_color = new osg::Vec4(r, g, b, a);
- } else {
- error("Bad value for color=\"%s\"\n", (char *)value);
- }
-
- xmlFree(value);
- }
-
- value = xmlGetProp(cur,(const xmlChar *)"color_when_selected");
- if (value) {
- float r, g, b, a;
-
- if (sscanf((const char *)value, "Vec4 %f %f %f %f", &r, &g, &b, &a) == 4) {
- satellite->text_color_when_selected = new osg::Vec4(r, g, b, a);
- } else {
- error("Bad value for color_when_selected=\"%s\"\n", (char *)value);
- }
-
- xmlFree(value);
- }
-
+ satellite->text_color = xml_get_color_from_xml_node(cur, "text_color");
+ satellite->text_color_when_selected = xml_get_color_from_xml_node(cur, "text_color_when_selected");
return satellite;
}
@@ -269,31 +282,11 @@ Galaxy* LoadUniverse::loadGalaxy(xmlDocP
xmlFree(value);
}
- value = xmlGetProp(cur,(const xmlChar *)"color");
- if (value) {
- float r, g, b, a;
-
- if (sscanf((const char *)value, "Vec4 %f %f %f %f", &r, &g, &b, &a) == 4) {
- galaxy->color = new osg::Vec4(r, g, b, a);
- } else {
- error("Bad value for color=\"%s\"\n", (char *)value);
- }
-
- xmlFree(value);
- }
-
- value = xmlGetProp(cur,(const xmlChar *)"color_when_blended");
- if (value) {
- float r, g, b, a;
-
- if (sscanf((const char *)value, "Vec4 %f %f %f %f", &r, &g, &b, &a) == 4) {
- galaxy->color_when_blended = new osg::Vec4(r, g, b, a);
- } else {
- error("Bad value for color_when_blended=\"%s\"\n", (char *)value);
- }
-
- xmlFree(value);
- }
+ galaxy->color = xml_get_color_from_xml_node(cur, "color");
+ galaxy->color_when_blended = xml_get_color_from_xml_node(cur, "color_when_blended");
+ galaxy->text_color = xml_get_color_from_xml_node(cur, "text_color");
+ galaxy->text_color_when_selected = xml_get_color_from_xml_node(cur, "text_color_when_blended");
+
cur = cur->xmlChildrenNode;
--- a/easy3d/load_universe.h Tue Apr 29 10:30:15 2008 +0200
+++ b/easy3d/load_universe.h Tue Apr 29 13:45:12 2008 +0200
@@ -73,6 +73,8 @@ public:
osg::Vec3 *position;
osg::Vec4 *color;
osg::Vec4 *color_when_blended;
+ osg::Vec4 *text_color;
+ osg::Vec4 *text_color_when_selected;
bool hidden; // set to true if the galaxy must no be show
Galaxy();