plib-cvs Mailing List for PLIB (Page 3)
Brought to you by:
sjbaker
You can subscribe to this list here.
2002 |
Jan
(25) |
Feb
(10) |
Mar
(60) |
Apr
(49) |
May
(54) |
Jun
(94) |
Jul
(82) |
Aug
(251) |
Sep
(366) |
Oct
(17) |
Nov
(20) |
Dec
(14) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(12) |
Feb
(8) |
Mar
(2) |
Apr
(4) |
May
(5) |
Jun
(8) |
Jul
(23) |
Aug
(8) |
Sep
(7) |
Oct
(5) |
Nov
(20) |
Dec
(20) |
2004 |
Jan
(19) |
Feb
(70) |
Mar
(108) |
Apr
(24) |
May
(6) |
Jun
(5) |
Jul
|
Aug
(8) |
Sep
(18) |
Oct
(27) |
Nov
|
Dec
(13) |
2005 |
Jan
(19) |
Feb
(13) |
Mar
(1) |
Apr
|
May
(10) |
Jun
(1) |
Jul
(10) |
Aug
(5) |
Sep
(2) |
Oct
(2) |
Nov
(6) |
Dec
(4) |
2006 |
Jan
(9) |
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: John F. F. <fa...@us...> - 2005-05-06 18:39:33
|
Update of /cvsroot/plib/plib/src/puAux In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28520 Modified Files: puAux.h puAuxBiSlider.cxx puAuxLargeInput.cxx puAuxScrollBar.cxx puAuxTriSlider.cxx puAuxVerticalMenu.cxx Log Message: Implement code to allow the user to activate a widget with an application-specified mouse button Index: puAux.h =================================================================== RCS file: /cvsroot/plib/plib/src/puAux/puAux.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- puAux.h 22 Sep 2004 21:09:35 -0000 1.3 +++ puAux.h 6 May 2005 18:39:17 -0000 1.4 @@ -758,7 +758,7 @@ point_size = 10.0f ; button_state = PU_UP ; - trigger_button = PU_LEFT_BUTTON ; + trigger_button = active_mouse_button ; mouse_x = mouse_y = mouse_z = 0.0f ; translation_sensitivity = 1.0f ; Index: puAuxBiSlider.cxx =================================================================== RCS file: /cvsroot/plib/plib/src/puAux/puAuxBiSlider.cxx,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- puAuxBiSlider.cxx 21 Mar 2004 19:03:23 -0000 1.2 +++ puAuxBiSlider.cxx 6 May 2005 18:39:18 -0000 1.3 @@ -87,14 +87,14 @@ if ( updown != PU_DRAG ) puMoveToLast ( this ); - if ( button == PU_LEFT_BUTTON && updown == PU_UP ) + if ( ( button == active_mouse_button ) && ( updown == PU_UP ) ) { setActiveButton ( 0 ) ; puDeactivateWidget () ; return ; } - if ( button == PU_LEFT_BUTTON ) + if ( button == active_mouse_button ) { int sd = isVertical() ; int sz = abox.max [sd] - abox.min [sd] ; Index: puAuxLargeInput.cxx =================================================================== RCS file: /cvsroot/plib/plib/src/puAux/puAuxLargeInput.cxx,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- puAuxLargeInput.cxx 21 Mar 2004 19:03:23 -0000 1.3 +++ puAuxLargeInput.cxx 6 May 2005 18:39:18 -0000 1.4 @@ -731,7 +731,7 @@ if ( updown != PU_DRAG ) puMoveToLast ( this ); - if ( button == PU_LEFT_BUTTON ) + if ( button == active_mouse_button ) { // Most GUI's activate a button on button-UP not button-DOWN. Index: puAuxScrollBar.cxx =================================================================== RCS file: /cvsroot/plib/plib/src/puAux/puAuxScrollBar.cxx,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- puAuxScrollBar.cxx 21 Mar 2004 19:03:23 -0000 1.2 +++ puAuxScrollBar.cxx 6 May 2005 18:39:18 -0000 1.3 @@ -139,13 +139,13 @@ if ( updown != PU_DRAG ) puMoveToLast ( this ); - if ( button == PU_LEFT_BUTTON && updown == PU_UP ) + if ( ( button == active_mouse_button ) && ( updown == PU_UP ) ) { puDeactivateWidget () ; return ; } - if ( button == PU_LEFT_BUTTON ) + if ( button == active_mouse_button ) { int width = isVertical () ? abox.max[0] - abox.min[0] : abox.max[1] - abox.min[1] ; Index: puAuxTriSlider.cxx =================================================================== RCS file: /cvsroot/plib/plib/src/puAux/puAuxTriSlider.cxx,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- puAuxTriSlider.cxx 21 Mar 2004 19:03:23 -0000 1.2 +++ puAuxTriSlider.cxx 6 May 2005 18:39:18 -0000 1.3 @@ -106,14 +106,14 @@ setActiveButton ( 0 ) ; } - if ( button == PU_LEFT_BUTTON && updown == PU_UP ) + if ( ( button == active_mouse_button ) && ( updown == PU_UP ) ) { setActiveButton ( 0 ) ; puDeactivateWidget () ; return ; } - if ( button == PU_LEFT_BUTTON ) + if ( button == active_mouse_button ) { int sd = isVertical() ; int sz = abox.max [sd] - abox.min [sd] ; Index: puAuxVerticalMenu.cxx =================================================================== RCS file: /cvsroot/plib/plib/src/puAux/puAuxVerticalMenu.cxx,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- puAuxVerticalMenu.cxx 21 Mar 2004 19:03:23 -0000 1.2 +++ puAuxVerticalMenu.cxx 6 May 2005 18:39:18 -0000 1.3 @@ -54,6 +54,7 @@ b -> setActiveDirn ( PU_UP_AND_DOWN ) ; puPopupMenu *p = new puPopupMenu ( w+10, 0 ) ; + p->setActiveButton ( active_mouse_button ) ; b -> setUserData ( p ) ; |
From: John F. F. <fa...@us...> - 2005-05-06 18:31:46
|
Update of /cvsroot/plib/plib/src/pui In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25128 Modified Files: pu.h puBiSlider.cxx puButton.cxx puDial.cxx puInput.cxx puLargeInput.cxx puListBox.cxx puMenuBar.cxx puObject.cxx puPopupMenu.cxx puScrollBar.cxx puSlider.cxx puTriSlider.cxx puVerticalMenu.cxx Log Message: Implementing code to allow the user to activate a widget with an application-specified mouse button. Index: pu.h =================================================================== RCS file: /cvsroot/plib/plib/src/pui/pu.h,v retrieving revision 1.148 retrieving revision 1.149 diff -u -d -r1.148 -r1.149 --- pu.h 5 Aug 2004 01:05:48 -0000 1.148 +++ pu.h 6 May 2005 18:31:08 -0000 1.149 @@ -580,6 +580,7 @@ puGroup *parent ; int active_mouse_edge ; /* is it PU_UP or PU_DOWN (or both) that activates this? */ + int active_mouse_button ; /* which mouse button or buttons activate this */ int style ; int visible ; int active ; @@ -718,6 +719,9 @@ void setActiveDirn ( int e ) { active_mouse_edge = e ; } int getActiveDirn ( void ) const { return active_mouse_edge ; } + void setActiveButton ( int b ) { active_mouse_button = b ; } + int getActiveButton ( void ) const { return active_mouse_button ; } + void setLegend ( const char *l ) { legend = l ; recalc_bbox() ; puPostRefresh () ; } const char *getLegend ( void ) const { return legend ; } Index: puBiSlider.cxx =================================================================== RCS file: /cvsroot/plib/plib/src/pui/puBiSlider.cxx,v retrieving revision 1.22 retrieving revision 1.23 diff -u -d -r1.22 -r1.23 --- puBiSlider.cxx 2 Sep 2002 06:05:45 -0000 1.22 +++ puBiSlider.cxx 6 May 2005 18:31:11 -0000 1.23 @@ -86,14 +86,14 @@ if ( updown != PU_DRAG ) puMoveToLast ( this ); - if ( button == PU_LEFT_BUTTON && updown == PU_UP ) + if ( ( button == active_mouse_button ) && ( updown == PU_UP ) ) { setActiveButton ( 0 ) ; puDeactivateWidget () ; return ; } - if ( button == PU_LEFT_BUTTON ) + if ( button == active_mouse_button ) { int sd = isVertical() ; int sz = abox.max [sd] - abox.min [sd] ; Index: puButton.cxx =================================================================== RCS file: /cvsroot/plib/plib/src/pui/puButton.cxx,v retrieving revision 1.21 retrieving revision 1.22 diff -u -d -r1.21 -r1.22 --- puButton.cxx 7 Feb 2003 17:41:07 -0000 1.21 +++ puButton.cxx 6 May 2005 18:31:11 -0000 1.22 @@ -210,9 +210,9 @@ if ( updown != PU_DRAG ) puMoveToLast ( this ); - if ( button == PU_LEFT_BUTTON ) + if ( button == active_mouse_button ) { - if ( updown == active_mouse_edge || active_mouse_edge == PU_UP_AND_DOWN ) + if ( ( updown == active_mouse_edge ) || ( active_mouse_edge == PU_UP_AND_DOWN ) ) { lowlight () ; setValue ( (int) ! getIntegerValue () ) ; Index: puDial.cxx =================================================================== RCS file: /cvsroot/plib/plib/src/pui/puDial.cxx,v retrieving revision 1.26 retrieving revision 1.27 diff -u -d -r1.26 -r1.27 --- puDial.cxx 21 Sep 2002 17:47:09 -0000 1.26 +++ puDial.cxx 6 May 2005 18:31:11 -0000 1.27 @@ -118,13 +118,13 @@ if ( updown != PU_DRAG ) puMoveToLast ( this ); - if ( button == PU_LEFT_BUTTON && updown == PU_UP ) + if ( ( button == active_mouse_button ) && ( updown == PU_UP ) ) { puDeactivateWidget () ; return ; } - if ( button == PU_LEFT_BUTTON ) + if ( button == active_mouse_button ) { int x_cen = ( abox.max [0] + abox.min [0] ) / 2 ; int y_cen = ( abox.max [1] + abox.min [1] ) / 2 ; Index: puInput.cxx =================================================================== RCS file: /cvsroot/plib/plib/src/pui/puInput.cxx,v retrieving revision 1.35 retrieving revision 1.36 diff -u -d -r1.35 -r1.36 --- puInput.cxx 5 Aug 2004 01:05:48 -0000 1.35 +++ puInput.cxx 6 May 2005 18:31:11 -0000 1.36 @@ -191,7 +191,7 @@ if ( updown != PU_DRAG ) puMoveToLast ( this ); - if ( button == PU_LEFT_BUTTON ) + if ( button == active_mouse_button ) { /* Most GUI's activate a button on button-UP not button-DOWN. */ Index: puLargeInput.cxx =================================================================== RCS file: /cvsroot/plib/plib/src/pui/puLargeInput.cxx,v retrieving revision 1.48 retrieving revision 1.49 diff -u -d -r1.48 -r1.49 --- puLargeInput.cxx 23 Feb 2004 04:16:52 -0000 1.48 +++ puLargeInput.cxx 6 May 2005 18:31:12 -0000 1.49 @@ -731,7 +731,7 @@ if ( updown != PU_DRAG ) puMoveToLast ( this ); - if ( button == PU_LEFT_BUTTON ) + if ( button == active_mouse_button ) { // Most GUI's activate a button on button-UP not button-DOWN. Index: puListBox.cxx =================================================================== RCS file: /cvsroot/plib/plib/src/pui/puListBox.cxx,v retrieving revision 1.23 retrieving revision 1.24 diff -u -d -r1.23 -r1.24 --- puListBox.cxx 2 Sep 2002 06:05:46 -0000 1.23 +++ puListBox.cxx 6 May 2005 18:31:25 -0000 1.24 @@ -166,9 +166,9 @@ puDeactivateWidget () ; } - if ( button == PU_LEFT_BUTTON ) + if ( button == active_mouse_button ) { - if ( updown == active_mouse_edge || active_mouse_edge == PU_UP_AND_DOWN ) + if ( ( updown == active_mouse_edge ) || ( active_mouse_edge == PU_UP_AND_DOWN ) ) { lowlight () ; Index: puMenuBar.cxx =================================================================== RCS file: /cvsroot/plib/plib/src/pui/puMenuBar.cxx,v retrieving revision 1.21 retrieving revision 1.22 diff -u -d -r1.21 -r1.22 --- puMenuBar.cxx 16 Feb 2004 13:49:03 -0000 1.21 +++ puMenuBar.cxx 6 May 2005 18:31:25 -0000 1.22 @@ -124,6 +124,7 @@ b -> setActiveDirn ( PU_UP_AND_DOWN ) ; puPopupMenu *p = new puPopupMenu ( w+10, 0 ) ; + p->setActiveButton ( active_mouse_button ) ; b -> setUserData ( p ) ; Index: puObject.cxx =================================================================== RCS file: /cvsroot/plib/plib/src/pui/puObject.cxx,v retrieving revision 1.50 retrieving revision 1.51 diff -u -d -r1.50 -r1.51 --- puObject.cxx 5 Aug 2004 01:05:48 -0000 1.50 +++ puObject.cxx 6 May 2005 18:31:25 -0000 1.51 @@ -148,6 +148,7 @@ bbox.max[1] = abox.max[1] = maxy ; active_mouse_edge = PU_UP ; + active_mouse_button = PU_LEFT_BUTTON ; style = defaultStyle ; visible = active = TRUE ; highlighted = FALSE ; @@ -464,10 +465,10 @@ puDeactivateWidget () ; } - checkHit ( PU_LEFT_BUTTON, PU_DOWN, (abox.min[0]+abox.max[0])/2, - (abox.min[1]+abox.max[1])/2 ) ; - checkHit ( PU_LEFT_BUTTON, PU_UP , (abox.min[0]+abox.max[0])/2, - (abox.min[1]+abox.max[1])/2 ) ; + checkHit ( active_mouse_button, PU_DOWN, (abox.min[0]+abox.max[0])/2, + (abox.min[1]+abox.max[1])/2 ) ; + checkHit ( active_mouse_button, PU_UP , (abox.min[0]+abox.max[0])/2, + (abox.min[1]+abox.max[1])/2 ) ; return TRUE ; } @@ -486,9 +487,9 @@ if ( updown != PU_DRAG ) puMoveToLast ( this ); - if ( button == PU_LEFT_BUTTON ) + if ( button == active_mouse_button ) { - if ( updown == active_mouse_edge || active_mouse_edge == PU_UP_AND_DOWN ) + if ( ( updown == active_mouse_edge ) || ( active_mouse_edge == PU_UP_AND_DOWN ) ) { lowlight () ; puSetActiveWidget ( this, x, y ) ; Index: puPopupMenu.cxx =================================================================== RCS file: /cvsroot/plib/plib/src/pui/puPopupMenu.cxx,v retrieving revision 1.18 retrieving revision 1.19 diff -u -d -r1.18 -r1.19 --- puPopupMenu.cxx 26 Jun 2003 11:31:07 -0000 1.18 +++ puPopupMenu.cxx 6 May 2005 18:31:26 -0000 1.19 @@ -41,6 +41,8 @@ b->setCallback ( _cb ) ; b->setLegendPlace ( PUPLACE_LOWER_LEFT ) ; b->setUserData ( _user_data ) ; + b->setActiveButton ( active_mouse_button ) ; + b->setWindow ( getWindow () ) ; recalc_bbox () ; return b ; } Index: puScrollBar.cxx =================================================================== RCS file: /cvsroot/plib/plib/src/pui/puScrollBar.cxx,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- puScrollBar.cxx 21 Sep 2002 17:47:09 -0000 1.4 +++ puScrollBar.cxx 6 May 2005 18:31:26 -0000 1.5 @@ -139,13 +139,13 @@ if ( updown != PU_DRAG ) puMoveToLast ( this ); - if ( button == PU_LEFT_BUTTON && updown == PU_UP ) + if ( ( button == active_mouse_button ) && ( updown == PU_UP ) ) { puDeactivateWidget () ; return ; } - if ( button == PU_LEFT_BUTTON ) + if ( button == active_mouse_button ) { int width = isVertical () ? abox.max[0] - abox.min[0] : abox.max[1] - abox.min[1] ; Index: puSlider.cxx =================================================================== RCS file: /cvsroot/plib/plib/src/pui/puSlider.cxx,v retrieving revision 1.26 retrieving revision 1.27 diff -u -d -r1.26 -r1.27 --- puSlider.cxx 21 Sep 2002 15:59:56 -0000 1.26 +++ puSlider.cxx 6 May 2005 18:31:27 -0000 1.27 @@ -113,13 +113,13 @@ if ( updown != PU_DRAG ) puMoveToLast ( this ); - if ( button == PU_LEFT_BUTTON && updown == PU_UP ) + if ( ( button == active_mouse_button ) && ( updown == PU_UP ) ) { puDeactivateWidget () ; return ; } - if ( button == PU_LEFT_BUTTON ) + if ( button == active_mouse_button ) { int sd = isVertical() ; int sz = abox.max [sd] - abox.min [sd] ; Index: puTriSlider.cxx =================================================================== RCS file: /cvsroot/plib/plib/src/pui/puTriSlider.cxx,v retrieving revision 1.24 retrieving revision 1.25 diff -u -d -r1.24 -r1.25 --- puTriSlider.cxx 2 Sep 2002 06:05:46 -0000 1.24 +++ puTriSlider.cxx 6 May 2005 18:31:27 -0000 1.25 @@ -105,14 +105,14 @@ setActiveButton ( 0 ) ; } - if ( button == PU_LEFT_BUTTON && updown == PU_UP ) + if ( ( button == active_mouse_button ) && ( updown == PU_UP ) ) { setActiveButton ( 0 ) ; puDeactivateWidget () ; return ; } - if ( button == PU_LEFT_BUTTON ) + if ( button == active_mouse_button ) { int sd = isVertical() ; int sz = abox.max [sd] - abox.min [sd] ; Index: puVerticalMenu.cxx =================================================================== RCS file: /cvsroot/plib/plib/src/pui/puVerticalMenu.cxx,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- puVerticalMenu.cxx 2 Sep 2002 06:05:46 -0000 1.10 +++ puVerticalMenu.cxx 6 May 2005 18:31:27 -0000 1.11 @@ -53,7 +53,8 @@ b -> setCallback ( puMenuBar_drop_down_the_menu ) ; b -> setActiveDirn ( PU_UP_AND_DOWN ) ; - puPopupMenu *p = new puPopupMenu ( w+10, 0 ) ; + puPopupMenu *p = new puPopupMenu ( w+10, 0 ) ; + p->setActiveButton ( active_mouse_button ) ; b -> setUserData ( p ) ; |
From: Wolfram K. <wol...@us...> - 2005-03-25 01:04:13
|
Update of /cvsroot/plib/plib/src/ssg In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2921 Modified Files: ssgLoadOBJ.cxx Log Message: Making material loading more robust. Index: ssgLoadOBJ.cxx =================================================================== RCS file: /cvsroot/plib/plib/src/ssg/ssgLoadOBJ.cxx,v retrieving revision 1.23 retrieving revision 1.24 diff -u -d -r1.23 -r1.24 --- ssgLoadOBJ.cxx 15 Sep 2002 01:29:12 -0000 1.23 +++ ssgLoadOBJ.cxx 25 Mar 2005 01:04:04 -0000 1.24 @@ -201,6 +201,9 @@ return TRUE; } +static char filename [ 1024 ] ; + + static void load_materials ( const char* fname ) { num_mat = 0 ; @@ -210,7 +213,20 @@ FILE* filein = fopen (path,"r") ; if ( filein == 0 ) - return ; + { + char mtl_filename[ 1024 ]; + strcpy(mtl_filename, filename); + if(NULL!=strrchr(mtl_filename, '/')) + *strrchr(mtl_filename, '/') = 0; + if(NULL!=strrchr(mtl_filename, '\\')) + *strrchr(mtl_filename, '\\') = 0; + strncat(mtl_filename, "\\", 1024); + strncat(mtl_filename, fname, 1024); + + filein = fopen (mtl_filename,"r") ; + if ( filein == 0 ) + return ; // give up finding the material file + } int index = -1 ; @@ -347,7 +363,6 @@ current_branch -> addKid ( vtab ) ; } - static int obj_read ( FILE *filein ) { int count; @@ -726,7 +741,6 @@ current_branch = NULL ; - char filename [ 1024 ] ; current_options -> makeModelPath ( filename, fname ) ; FILE *loader_fd = fopen ( filename, "ra" ) ; |
From: Bram S. <br...@us...> - 2005-02-27 19:59:44
|
Update of /cvsroot/plib/plib/doc/sg In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6003 Modified Files: index.html Log Message: Fixed documentation bug on slerping Index: index.html =================================================================== RCS file: /cvsroot/plib/plib/doc/sg/index.html,v retrieving revision 1.20 retrieving revision 1.21 diff -u -d -r1.20 -r1.21 --- index.html 13 Nov 2003 15:35:41 -0000 1.20 +++ index.html 27 Feb 2005 19:59:35 -0000 1.21 @@ -567,9 +567,9 @@ SGfloat sgLerp ( SGfloat a, SGfloat b, SGfloat f ) - void sgLerp2 ( sgVec2 dst, sgVec2 a, sgVec2 b, SGfloat f ) - void sgLerp3 ( sgVec3 dst, sgVec3 a, sgVec3 b, SGfloat f ) - void sgLerp4 ( sgVec4 dst, sgVec4 a, sgVec4 b, SGfloat f ) + void sgLerpVec2 ( sgVec2 dst, sgVec2 a, sgVec2 b, SGfloat f ) + void sgLerpVec3 ( sgVec3 dst, sgVec3 a, sgVec3 b, SGfloat f ) + void sgLerpVec4 ( sgVec4 dst, sgVec4 a, sgVec4 b, SGfloat f ) SGfloat sgDistanceSquaredVec2 ( sgVec2 a, sgVec2 b ) SGfloat sgDistanceSquaredVec3 ( sgVec3 a, sgVec3 b ) |
From: Bram S. <br...@us...> - 2005-02-26 15:22:41
|
Update of /cvsroot/plib/plib/examples/src/ssg/viewer In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32251 Modified Files: viewer.cxx Log Message: Use a ssgContext. Fix aspect ratios... upon window reshape, we should calculate new frustum. Index: viewer.cxx =================================================================== RCS file: /cvsroot/plib/plib/examples/src/ssg/viewer/viewer.cxx,v retrieving revision 1.25 retrieving revision 1.26 diff -u -d -r1.25 -r1.26 --- viewer.cxx 29 Oct 2004 21:26:03 -0000 1.25 +++ viewer.cxx 26 Feb 2005 15:22:33 -0000 1.26 @@ -75,6 +75,7 @@ scene graph */ static ssgRoot *scene = NULL ; +static ssgContext *context = NULL ; static ssgEntity* camera_object = NULL ; /* @@ -99,7 +100,7 @@ { 0, 1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30, 60 }; static int speed_index = 1 ; -static int anim_frame ; +//static int anim_frame ; static int num_anim_frames ; /* @@ -143,8 +144,9 @@ static GLfloat Ey = 0.0f; static GLfloat Ez = 0.0f; -//#define FOV 60.0f -#define FOV 45.0f +#define FOVY 45.0f +#define NEAR 2.0f +#define FAR 10000.0f static int getWindowHeight () { return glutGet ( (GLenum) GLUT_WINDOW_HEIGHT ) ; } static int getWindowWidth () { return glutGet ( (GLenum) GLUT_WINDOW_WIDTH ) ; } @@ -381,11 +383,19 @@ /* The GLUT window reshape event + Fixed to properly maintain aspect ratio. */ static void reshape ( int w, int h ) { glViewport ( 0, 0, w, h ) ; + + float aspect = w / (float)h; + float angle = 0.5 * FOVY * M_PI / 180.0; + float y = NEAR * tan(angle); + float x = aspect * y; + + context->setFrustum(-x,x,-y,y,NEAR,FAR); } @@ -402,7 +412,8 @@ sgMat4 mat ; make_matrix ( mat ) ; follow_camera ( mat ) ; - ssgSetCamera ( mat ); + + context->setCamera ( mat ); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glEnable(GL_BLEND); @@ -660,7 +671,7 @@ wire_update ( scene, wire_flag ) ; SGfloat radius = scene->getBSphere()->getRadius(); - EyeDist = float( radius * 1.5f / tan( float( FOV/2 * SG_DEGREES_TO_RADIANS ) ) ); + EyeDist = float( radius * 1.5f / tan( float( FOVY/2 * SG_DEGREES_TO_RADIANS ) ) ); sgSphere sp = *( scene -> getBSphere() ) ; if ( sp.isEmpty() ) @@ -793,13 +804,6 @@ puInit () ; /* - Set up the viewing parameters - */ - - ssgSetFOV ( FOV, 0.0f ) ; - ssgSetNearFar ( 2.0f, 10000.0f ) ; - - /* Set up the Sun. */ @@ -821,6 +825,9 @@ */ scene = new ssgRoot ; + context = new ssgContext ; + context->setCullface( true ) ; + context->makeCurrent ( ) ; /* ** Set up PU |
From: Bram S. <br...@us...> - 2005-02-21 07:37:38
|
Update of /cvsroot/plib/plib/src/js In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21342 Modified Files: jsLinux.cxx Log Message: Patch by Mathias Froehlich to handle joysticks with lotsa axes. Index: jsLinux.cxx =================================================================== RCS file: /cvsroot/plib/plib/src/js/jsLinux.cxx,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- jsLinux.cxx 20 Oct 2004 23:49:33 -0000 1.6 +++ jsLinux.cxx 21 Feb 2005 07:37:25 -0000 1.7 @@ -75,12 +75,13 @@ ioctl ( os->fd, JSIOCGNAME ( sizeof(name) ), name ) ; fcntl ( os->fd, F_SETFL , O_NONBLOCK ) ; + int all_axes = num_axes; if ( num_axes > _JS_MAX_AXES ) num_axes = _JS_MAX_AXES ; // Remove any deadband value already done in the kernel. // Since we have our own deadband management this is save to do so. - struct js_corr corr [ _JS_MAX_AXES ] ; + struct js_corr* corr = new js_corr[ all_axes ] ; ioctl ( os->fd, JSIOCGCORR, corr ); for ( int i = 0; i < num_axes ; ++i ) { if ( corr[ i ] . type == JS_CORR_BROKEN ) { @@ -90,6 +91,7 @@ } } ioctl ( os->fd, JSIOCSCORR, corr ); + delete [] corr; for ( int i = 0 ; i < _JS_MAX_AXES ; i++ ) { |
From: Bram S. <br...@us...> - 2005-02-04 22:26:02
|
Update of /cvsroot/plib/plib/src/ssg In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9819 Modified Files: ssgLoad3ds.cxx Log Message: Avoid specular anomalies in 3ds files. Index: ssgLoad3ds.cxx =================================================================== RCS file: /cvsroot/plib/plib/src/ssg/ssgLoad3ds.cxx,v retrieving revision 1.37 retrieving revision 1.38 diff -u -d -r1.37 -r1.38 --- ssgLoad3ds.cxx 2 Sep 2002 06:05:48 -0000 1.37 +++ ssgLoad3ds.cxx 4 Feb 2005 22:25:53 -0000 1.38 @@ -589,6 +589,11 @@ st -> disable( GL_TEXTURE_2D ); } + // don't show specular if exponent is 0, more info at: + // http://sf.net/mailarchive/forum.php?thread_id=6481452&forum_id=4479 + if ( ! mat->shi ) + st -> setMaterial ( GL_SPECULAR, 0,0,0,1 ); + return st ; } |
From: Steve B. <sj...@us...> - 2005-02-02 15:48:23
|
Update of /cvsroot/plib/plib/src/ssgAux In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26585/plib/src/ssgAux Modified Files: ssgaShapes.cxx ssgaSphere.cxx ssgaTeapot.cxx Log Message: Added a demo for ssgaShapes. Fixed the diameter of ssgaSphere. Fixed inability to add colour to the ssgaTeapot. Index: ssgaShapes.cxx =================================================================== RCS file: /cvsroot/plib/plib/src/ssgAux/ssgaShapes.cxx,v retrieving revision 1.23 retrieving revision 1.24 diff -u -d -r1.23 -r1.24 --- ssgaShapes.cxx 2 Sep 2002 06:05:49 -0000 1.23 +++ ssgaShapes.cxx 2 Feb 2005 15:48:08 -0000 1.24 @@ -437,9 +437,9 @@ sgNormalizeVec3 ( v2 ) ; sgNormalizeVec3 ( v3 ) ; - sgSetVec3 ( v, center[0]+size[0]*v0[0], - center[1]+size[1]*v0[1], - center[2]+size[2]*v0[2] ) ; + sgSetVec3 ( v, center[0]+size[0]*v0[0]/2.0f, + center[1]+size[1]*v0[1]/2.0f, + center[2]+size[2]*v0[2]/2.0f ) ; sgSetVec3 ( n, size[0]*v0[0], size[1]*v0[1], size[2]*v0[2] ) ; @@ -447,9 +447,9 @@ sgSetVec2 ( t, ATAN2(n[0],n[1])/(SG_PI*2.0f)+0.5f, 0.5f+v0[2]/2.0f ) ; vv->add(v) ; nn->add(n) ; cc->add(colour) ; tt->add(t) ; - sgSetVec3 ( v, center[0]+size[0]*v1[0], - center[1]+size[1]*v1[1], - center[2]+size[2]*v1[2] ) ; + sgSetVec3 ( v, center[0]+size[0]*v1[0]/2.0f, + center[1]+size[1]*v1[1]/2.0f, + center[2]+size[2]*v1[2]/2.0f ) ; sgSetVec3 ( n, size[0]*v1[0], size[1]*v1[1], size[2]*v1[2] ) ; @@ -464,9 +464,9 @@ sgNormalizeVec3 ( va ) ; sgNormalizeVec3 ( vb ) ; - sgSetVec3 ( v, center[0]+size[0]*va[0], - center[1]+size[1]*va[1], - center[2]+size[2]*va[2] ) ; + sgSetVec3 ( v, center[0]+size[0]*va[0]/2.0f, + center[1]+size[1]*va[1]/2.0f, + center[2]+size[2]*va[2]/2.0f ) ; sgSetVec3 ( n, size[0]*va[0], size[1]*va[1], size[2]*va[2] ) ; @@ -474,9 +474,9 @@ sgSetVec2 ( t, ATAN2(n[0],n[1])/(SG_PI*2.0f)+0.5f, 0.5f+va[2]/2.0f ) ; vv->add(v) ; nn->add(n) ; cc->add(colour) ; tt->add(t) ; - sgSetVec3 ( v, center[0]+size[0]*vb[0], - center[1]+size[1]*vb[1], - center[2]+size[2]*vb[2] ) ; + sgSetVec3 ( v, center[0]+size[0]*vb[0]/2.0f, + center[1]+size[1]*vb[1]/2.0f, + center[2]+size[2]*vb[2]/2.0f ) ; sgSetVec3 ( n, size[0]*vb[0], size[1]*vb[1], size[2]*vb[2] ) ; @@ -485,9 +485,9 @@ vv->add(v) ; nn->add(n) ; cc->add(colour) ; tt->add(t) ; } - sgSetVec3 ( v, center[0]+size[0]*v2[0], - center[1]+size[1]*v2[1], - center[2]+size[2]*v2[2] ) ; + sgSetVec3 ( v, center[0]+size[0]*v2[0]/2.0f, + center[1]+size[1]*v2[1]/2.0f, + center[2]+size[2]*v2[2]/2.0f ) ; sgSetVec3 ( n, size[0]*v2[0], size[1]*v2[1], size[2]*v2[2] ) ; @@ -557,7 +557,6 @@ sgNormalizeVec3 ( n ) ; sgSetVec2 ( t, (float)j/(float)slices, (float) i /(float)stacks ) ; vv->add(v) ; nn->add(n) ; cc->add(colour) ; tt->add(t) ; - } } else Index: ssgaSphere.cxx =================================================================== RCS file: /cvsroot/plib/plib/src/ssgAux/ssgaSphere.cxx,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- ssgaSphere.cxx 26 Jul 2003 06:16:19 -0000 1.1 +++ ssgaSphere.cxx 2 Feb 2005 15:48:09 -0000 1.2 @@ -122,3 +122,4 @@ return sphere; } + Index: ssgaTeapot.cxx =================================================================== RCS file: /cvsroot/plib/plib/src/ssgAux/ssgaTeapot.cxx,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- ssgaTeapot.cxx 2 Sep 2002 06:05:49 -0000 1.6 +++ ssgaTeapot.cxx 2 Feb 2005 15:48:09 -0000 1.7 @@ -236,7 +236,6 @@ for ( j = 0 ; j < 16 ; j++ ) { sgVec3 xyz ; - sgVec4 rgba = { 1,1,1,1 } ; sgVec2 uv ; uv [ 0 ] = (float)(j&3)/3.0f ; @@ -245,7 +244,7 @@ sgScaleVec3 ( xyz, vertex[patch[i][j+1]], 1.0f/2.5f ) ; xyz [ 0 ] *= -1.0f ; - p -> setControlPoint ( j>>2, j&3, xyz, uv, rgba ) ; + p -> setControlPoint ( j>>2, j&3, xyz, uv, colour ) ; } p -> setKidState ( getKidState () ) ; |
From: Steve B. <sj...@us...> - 2005-02-02 15:48:22
|
Update of /cvsroot/plib/plib/examples/src/ssg In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26585/plib/examples/src/ssg Modified Files: Makefile.am Log Message: Added a demo for ssgaShapes. Fixed the diameter of ssgaSphere. Fixed inability to add colour to the ssgaTeapot. Index: Makefile.am =================================================================== RCS file: /cvsroot/plib/plib/examples/src/ssg/Makefile.am,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- Makefile.am 30 Nov 2003 21:03:23 -0000 1.8 +++ Makefile.am 2 Feb 2005 15:48:07 -0000 1.9 @@ -1,3 +1,3 @@ -SUBDIRS = tux majik load_save state_test viewer tween_test water sky shrubs dynamics +SUBDIRS = tux majik load_save state_test viewer tween_test water sky shrubs dynamics shapes EXTRA_DIST = README |
From: Steve B. <sj...@us...> - 2005-02-02 15:48:22
|
Update of /cvsroot/plib/plib/examples/src/ssg/shapes In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26585/plib/examples/src/ssg/shapes Added Files: Makefile.am shapes.cxx Log Message: Added a demo for ssgaShapes. Fixed the diameter of ssgaSphere. Fixed inability to add colour to the ssgaTeapot. --- NEW FILE: Makefile.am --- if BUILD_SSG noinst_PROGRAMS = shapes shapes_SOURCES = shapes.cxx shapes_LDADD = -lplibssgaux -lplibssg -lplibsg -lplibul -lplibpw $(OGL_LIBS) endif --- NEW FILE: shapes.cxx --- /* PLIB - A Suite of Portable Game Libraries Copyright (C) 2001 Steve Baker This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA For further information visit http://plib.sourceforge.net [...141 lines suppressed...] /* The works. */ int main ( int, char ** ) { init_graphics () ; load_database () ; while ( 1 ) redraw () ; return 0 ; } |
From: Steve B. <sj...@us...> - 2005-02-02 15:48:16
|
Update of /cvsroot/plib/plib/examples In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26585/plib/examples Modified Files: configure.in Log Message: Added a demo for ssgaShapes. Fixed the diameter of ssgaSphere. Fixed inability to add colour to the ssgaTeapot. Index: configure.in =================================================================== RCS file: /cvsroot/plib/plib/examples/configure.in,v retrieving revision 1.42 retrieving revision 1.43 diff -u -d -r1.42 -r1.43 --- configure.in 13 Jan 2005 05:16:04 -0000 1.42 +++ configure.in 2 Feb 2005 15:48:07 -0000 1.43 @@ -275,6 +275,7 @@ src/ssg/sky/Makefile \ src/ssg/dynamics/Makefile \ src/ssg/shrubs/Makefile \ + src/ssg/shapes/Makefile \ src/fnt/Makefile \ src/net/Makefile \ src/net/client_server/Makefile \ |
From: Steve B. <sj...@us...> - 2005-02-02 15:19:40
|
Update of /cvsroot/plib/plib/examples/src/ssg/shapes In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20077/shapes Log Message: Directory /cvsroot/plib/plib/examples/src/ssg/shapes added to the repository |
From: Steve B. <sj...@us...> - 2005-02-01 01:14:43
|
Update of /cvsroot/plib/plib/src/pw In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28083/plib/src/pw Modified Files: pwWindows.cxx Log Message: pwWindows.cxx had an error that cause the window position to be interpreted as the position of the rendered area - not the position of the window decorations. ssgaFire had a dependancy on the scale of the model. If you treat an OpenGL unit as 1meter, you got good results - but if you treat an OpenGL unit as an inch or a mile, the fire looks crap. Minor tweaks to exposer and the mod-player demo. Index: pwWindows.cxx =================================================================== RCS file: /cvsroot/plib/plib/src/pw/pwWindows.cxx,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- pwWindows.cxx 5 Aug 2004 00:55:32 -0000 1.13 +++ pwWindows.cxx 1 Feb 2005 01:14:13 -0000 1.14 @@ -288,6 +288,19 @@ AdjustWindowRect( &rect, style, false ) ; + // The origin is really where the upper left of the window should be. + // rect is the setting for the window if the origin is for the client area. + // Adjust the window rect so that it will be located at the origin (x,y). + + int deltaX = x - rect.left ; + int deltaY = y - rect.top ; + + rect.left += deltaX ; + rect.right += deltaX ; + rect.top += deltaY ; + rect.bottom += deltaY ; + + /* Create the window */ currWnd = CreateWindow( "PlibAppClass", title, style, |
From: Steve B. <sj...@us...> - 2005-02-01 01:14:43
|
Update of /cvsroot/plib/plib/src/ssgAux In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28083/plib/src/ssgAux Modified Files: ssgaFire.cxx Log Message: pwWindows.cxx had an error that cause the window position to be interpreted as the position of the rendered area - not the position of the window decorations. ssgaFire had a dependancy on the scale of the model. If you treat an OpenGL unit as 1meter, you got good results - but if you treat an OpenGL unit as an inch or a mile, the fire looks crap. Minor tweaks to exposer and the mod-player demo. Index: ssgaFire.cxx =================================================================== RCS file: /cvsroot/plib/plib/src/ssgAux/ssgaFire.cxx,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- ssgaFire.cxx 29 Dec 2004 07:19:40 -0000 1.6 +++ ssgaFire.cxx 1 Feb 2005 01:14:13 -0000 1.7 @@ -123,10 +123,14 @@ static ssgSimpleState *fireState = NULL ; static ssgTexture *fireTexture = NULL ; - +static bool isfogged = true ; static int preFireDraw ( ssgEntity * ) { - glDisable ( GL_FOG ) ; + isfogged = glIsEnabled ( GL_FOG ) ; + + if ( isfogged ) + glDisable ( GL_FOG ) ; + glBlendFunc ( GL_ONE, GL_ONE ) ; return TRUE ; } @@ -135,7 +139,10 @@ static int postFireDraw ( ssgEntity * ) { glBlendFunc ( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA ) ; - glEnable ( GL_FOG ) ; + + if ( isfogged ) + glEnable ( GL_FOG ) ; + return TRUE ; } @@ -186,6 +193,7 @@ setState ( fireState ) ; setCallback ( SSG_CALLBACK_PREDRAW , preFireDraw ) ; setCallback ( SSG_CALLBACK_POSTDRAW, postFireDraw ) ; + update ( 2.0f * max_ttl / (float)(getNumParticles()) ) ; } void ssgaFire::update ( float t ) |
From: Steve B. <sj...@us...> - 2005-02-01 01:14:26
|
Update of /cvsroot/plib/plib/demos/exposer/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28083/plib/demos/exposer/src Modified Files: exposer.cxx Log Message: pwWindows.cxx had an error that cause the window position to be interpreted as the position of the rendered area - not the position of the window decorations. ssgaFire had a dependancy on the scale of the model. If you treat an OpenGL unit as 1meter, you got good results - but if you treat an OpenGL unit as an inch or a mile, the fire looks crap. Minor tweaks to exposer and the mod-player demo. Index: exposer.cxx =================================================================== RCS file: /cvsroot/plib/plib/demos/exposer/src/exposer.cxx,v retrieving revision 1.23 retrieving revision 1.24 diff -u -d -r1.23 -r1.24 --- exposer.cxx 27 Jun 2003 08:15:14 -0000 1.23 +++ exposer.cxx 1 Feb 2005 01:14:11 -0000 1.24 @@ -76,7 +76,7 @@ sgVec3 vec ; sgMakeCoordMat4 ( mat, 0, 0, 0, h, p, 0 ) ; - sgSetVec3 ( vec, 0, r, 0 ) ; + sgSetVec3 ( vec, 0, r * 20, 0 ) ; sgXformPnt3 ( vec, mat ) ; sgNegateVec3 ( vec ) ; sgCopyVec3 ( mat[3], vec ) ; |
From: Steve B. <sj...@us...> - 2005-02-01 01:14:26
|
Update of /cvsroot/plib/plib/examples/src/sl In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28083/plib/examples/src/sl Modified Files: mod_demo.cxx Log Message: pwWindows.cxx had an error that cause the window position to be interpreted as the position of the rendered area - not the position of the window decorations. ssgaFire had a dependancy on the scale of the model. If you treat an OpenGL unit as 1meter, you got good results - but if you treat an OpenGL unit as an inch or a mile, the fire looks crap. Minor tweaks to exposer and the mod-player demo. Index: mod_demo.cxx =================================================================== RCS file: /cvsroot/plib/plib/examples/src/sl/mod_demo.cxx,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- mod_demo.cxx 1 Sep 2002 12:04:51 -0000 1.7 +++ mod_demo.cxx 1 Feb 2005 01:14:12 -0000 1.8 @@ -33,12 +33,19 @@ slScheduler sched ( 44100 ) ; +void callback ( slSample *, slEvent event, int ) +{ + if ( event == SL_EVENT_COMPLETE ) + exit ( 0 ) ; +} + + int main ( int argc, char **argv ) { sched . setSafetyMargin ( 0.5 ) ; if ( argc == 2 ) - sched . loopMusic ( argv[1] ) ; + sched . playMusic ( argv[1], 1, SL_SAMPLE_ABORT, 0, callback ) ; else sched . loopMusic ( "tuxr.mod" ) ; |
From: Steve B. <sj...@us...> - 2005-01-16 06:03:41
|
Update of /cvsroot/plib/plib/src/sl In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25108/plib/src/sl Modified Files: slPortability.h Log Message: BSD header file change. Index: slPortability.h =================================================================== RCS file: /cvsroot/plib/plib/src/sl/slPortability.h,v retrieving revision 1.14 retrieving revision 1.15 diff -u -d -r1.14 -r1.15 --- slPortability.h 18 May 2003 13:45:04 -0000 1.14 +++ slPortability.h 16 Jan 2005 06:03:31 -0000 1.15 @@ -60,7 +60,7 @@ # include <linux/soundcard.h> # include <sys/ioctl.h> # elif defined(__FreeBSD__) -# include <machine/soundcard.h> +# include <sys/soundcard.h> # else /* Tom thinks this file may be <sys/soundcard.h> under some |
From: Steve B. <sj...@us...> - 2005-01-15 20:36:58
|
Update of /cvsroot/plib/plib/src/ssg In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9553/plib/src/ssg Modified Files: ssgLoadAC.cxx ssgLoadMDL.cxx Log Message: Fixed some MSVC warnings. Index: ssgLoadAC.cxx =================================================================== RCS file: /cvsroot/plib/plib/src/ssg/ssgLoadAC.cxx,v retrieving revision 1.35 retrieving revision 1.36 diff -u -d -r1.35 -r1.36 --- ssgLoadAC.cxx 1 Dec 2004 08:28:05 -0000 1.35 +++ ssgLoadAC.cxx 15 Jan 2005 20:36:46 -0000 1.36 @@ -57,7 +57,7 @@ static sgVec2 texrep ; static sgVec2 texoff ; -static sgVec2 invalidTexture = { 1e30, } ; +static sgVec2 invalidTexture = { 1e30f, } ; static sgVec3 zero = { 0.0, } ; static int do_material ( char *s ) ; Index: ssgLoadMDL.cxx =================================================================== RCS file: /cvsroot/plib/plib/src/ssg/ssgLoadMDL.cxx,v retrieving revision 1.54 retrieving revision 1.55 diff -u -d -r1.54 -r1.55 --- ssgLoadMDL.cxx 4 Oct 2004 18:33:28 -0000 1.54 +++ ssgLoadMDL.cxx 15 Jan 2005 20:36:46 -0000 1.55 @@ -380,15 +380,15 @@ int bWrong=FALSE; // a lot of debug output follows - sorry! sprintf(tsA, "------- %ld %f\n%f, %f, %f\n", - dist, dist/(512.0*32767.0), s_norm[0], s_norm[1], s_norm[2]); + dist, ((float)dist)/(512.0f*32767.0f), s_norm[0], s_norm[1], s_norm[2]); for(int i = 1; i < numverts; i++) { ix1 = *ixarr->get( flip ? numverts-i : i); // SGfloat f = sgScalarProductVec3(s_norm, vertex_array_->get(ix1)); - sprintf(tsA, "%s%f, ", tsA, (float)f); - f = f - dist/(512.0*32767.0); - if((f<-0.5) || (f>0.5)) + sprintf(tsA, "%s%f, ", tsA, f); + f = f - ((float)dist)/(512.0f*32767.0f); + if((f<-0.5f) || (f>0.5f)) bWrong = TRUE; // if ( ix1 >= vertex_array_->getNum() ) { |
From: Steve B. <sj...@us...> - 2005-01-15 17:59:42
|
Update of /cvsroot/plib/plib/src/ssg In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8037/plib/src/ssg Modified Files: ssgSaveIV.cxx Log Message: Removed dynamic_cast operators. The code looks cleaner with isAKindOf anyway. Index: ssgSaveIV.cxx =================================================================== RCS file: /cvsroot/plib/plib/src/ssg/ssgSaveIV.cxx,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- ssgSaveIV.cxx 26 Sep 2004 09:38:52 -0000 1.1 +++ ssgSaveIV.cxx 15 Jan 2005 17:59:31 -0000 1.2 @@ -96,11 +96,13 @@ indent( f ); fprintf( f, "# %d triangles, %d verts, %d normals, %d colours, %d texturecoords\n", cnt, nv,nn,nc,nt ) ; - if ( st ) - state = dynamic_cast<ssgSimpleState*>( st ) ; - - if ( state ) + if ( st && st -> isAKindOf ( ssgTypeSimpleState() ) ) + { + state = (ssgSimpleState*) st ; textureName = state->getTextureFilename(); + } + else + state = NULL ; if ( state || nc ) { @@ -230,30 +232,27 @@ const char *name = ent->getName() ; fprintf( f, "# %s (%s)\n", ent->getTypeName(), (name)?name:"unnamed") ; - ssgBranch *branch = dynamic_cast<ssgBranch*>( ent ) ; - if ( branch ) + if ( ent && ent -> isAKindOf ( ssgTypeBranch () ) ) { + ssgBranch *branch = (ssgBranch*) ent ; + // ssg's branch nodes are translated to inventor's separator node. indent( f ) ; fprintf( f,"Separator {\n" ) ; indentLevel++ ; - ssgTransform *transform = dynamic_cast<ssgTransform*>( branch ) ; - // If this branch is a transform, we need to convert it. - if ( transform ) - writeTransform( transform, f ) ; - } - ssgLeaf *leaf = dynamic_cast<ssgLeaf*>( ent ) ; - if ( leaf ) - writeLeaf( leaf, f ) ; + if ( branch -> isAKindOf ( ssgTypeTransform() ) ) + writeTransform( (ssgTransform*) branch, f ) ; + } + else + writeLeaf( (ssgLeaf*) ent, f ) ; } // Handles post-order traversal of the ssg hierarchy. static void postHandle ( ssgEntity *ent, FILE *f ) { - ssgBranch *branch = dynamic_cast<ssgBranch*>( ent ) ; - if ( branch ) + if ( ent && ent -> isAKindOf ( ssgTypeBranch() ) ) { // For branches, we use IV's Seperator, which we need to close now. indentLevel-- ; @@ -267,9 +266,10 @@ static void walkTree ( ssgEntity *ent, FILE *f ) { preHandle( ent, f ) ; - ssgBranch *branch = dynamic_cast<ssgBranch*>( ent ) ; - if ( branch ) + if ( ent && ent -> isAKindOf ( ssgTypeBranch() ) ) { + ssgBranch *branch = (ssgBranch*) ent ; + for ( int i=0; i<branch->getNumKids(); i++ ) { ssgEntity *kid = branch->getKid( i ); |
From: Wolfram K. <wol...@us...> - 2005-01-13 22:47:01
|
Update of /cvsroot/plib/plib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23355 Modified Files: ChangeLog Log Message: Added my changes, including patches I only committed, but did not develop myself. Index: ChangeLog =================================================================== RCS file: /cvsroot/plib/plib/ChangeLog,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- ChangeLog 13 Jan 2005 09:34:00 -0000 1.11 +++ ChangeLog 13 Jan 2005 22:46:49 -0000 1.12 @@ -8,11 +8,24 @@ * Added a way to get SSG intersection tests to work with backfacing polygons. - * Added ssgaScreenDepthDump into ssgAux + * Added ssgaScreenDepthDump into ssgAux. * Several fixes for FreeBSD included. - * Added exporter for OpenInventor + * Added exporter for OpenInventor. + + * Implemented im- and exporter for ASC files. + + * Optimisations. + + * Various (minor) improvements to ASE, MDL, PCX and X loading and ASE saving. + + * Implemented ssgAnimTransforms. + + * AC loader now reads "crease" lines and creates much smaller and + cleaner scene graphs. + + * Joystick code adapted to current OS versions (especially Linux). PLIB v1.8.3 (April 8th 2004) |
From: Bram S. <br...@us...> - 2005-01-13 09:34:10
|
Update of /cvsroot/plib/plib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16530 Modified Files: ChangeLog Log Message: mention openinventor export Index: ChangeLog =================================================================== RCS file: /cvsroot/plib/plib/ChangeLog,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- ChangeLog 13 Jan 2005 04:55:09 -0000 1.10 +++ ChangeLog 13 Jan 2005 09:34:00 -0000 1.11 @@ -12,6 +12,8 @@ * Several fixes for FreeBSD included. + * Added exporter for OpenInventor + PLIB v1.8.3 (April 8th 2004) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
From: Steve B. <sj...@us...> - 2005-01-13 05:16:15
|
Update of /cvsroot/plib/plib/doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8046/plib/doc Modified Files: download.html Log Message: Bumped version number of PLIB examples. Index: download.html =================================================================== RCS file: /cvsroot/plib/plib/doc/download.html,v retrieving revision 1.23 retrieving revision 1.24 diff -u -d -r1.23 -r1.24 --- download.html 13 Jan 2005 04:55:09 -0000 1.23 +++ download.html 13 Jan 2005 05:16:03 -0000 1.24 @@ -115,8 +115,8 @@ <A NAME="EXAMPLES"></A> <ul> -<li><A HREF="dist/plib_examples-1.8.1.tar.gz"> - Example programs and Documentation for PLIB-1.8.1 or later.</A> +<li><A HREF="dist/plib_examples-1.8.4.tar.gz"> + Example programs and Documentation for PLIB-1.8.4 or later.</A> <li><A HREF="dist/">PLIB_examples - Older versions</A> </ul> Un-tar this into a separate directory from PLIB itself - or else |
From: Steve B. <sj...@us...> - 2005-01-13 05:16:14
|
Update of /cvsroot/plib/plib/examples In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8046/plib/examples Modified Files: configure.in Log Message: Bumped version number of PLIB examples. Index: configure.in =================================================================== RCS file: /cvsroot/plib/plib/examples/configure.in,v retrieving revision 1.41 retrieving revision 1.42 diff -u -d -r1.41 -r1.42 --- configure.in 9 Jan 2005 13:39:22 -0000 1.41 +++ configure.in 13 Jan 2005 05:16:04 -0000 1.42 @@ -1,7 +1,7 @@ dnl Process this file with autoconf to produce a configure script. AC_INIT(src/js/js_demo.cxx) -AM_INIT_AUTOMAKE(plib_examples, 1.8.1) +AM_INIT_AUTOMAKE(plib_examples, 1.8.4) dnl Checks for programs. |
From: Steve B. <sj...@us...> - 2005-01-13 04:55:42
|
Update of /cvsroot/plib/plib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4026/plib Modified Files: ChangeLog Log Message: Updated ChangeLog, changed current version numbers in HTML files. Index: ChangeLog =================================================================== RCS file: /cvsroot/plib/plib/ChangeLog,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- ChangeLog 24 Jun 2004 16:30:52 -0000 1.9 +++ ChangeLog 13 Jan 2005 04:55:09 -0000 1.10 @@ -2,12 +2,16 @@ PLIB Change Log. ================ -PLIB v1.8.4 (???) +PLIB v1.8.4 (Jan 2005) ~~~~~~~~~~~~~~~~~ * Added a way to get SSG intersection tests to work with backfacing polygons. + * Added ssgaScreenDepthDump into ssgAux + + * Several fixes for FreeBSD included. + PLIB v1.8.3 (April 8th 2004) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
From: Steve B. <sj...@us...> - 2005-01-13 04:55:42
|
Update of /cvsroot/plib/plib/doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4026/plib/doc Modified Files: download.html index.html Log Message: Updated ChangeLog, changed current version numbers in HTML files. Index: download.html =================================================================== RCS file: /cvsroot/plib/plib/doc/download.html,v retrieving revision 1.22 retrieving revision 1.23 diff -u -d -r1.22 -r1.23 --- download.html 9 Apr 2004 02:09:38 -0000 1.22 +++ download.html 13 Jan 2005 04:55:09 -0000 1.23 @@ -73,12 +73,12 @@ <H1>Downloading and Installing PLIB.</H1> <H2>The Short Answer (for Linux and CygWin users):</H2> Make sure you have OpenGL installed.<br> -Download this: <A HREF="dist/plib-1.8.3.tar.gz"> PLIB - Version 1.8.3</A> +Download this: <A HREF="dist/plib-1.8.4.tar.gz"> PLIB - Version 1.8.4</A> <br> Run this (as 'root'): <pre> - tar xzf plib-1.8.3.tar.gz - cd plib-1.8.3 + tar xzf plib-1.8.4.tar.gz + cd plib-1.8.4 ./configure ; make install </pre> Tadaaaa! @@ -94,7 +94,7 @@ in PLIB. <p> <ul> -<li><A HREF="dist/plib-1.8.3.tar.gz"> PLIB - Version 1.8.3 -- Current Stable</A> +<li><A HREF="dist/plib-1.8.4.tar.gz"> PLIB - Version 1.8.4 -- Current Stable</A> <li><A HREF="dist/"> PLIB - Other versions</A> <li><A HREF="http://sf.net/project/?group_id=382"> PLIB - Latest development version (from CVS)</A> <li><A HREF="dist/current.tgz"> PLIB - Latest development version (tarball)</A> Index: index.html =================================================================== RCS file: /cvsroot/plib/plib/doc/index.html,v retrieving revision 1.35 retrieving revision 1.36 diff -u -d -r1.35 -r1.36 --- index.html 9 Apr 2004 02:09:38 -0000 1.35 +++ index.html 13 Jan 2005 04:55:09 -0000 1.36 @@ -88,7 +88,7 @@ is fairly independent of the others - so if you want to use SDL, GTK, GLUT, or FLTK instead of PLIB's 'PW' windowing library, you can. <p> -The latest stable version of PLIB is 1.8.3 - go to the +The latest stable version of PLIB is 1.8.4 - go to the <A HREF="download.html">DOWNLOAD</A> section to get a copy - go to the <A HREF="whats_inside.html">WHAT'S INSIDE</A> section for documentation and a more detailed description of |