Commit Graph

6276 Commits

Author SHA1 Message Date
Robert Osfield
c65278e9dc From Martin Aumueller, "
a collegue of mine noticed that on Windows and X11 the modifier state (such as
Alt or Ctrl) would be applied one key press too late: e.g. press & hold Alt,
press a, release Alt, press a, press a would generate the key sequence a,
Alt-a, a instead of Alt-a, a, a.

The problem is also present on Carbon. Moving the call to setModKeyMask in
front of the call to keyPress fixed it for me on Carbon and X11. I suppose
that this will fix the problem for Windows as well."
2007-04-25 09:32:12 +00:00
Robert Osfield
5693afa5be From Eric Wing,
"These enhancements make it much easier to control which libraries get
found by FIND_ using environmental variables. The problem with the old
script was that CMake searches what it considers system paths first.
This makes it difficult to override in the case where you might have a
stable version in /usr/local, but are trying to build a bleeding edge
release in the non-standard location /bleeding-edge.

I went to the CMake mailing list hoping to find a good solution to
this. Unfortunately, there isn't one, and I have to do something
rather bone-headed in the Find module. Basically, I have to run FIND_
twice: once with default search paths turned off and my environmental
variables listed, and again with standard search paths reenabled. At
least it works.

I also added a few more environmental variables, specifically:
OPENTHREADS_INCLUDE_DIR
OPENTHREADS_LIBRARY_DIR

These two variables address the shortcoming of OPENTHREADS_DIR in the
case where the include path and library path don't share a common
parent.

Put all this together, and you can setup an automated shell script or
Microsoft .bat file to configure and build your application in an
automated step.


You still should be able to use the key CMake variables like
CMAKE_INCLUDE_PATH and CMAKE_LIBRARY_PATH to find things, but it will
occur after the environmental paths are searched. The reason for this
is that the OPENTHREADS_INCLUDE_DIR and OPENTHREADS_LIBRARY_DIR are
more specific. This prevents the accidental ordering problem where you
might use CMAKE_INCLUDE_PATH to find some other component like GLUT,
but didn't want to accidentally include an older version of
OpenThreads located in the same area.

As the ultimate override, you can still pass -DVAR=value arguments to
cmake and it will take these above all else. However, it's safer for
people to not use these in case we modify the script and change the
variable names.

Finally, I'm wondering if we can kill the ${CMAKE_INSTALL_PREFIX}
searches in the Find module. As I've said before, this is kind of a
hack and the variable wasn't really intended to be used in this way.
And I just got bitten by it in some bad corner cases. The problem is
that if you don't explicitly set the ${CMAKE_INSTALL_PREFIX}, CMake
sets a default value for it (such as /usr/local). The problem is that
/usr/local may not be the place you want searched. If you wait to set
the ${CMAKE_INSTALL_PREFIX} in the ccmake GUI, then FIND_ is already
run once on ${CMAKE_INSTALL_PREFIX=/usr/local. If you were planning to
change the value in the GUI, it's too late if you had a stuff in
/usr/local because FIND_ already found something and won't change the
value when you reconfigure since it is already set. You will have to
manually change the value yourself. Furthermore, as another problem
example, on the Mac, /Library/Frameworks is supposed to be searched
before /usr/local, but ${CMAKE_INSTALL_PREFIX} kept causing stuff in
/usr/local to be hit first which took me a really long time to
understand how this was happenning. The work around is that I must
push the ${CMAKE_INSTALL_PREFIX} search to the very end as not to
conflict with anything else. But I think it would be much better if we
removed it entirely.

And with so many different environmental variables at our disposal, I
don't think we need this one:

(Checked by CMake automatically:)
CMAKE_INCLUDE_PATH
CMAKE_SYSTEM_INCLUDE_PATH
CMAKE_LIBRARY_PATH
CMAKE_SYSTEM_LIBRARY_PATH
PATH
LIB

(Checked by us:)
OPENTHREADS_INCLUDE_DIR
OPENTHREADS_LIBRARY_DIR
OPENTHREADS_DIR
OSG_INCLUDE_DIR
OSG_LIBRARY_DIR
OSG_DIR
"
2007-04-25 09:21:57 +00:00
Robert Osfield
6405b7724d From Eric Wing, "lwo must link to osgFX or undefined symbols ensue." 2007-04-25 09:16:31 +00:00
Robert Osfield
24cf948b3f From Eric Wing, "I made a mistake in my IF() checks for FOO_CONFIG_HAS_BEEN_RUN_BEFORE.
I was using ${FOO_CONFIG_HAS_BEEN_RUN_BEFORE} instead of just
FOO_HAS_BEEN_RUN_BEFORE.

In this case, it happened to work out to still be correct, but in
general it shouldn't have the ${}. (I really hate this syntax.)"
2007-04-25 09:14:01 +00:00
Robert Osfield
20f8fedfcc From Jeremy Moles, Added check for image transluceny to image loaded code, placing
the image quad into the transparent bin for images with alpha values.
2007-04-24 19:08:52 +00:00
Robert Osfield
00a44eb636 From Martin Aumueller, "the new Inventor plugin needs some changes in order to compile against OpenInventor.
Just as in the pre-r6419 I used the COIN_BASIC_H define in order to discriminate
between the two versions of Inventor.

Additionally, I had to change the CMakeLists.txt to use the proper include path.
"
2007-04-24 19:03:51 +00:00
Robert Osfield
d35d8d0fa8 From Jan Peciva,
"I was working on a new version of Inventor plugin.
It was inspired by the need to get correct and high quality conversion,
so I verified the plugin on complex models and made number of serious fixes:

- the geometry is not two times on the output file (!)
- SoVRMLImageTexture: VRML texture support was rewritten according to
  Inventor programming practices, since it does not worked correctly on
  many models (Anyway, thanks for Gerrick Bivins to introduce it.)
- osg::ref wrong usage related crash fixed
- code cleaning and texture code overhaul
- LOD fixes
- appended README.txt with all the contributors I was able to get from
  SVN logs"
2007-04-24 13:12:40 +00:00
Robert Osfield
56188dde68 Added CMake support for lwo plugin. 2007-04-24 13:11:22 +00:00
Robert Osfield
4371d22682 Added compile path support for XINE, Inventor and LibXML 2007-04-24 12:59:23 +00:00
Robert Osfield
0e6bcc61f0 Updated version to 1.9.1 2007-04-23 20:21:06 +00:00
Robert Osfield
47eed158b3 Updated AUTHORS file for 1.9 developer release 2007-04-22 21:54:05 +00:00
Robert Osfield
16bc9da8fc Updated ChangeLog 2007-04-22 21:53:12 +00:00
Robert Osfield
1a4cf30c4a Added --version-number support 2007-04-22 21:40:46 +00:00
Robert Osfield
2bf836ea93 From Michael Platings, "In the "new method" 3DS loader, inverse matrices were applied to
vertices, but not normals, which caused some models to appear with
normals doubly rotated. I've now added some code to transform the
normals."
2007-04-22 21:18:20 +00:00
Robert Osfield
f242570269 Unified the setup of version numbers so that they all are based on the version
number setup in the include/osg/Version header file.
2007-04-22 20:19:43 +00:00
Robert Osfield
4248c0f8c8 Added osgSim dependency to txp plugin 2007-04-21 12:29:39 +00:00
Robert Osfield
b2261d84fe Added include directory to get txp plugin building 2007-04-21 11:24:26 +00:00
Robert Osfield
abd0c7fe67 Added support for sorting the graphics contexts so that the first context/window
returned from Viewer::getContexts/getWindows will be the left most window on the lowest screen number.

Added ability for StatsHandler and HelpHandler to support end users setting their
Camera's graphics context.
2007-04-20 16:17:48 +00:00
Robert Osfield
6a67b66e8e Added delay between sequential threading model changes to prevent the system from locking up
with 'm' is held down, which previous would cause the threading model to be thrashed.
2007-04-20 16:15:41 +00:00
Robert Osfield
4637b78bd1 From Jason Howlett, using suggestion from Robert Osfield, "CullVisitor.cpp was modified, beginning at line 1115. Code was added to
check if the camera inherits its cull mask. If not, the CullVisitor sets
its traversal mask to the camera's cull mask."
2007-04-16 19:40:36 +00:00
Robert Osfield
835e315494 Implement basic TerrainGeometry code 2007-04-16 19:34:25 +00:00
Robert Osfield
3d058d2fcf Added logo and txp CMakeLists.txt files. The txp build is temporarily commented out while the build is fixed. 2007-04-16 18:33:09 +00:00
Robert Osfield
c0bd295db2 Updated wrappers 2007-04-16 12:21:07 +00:00
Robert Osfield
47add5a42c Cleaned up state management code 2007-04-16 12:20:42 +00:00
Robert Osfield
9db23e0b22 Fixed bug associated with complex RenderBin setup. 2007-04-16 12:18:56 +00:00
Robert Osfield
68a6882d04 Bumbped the version number up to 1.9, in preperation for using odd release numbers
for development releases, odd versions for stable releases.
2007-04-16 06:03:22 +00:00
Robert Osfield
1fedab6b49 Fixed choice of display 2007-04-15 20:53:09 +00:00
Robert Osfield
df49ff18ba Updatged ChangeLog using svn2log, osgversion to handle new SVN based ChangeLog, and updated AUTHORS.txt 2007-04-15 12:09:12 +00:00
Robert Osfield
84c4b86da8 Added an #include<unistd.h> and extern "C" around X11ErrorHandling to prevent Solaris build errros 2007-04-14 08:31:40 +00:00
Robert Osfield
d786be8d4c Added some debugging 2007-04-13 19:28:22 +00:00
Robert Osfield
b358a73d99 Updated wrappers 2007-04-13 19:28:11 +00:00
Robert Osfield
ea071d3f1e Added fullscreen toggle event handler 2007-04-13 14:54:41 +00:00
Robert Osfield
9e8e07b373 Added usleep's to avoid X11 errors when doing X11 calls to close to changes in
window size or decoration.
2007-04-13 14:54:22 +00:00
Robert Osfield
934ed30314 Added setWindowRectangle implementation for GraphicsWindowWin32, and
place holder for setWindowRectangle implementation for GraphicsWindowCarbon.
2007-04-13 14:23:10 +00:00
Robert Osfield
3deda9f2a7 Updated wrappers 2007-04-13 13:28:10 +00:00
Robert Osfield
035b98993f Added s/getWindowRectangle to GraphicsWindow and implementation in GraphicsWindowX11 2007-04-13 13:22:52 +00:00
Robert Osfield
07c3503dbb Changed hitItr to be a const_iterator. 2007-04-13 13:19:29 +00:00
Robert Osfield
06c3dd3500 From Eric Wing, "I added a warning message for Mac users about the Universal Binary
problem."
2007-04-13 10:14:57 +00:00
Robert Osfield
7b2567b77c Fixed variable name dereference 2007-04-12 17:30:06 +00:00
Robert Osfield
054d009aac Added different cmake version requirements across platforms 2007-04-12 10:14:10 +00:00
Robert Osfield
071a7775ed From Eric Wing, "Adding back missing search paths in FindOpenThreads.cmake. Also fixed
a bug regarding when to set the debug version. It waited until both
include and library were set, but it shouldn't wait on include.

Also added a fix to the optional warning flags."
2007-04-12 10:06:09 +00:00
Robert Osfield
ef84805d5a Added SETUP_COMMANDLINE_APPLICATION and SETUP_COMMANDLINE_EXAMPLE macros 2007-04-12 09:59:34 +00:00
Robert Osfield
2187b061fc From Eric Wing,
"Attached is a patch allows access access to the CMake MACOSX_BUNDLE
option. Now SETUP_APPLICATION and SETUP_EXAMPLE take an additional
optional parameter that specifies if the program is a command line
application or a GUI application (think: IS_COMMANDLINE_APP). Passing
1 means true (is_commandline_app). Passing 0 or omitting the parameter
means false.

I changed the scripts for osgversion and osgunittests to support this
option because I believe they are command line apps. Are there any
others?"
2007-04-12 09:33:24 +00:00
Robert Osfield
0d4dd3da8e Updated wrappers 2007-04-12 09:32:48 +00:00
Robert Osfield
5954722c07 From Mike Wittman, fix to CopyOp&. 2007-04-12 09:32:34 +00:00
Robert Osfield
4ba0a43ffc From Eric Wing, "Minor robustness fix to osgsimpleviewerCocoa." 2007-04-12 09:18:40 +00:00
Robert Osfield
73f980bd49 Prep work on new TerrainGeometry Drawable which supports selective display list/VBO's usage.
Updated wrappers
2007-04-11 17:39:13 +00:00
Robert Osfield
17054afc8f Changed the parameter handling so that it supports left to right inheritance of settings 2007-04-11 11:20:42 +00:00
Robert Osfield
557fdacba2 Added support for multiple colour layers, and fixed handling of elevation
and colour layers having different locator
2007-04-11 11:20:04 +00:00
Robert Osfield
e42daa775f From Eric Wing,
"
Changes include:

A internal cache flag that can be used to detect if this is the first
time running the CMake configuration. This is needed to work around
stupid CMake UI shortcomings about the UI not reflecting anything you
SET unless you use FORCE. But if you use FORCE, you override anything
the user may try to set/override unless you have an exception check.
It turns out the exception check you need is often the first-run
check. This flag is potentially useful for other things too.

An optional switch that turns on more aggressive warnings based on
your compiler.

Some Apple specific stuff for detecting the OS version and enabling
Universal Binaries (and some additional compiler flags that are good
but gcc version dependent). The version check code is unfortunately
really fragile. I need to lobby CMake to return the OS X version
number for us. FYI, building Universal will fail with the current
CMake release due to a bug, but is now fixed in CVS.
"
2007-04-11 08:35:39 +00:00