Changeset 11254

Show
Ignore:
Timestamp:
03/19/10 16:56:12 (5 years ago)
Author:
paulmartz
Message:

2.8 branch: Add up-to-date ffmpeg plugin. This commint merges the following revisions from trunk: 9910, 9912, 9933, 9948, 9960, 9965, 9968-9969, 9990, 10030, 10053, 10082, 10161, 10391-10392, 10408, 10414, 10422, 10538, 10809, 10851, 10892, 10925, 10961, 11165, and 11177.

Location:
OpenSceneGraph/branches/OpenSceneGraph-2.8
Files:
70 modified

Legend:

Unmodified
Added
Removed
  • OpenSceneGraph/branches/OpenSceneGraph-2.8

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/branches/OpenSceneGraph-2.8.2:10664 
        2 /OpenSceneGraph/trunk:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9932,9959,10010,10012-10014,10040-10041,10057,10076,10079-10080,10084,10088,10128,10149,10208,10264,10283,10340,10417,10440,10456,10487,10491,10520,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         2/OpenSceneGraph/trunk:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10076,10079-10080,10082,10084,10088,10128,10149,10161,10208,10264,10283,10340,10391-10392,10408,10414,10417,10422,10440,10456,10487,10491,10520,10538,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/CMakeModules/FindFFmpeg.cmake

    r11242 r11254  
    22# This module defines 
    33# FFMPEG_LIBRARIES 
    4 # FFMPEG_FOUND, if false, do not try to link to ffmpeg  
     4# FFMPEG_FOUND, if false, do not try to link to ffmpeg 
    55# FFMPEG_INCLUDE_DIR, where to find the headers 
    66# 
     
    88# correspond to the ./configure --prefix=$FFMPEG_DIR 
    99# 
    10 # Created by Robert Osfield.  
     10# Created by Robert Osfield. 
    1111 
    12 #use pkg-config to find various modes 
    13 INCLUDE(FindPkgConfig OPTIONAL) 
    1412 
    15 IF(PKG_CONFIG_FOUND) 
     13#In ffmpeg code, old version use "#include <header.h>" and newer use "#include <libname/header.h>" 
     14#In OSG ffmpeg plugin, we use "#include <header.h>" for compatibility with old version of ffmpeg 
    1615 
    17     INCLUDE(FindPkgConfig) 
     16#We have to search the path which contain the header.h (usefull for old version) 
     17#and search the path which contain the libname/header.h (usefull for new version) 
    1818 
    19     pkg_check_modules(FFMPEG_LIBAVFORMAT libavformat) 
    20     pkg_check_modules(FFMPEG_LIBAVDEVICE libavdevice) 
    21     pkg_check_modules(FFMPEG_LIBAVCODEC libavcodec) 
    22     pkg_check_modules(FFMPEG_LIBAVUTIL libavutil) 
    23     pkg_check_modules(FFMPEG_LIBSWSCALE libswscale) 
     19#Then we need to include ${FFMPEG_libname_INCLUDE_DIRS} (in old version case, use by ffmpeg header and osg plugin code) 
     20#                                                       (in new version case, use by ffmpeg header)  
     21#and ${FFMPEG_libname_INCLUDE_DIRS/libname}             (in new version case, use by osg plugin code) 
    2422 
    25 ENDIF(PKG_CONFIG_FOUND) 
     23 
     24# Macro to find header and lib directories 
     25# example: FFMPEG_FIND(AVFORMAT avformat avformat.h) 
     26MACRO(FFMPEG_FIND varname shortname headername) 
     27    # old version of ffmpeg put header in $prefix/include/[ffmpeg] 
     28    # so try to find header in include directory 
     29 
     30    FIND_PATH(FFMPEG_${varname}_INCLUDE_DIRS lib${shortname}/${headername} 
     31        PATHS 
     32        ${FFMPEG_ROOT}/include 
     33        $ENV{FFMPEG_DIR}/include 
     34        ~/Library/Frameworks 
     35        /Library/Frameworks 
     36        /usr/local/include 
     37        /usr/include 
     38        /sw/include # Fink 
     39        /opt/local/include # DarwinPorts 
     40        /opt/csw/include # Blastwave 
     41        /opt/include 
     42        /usr/freeware/include 
     43        PATH_SUFFIXES ffmpeg 
     44        DOC "Location of FFMPEG Headers" 
     45    ) 
     46 
     47    FIND_PATH(FFMPEG_${varname}_INCLUDE_DIRS ${headername} 
     48        PATHS 
     49        ${FFMPEG_ROOT}/include 
     50        $ENV{FFMPEG_DIR}/include 
     51        ~/Library/Frameworks 
     52        /Library/Frameworks 
     53        /usr/local/include 
     54        /usr/include 
     55        /sw/include # Fink 
     56        /opt/local/include # DarwinPorts 
     57        /opt/csw/include # Blastwave 
     58        /opt/include 
     59        /usr/freeware/include 
     60        PATH_SUFFIXES ffmpeg 
     61        DOC "Location of FFMPEG Headers" 
     62    ) 
     63 
     64    FIND_LIBRARY(FFMPEG_${varname}_LIBRARIES 
     65        NAMES ${shortname} 
     66        PATHS 
     67        ${FFMPEG_ROOT}/lib 
     68        $ENV{FFMPEG_DIR}/lib 
     69        ~/Library/Frameworks 
     70        /Library/Frameworks 
     71        /usr/local/lib 
     72        /usr/local/lib64 
     73        /usr/lib 
     74        /usr/lib64 
     75        /sw/lib 
     76        /opt/local/lib 
     77        /opt/csw/lib 
     78        /opt/lib 
     79        /usr/freeware/lib64 
     80        DOC "Location of FFMPEG Libraries" 
     81    ) 
     82 
     83    IF (FFMPEG_${varname}_LIBRARIES AND FFMPEG_${varname}_INCLUDE_DIRS) 
     84        SET(FFMPEG_${varname}_FOUND 1) 
     85    ENDIF(FFMPEG_${varname}_LIBRARIES AND FFMPEG_${varname}_INCLUDE_DIRS) 
     86 
     87ENDMACRO(FFMPEG_FIND) 
     88 
     89SET(FFMPEG_ROOT "$ENV{FFMPEG_DIR}" CACHE PATH "Location of FFMPEG") 
     90 
     91# find stdint.h 
     92IF(WIN32) 
     93 
     94    FIND_PATH(FFMPEG_STDINT_INCLUDE_DIR stdint.h 
     95        PATHS 
     96        ${FFMPEG_ROOT}/include 
     97        $ENV{FFMPEG_DIR}/include 
     98        ~/Library/Frameworks 
     99        /Library/Frameworks 
     100        /usr/local/include 
     101        /usr/include 
     102        /sw/include # Fink 
     103        /opt/local/include # DarwinPorts 
     104        /opt/csw/include # Blastwave 
     105        /opt/include 
     106        /usr/freeware/include 
     107        PATH_SUFFIXES ffmpeg 
     108        DOC "Location of FFMPEG stdint.h Header" 
     109    ) 
     110 
     111    IF (FFMPEG_STDINT_INCLUDE_DIR) 
     112        SET(STDINT_OK TRUE) 
     113    ENDIF() 
     114 
     115ELSE() 
     116 
     117    SET(STDINT_OK TRUE) 
     118 
     119ENDIF() 
     120 
     121FFMPEG_FIND(LIBAVFORMAT avformat avformat.h) 
     122FFMPEG_FIND(LIBAVDEVICE avdevice avdevice.h) 
     123FFMPEG_FIND(LIBAVCODEC  avcodec  avcodec.h) 
     124FFMPEG_FIND(LIBAVUTIL   avutil   avutil.h) 
     125FFMPEG_FIND(LIBSWSCALE  swscale  swscale.h)  # not sure about the header to look for here. 
    26126 
    27127SET(FFMPEG_FOUND "NO") 
    28 IF   (FFMPEG_LIBAVFORMAT_FOUND AND FFMPEG_LIBAVDEVICE_FOUND AND FFMPEG_LIBAVCODEC_FOUND AND FFMPEG_LIBAVUTIL_FOUND) 
    29     
     128# Note we don't check FFMPEG_LIBSWSCALE_FOUND here, it's optional. 
     129IF   (FFMPEG_LIBAVFORMAT_FOUND AND FFMPEG_LIBAVDEVICE_FOUND AND FFMPEG_LIBAVCODEC_FOUND AND FFMPEG_LIBAVUTIL_FOUND AND STDINT_OK) 
     130 
    30131    SET(FFMPEG_FOUND "YES") 
    31132 
    32     SET(FFMPEG_INCLUDE_DIRS ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}) 
     133    SET(FFMPEG_INCLUDE_DIRS 
     134        ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS} ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/libavformat 
     135        ${FFMPEG_LIBAVDEVICE_INCLUDE_DIRS} ${FFMPEG_LIBAVDEVICE_INCLUDE_DIRS}/libavdevice 
     136        ${FFMPEG_LIBAVCODEC_INCLUDE_DIRS} ${FFMPEG_LIBAVCODEC_INCLUDE_DIRS}/libavcodec 
     137        ${FFMPEG_LIBAVUTIL_INCLUDE_DIRS} ${FFMPEG_LIBAVUTIL_INCLUDE_DIRS}/libavutil 
     138    ) 
     139 
     140    IF (${FFMPEG_STDINT_INCLUDE_DIR}) 
     141        SET(FFMPEG_INCLUDE_DIRS 
     142            ${FFMPEG_INCLUDE_DIRS} 
     143            ${FFMPEG_STDINT_INCLUDE_DIR} 
     144            ${FFMPEG_STDINT_INCLUDE_DIR}/libavformat 
     145            ${FFMPEG_STDINT_INCLUDE_DIR}/libavdevice 
     146            ${FFMPEG_STDINT_INCLUDE_DIR}/libavcodec 
     147            ${FFMPEG_STDINT_INCLUDE_DIR}/libavutil 
     148        ) 
     149    ENDIF() 
     150 
    33151 
    34152    SET(FFMPEG_LIBRARY_DIRS ${FFMPEG_LIBAVFORMAT_LIBRARY_DIRS}) 
    35153 
     154    # Note we don't add FFMPEG_LIBSWSCALE_LIBRARIES here, it will be added if found later. 
    36155    SET(FFMPEG_LIBRARIES 
    37156        ${FFMPEG_LIBAVFORMAT_LIBRARIES} 
     
    39158        ${FFMPEG_LIBAVCODEC_LIBRARIES} 
    40159        ${FFMPEG_LIBAVUTIL_LIBRARIES}) 
    41     
    42 ENDIF(FFMPEG_LIBAVFORMAT_FOUND AND FFMPEG_LIBAVDEVICE_FOUND AND FFMPEG_LIBAVCODEC_FOUND AND FFMPEG_LIBAVUTIL_FOUND) 
    43160 
     161ELSE () 
    44162 
     163#    MESSAGE(STATUS "Could not find FFMPEG") 
     164 
     165ENDIF() 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/applications/osgarchive/osgarchive.cpp

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/branches/OpenSceneGraph-2.8.2/applications/osgarchive/osgarchive.cpp:10664 
        2 /OpenSceneGraph/trunk/applications/osgarchive/osgarchive.cpp:9769,9810,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9932,9959,10010,10012-10014,10040-10041,10057,10076,10079-10080,10084,10088,10128,10149,10208,10264,10283,10340,10417,10440,10456,10487,10491,10520,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         2/OpenSceneGraph/trunk/applications/osgarchive/osgarchive.cpp:9769,9810,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10076,10079-10080,10082,10084,10088,10128,10149,10161,10208,10264,10283,10340,10391-10392,10408,10414,10417,10422,10440,10456,10487,10491,10520,10538,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/examples

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/branches/OpenSceneGraph-2.8.2/examples:10664 
        2 /OpenSceneGraph/trunk/examples:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9932,9959,10010,10012-10014,10040-10041,10057,10064,10076,10079-10080,10084,10088,10128,10149,10208,10264,10283,10340,10417,10440,10456,10487,10491,10520,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11009,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         2/OpenSceneGraph/trunk/examples:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10064,10076,10079-10080,10082,10084,10088,10128,10149,10161,10208,10264,10283,10340,10391-10392,10408,10414,10417,10422,10440,10456,10487,10491,10520,10538,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11009,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/examples/osgcluster/broadcaster.cpp

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/branches/OpenSceneGraph-2.8.2/examples/osgcluster/broadcaster.cpp:10664 
        2 /OpenSceneGraph/trunk/examples/osgcluster/broadcaster.cpp:9769,9816-9818,9826-9828,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9932,9959,10010,10012-10014,10040-10041,10057,10064,10076,10079-10080,10084,10088,10128,10149,10208,10264,10283,10340,10417,10440,10456,10487,10491,10520,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11009,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         2/OpenSceneGraph/trunk/examples/osgcluster/broadcaster.cpp:9769,9816-9818,9826-9828,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10064,10076,10079-10080,10082,10084,10088,10128,10149,10161,10208,10264,10283,10340,10391-10392,10408,10414,10417,10422,10440,10456,10487,10491,10520,10538,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11009,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/examples/osgmovie/osgmovie.cpp

    r11242 r11254  
    120120    bool            _trackMouse; 
    121121    ImageStreamList _imageStreamList; 
     122    unsigned int    _seekIncr; 
    122123 
    123124}; 
     
    240241                return true; 
    241242            } 
     243            else if (ea.getKey()=='>') 
     244            { 
     245                for(ImageStreamList::iterator itr=_imageStreamList.begin(); 
     246                    itr!=_imageStreamList.end(); 
     247                    ++itr) 
     248                { 
     249                    std::cout<<"Seeking"<<std::endl; 
     250                    if(_seekIncr > 3) _seekIncr = 0; 
     251                    double length = (*itr)->getLength(); 
     252                    double t_pos = (length/4.0f)*_seekIncr; 
     253                    //(*itr)->rewind(); 
     254                    (*itr)->seek(t_pos); 
     255                    (*itr)->play(); 
     256                    _seekIncr++; 
     257                } 
     258                return true; 
     259            } 
    242260            else if (ea.getKey()=='L') 
    243261            { 
     
    273291    usage.addKeyboardMouseBinding("r","Restart movie"); 
    274292    usage.addKeyboardMouseBinding("l","Toggle looping of movie"); 
     293    usage.addKeyboardMouseBinding(">","Advance the movie using seek"); 
    275294} 
    276295 
     
    326345     
    327346        CustomAudioSink(osg::AudioStream* audioStream): 
    328             _playing(false), 
     347            _started(false), 
     348            _paused(false), 
    329349            _audioStream(audioStream) {} 
    330350         
     
    341361        virtual bool playing() const { return _playing; } 
    342362 
    343         bool                                _playing; 
     363 
     364        bool                                _started; 
     365        bool                                _paused; 
    344366        osg::observer_ptr<osg::AudioStream> _audioStream; 
    345367}; 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/include/osg

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/branches/OpenSceneGraph-2.8.2/include/osg:10664 
        2 /OpenSceneGraph/trunk/include/osg:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9932,9959,10010,10012-10014,10040-10041,10057,10076,10079-10080,10084,10088,10128,10149,10208,10228,10264,10283,10340,10410,10417,10440,10456,10487,10491,10520,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         2/OpenSceneGraph/trunk/include/osg:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10076,10079-10080,10082,10084,10088,10128,10149,10161,10208,10228,10264,10283,10340,10391-10392,10408,10410,10414,10417,10422,10440,10456,10487,10491,10520,10538,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/include/osg/AudioStream

    r11242 r11254  
    2626    AudioSink(); 
    2727 
    28     virtual void startPlaying() = 0; 
     28    virtual const char * libraryName() const { return "osg"; } 
     29    virtual const char * className() const { return "AudioSinkInterface"; } 
     30 
     31    virtual void play() = 0; 
     32    virtual void pause()  = 0; 
     33    virtual void stop()  = 0; 
     34 
    2935    virtual bool playing() const = 0; 
    3036 
     
    3238    virtual void setDelay(const double delay) { _delay = delay; } 
    3339 
    34     virtual const char * libraryName() const { return "osgFFmpeg"; } 
    35     virtual const char * className() const { return "AudioSinkInterface"; } 
     40    virtual void setVolume(float) {} 
     41    virtual float getVolume() const { return 0.0f; } 
    3642 
    3743private: 
     
    6066        virtual void consumeAudioBuffer(void * const buffer, const size_t size) = 0; 
    6167         
    62         virtual bool audioStream() const = 0; 
    6368        virtual int audioFrequency() const = 0; 
    6469        virtual int audioNbChannels() const = 0; 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/include/osg/Image

    r9643 r11254  
    186186        void setPacking(unsigned int packing) { _packing = packing; } 
    187187        inline unsigned int getPacking() const { return _packing; } 
     188 
     189        inline void setPixelAspectRatio(float pixelAspectRatio) { _pixelAspectRatio = pixelAspectRatio; } 
     190        inline float getPixelAspectRatio() const { return _pixelAspectRatio; } 
    188191         
    189192        /** Return the number of bits required for each pixel. */ 
     
    347350        GLenum _dataType; 
    348351        unsigned int _packing; 
     352        float _pixelAspectRatio; 
    349353 
    350354        AllocationMode _allocationMode; 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/include/osg/ImageStream

    r11242 r11254  
    7979 
    8080        virtual double getLength() const { return 0.0; } 
    81          
     81        virtual double getFrameRate() const { return 0.0; }  
     82 
    8283        virtual void setReferenceTime(double) {} 
    8384        virtual double getReferenceTime() const { return 0.0; } 
     
    8889        virtual void setVolume(float) {} 
    8990        virtual float getVolume() const { return 0.0f; } 
    90  
    9191 
    9292        typedef std::vector< osg::ref_ptr<osg::AudioStream> > AudioStreams; 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/include/osg/PrimitiveSet

    r9599 r11254  
    450450            if (_ebo.valid()) _ebo->releaseGLObjects(state); 
    451451        } 
     452         
     453         
     454        virtual void reserveElements(unsigned int numIndices) = 0; 
     455        virtual void setElement(unsigned int, unsigned int) = 0; 
     456        virtual unsigned int getElement(unsigned int) = 0; 
     457        virtual void addElement(unsigned int) = 0; 
    452458 
    453459    protected: 
     
    527533        } 
    528534         
     535        virtual void reserveElements(unsigned int numIndices) { reserve(numIndices); } 
     536        virtual void setElement(unsigned int i, unsigned int v)  { (*this)[i] = v; } 
     537        virtual unsigned int getElement(unsigned int i) { return (*this)[i]; }  
     538        virtual void addElement(unsigned int v) { push_back(GLubyte(v)); }  
     539 
    529540    protected: 
    530541 
     
    602613        } 
    603614 
     615        virtual void reserveElements(unsigned int numIndices) { reserve(numIndices); } 
     616        virtual void setElement(unsigned int i, unsigned int v) { (*this)[i] = v; } 
     617        virtual unsigned int getElement(unsigned int i) { return (*this)[i]; } 
     618        virtual void addElement(unsigned int v) { push_back(GLushort(v)); } 
     619 
    604620    protected: 
    605621 
     
    677693        } 
    678694 
     695        virtual void reserveElements(unsigned int numIndices) { reserve(numIndices); } 
     696        virtual void setElement(unsigned int i, unsigned int v) { (*this)[i] = v; } 
     697        virtual unsigned int getElement(unsigned int i) { return (*this)[i]; } 
     698        virtual void addElement(unsigned int v) { push_back(GLuint(v)); } 
     699 
    679700    protected: 
    680701 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/include/osgAnimation

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/trunk:9646-11206 
        2 /OpenSceneGraph/trunk/include/osgAnimation:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9932,9959,10010,10012-10014,10040-10041,10057,10076,10079-10080,10084,10088,10128,10149,10208,10264,10283,10340,10417,10440,10456,10487,10491,10520,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         2/OpenSceneGraph/trunk/include/osgAnimation:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10076,10079-10080,10082,10084,10088,10128,10149,10161,10208,10264,10283,10340,10391-10392,10408,10414,10417,10422,10440,10456,10487,10491,10520,10538,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/OpenThreads/pthreads

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/branches/OpenSceneGraph-2.8.2/src/OpenThreads/pthreads:10664 
        2 /OpenSceneGraph/trunk/src/OpenThreads/pthreads:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9932,9959,10010,10012-10014,10040-10041,10057,10076,10079-10080,10084,10088,10128,10149,10208,10219,10264,10283,10340,10417,10440,10456,10487,10491,10520,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         2/OpenSceneGraph/trunk/src/OpenThreads/pthreads:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10076,10079-10080,10082,10084,10088,10128,10149,10161,10208,10219,10264,10283,10340,10391-10392,10408,10414,10417,10422,10440,10456,10487,10491,10520,10538,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/OpenThreads/win32

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/branches/OpenSceneGraph-2.8.2/src/OpenThreads/win32:10664 
        2 /OpenSceneGraph/trunk/src/OpenThreads/win32:9769,9816-9818,9826-9827,9832,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9932,9959,10010,10012-10014,10040-10041,10057,10076,10079-10080,10084,10088,10128,10149,10191,10208,10264,10283,10340,10417,10440,10456-10457,10487,10491,10520,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         2/OpenSceneGraph/trunk/src/OpenThreads/win32:9769,9816-9818,9826-9827,9832,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10076,10079-10080,10082,10084,10088,10128,10149,10161,10191,10208,10264,10283,10340,10391-10392,10408,10414,10417,10422,10440,10456-10457,10487,10491,10520,10538,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osg

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/branches/OpenSceneGraph-2.8.2/src/osg:10664 
        22/OpenSceneGraph/trunk:10327 
        3 /OpenSceneGraph/trunk/src/osg:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9932,9959,10010,10012-10014,10040-10041,10057,10076,10079-10080,10084,10088,10128,10149,10208,10264,10283,10340,10417,10440,10456,10487,10491,10520,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         3/OpenSceneGraph/trunk/src/osg:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10076,10079-10080,10082,10084,10088,10128,10149,10161,10208,10264,10283,10340,10391-10392,10408,10414,10417,10422,10440,10456,10487,10491,10520,10538,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osg/Drawable.cpp

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/branches/OpenSceneGraph-2.8.2/src/osg/Drawable.cpp:10664 
        22/OpenSceneGraph/trunk/include/osg/src/osg/Drawable.cpp:9882 
        3 /OpenSceneGraph/trunk/src/osg/Drawable.cpp:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9897,9906,9932,9959,10010,10012-10014,10040-10041,10057,10076,10079-10080,10084,10088,10128,10149,10208,10264,10283,10340,10417,10440,10456,10487,10491,10520,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         3/OpenSceneGraph/trunk/src/osg/Drawable.cpp:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9897,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10076,10079-10080,10082,10084,10088,10128,10149,10161,10208,10264,10283,10340,10391-10392,10408,10414,10417,10422,10440,10456,10487,10491,10520,10538,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osg/Geometry.cpp

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/branches/OpenSceneGraph-2.8.2/src/osg/Geometry.cpp:10664 
        22/OpenSceneGraph/trunk/include/osg/src/osg/Geometry.cpp:9882 
        3 /OpenSceneGraph/trunk/src/osg/Geometry.cpp:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9900,9906,9932,9959,10010,10012-10014,10040-10041,10057,10076,10079-10080,10084,10088,10128,10149,10208,10264,10283,10340,10417,10440,10456,10487,10491,10520,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         3/OpenSceneGraph/trunk/src/osg/Geometry.cpp:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9900,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10076,10079-10080,10082,10084,10088,10128,10149,10161,10208,10264,10283,10340,10391-10392,10408,10414,10417,10422,10440,10456,10487,10491,10520,10538,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osg/GraphicsContext.cpp

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/branches/OpenSceneGraph-2.8.2/src/osg/GraphicsContext.cpp:10664 
        2 /OpenSceneGraph/trunk/src/osg/GraphicsContext.cpp:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9932,9959,10010,10012-10014,10040-10041,10057,10076,10079-10080,10084,10088,10128,10149,10154,10208,10264,10283,10340,10417,10440,10456,10487,10491,10520,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         2/OpenSceneGraph/trunk/src/osg/GraphicsContext.cpp:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10076,10079-10080,10082,10084,10088,10128,10149,10154,10161,10208,10264,10283,10340,10391-10392,10408,10414,10417,10422,10440,10456,10487,10491,10520,10538,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osg/Image.cpp

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/branches/OpenSceneGraph-2.8.2/src/osg/Image.cpp:10664 
        2 /OpenSceneGraph/trunk/src/osg/Image.cpp:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9932,9959,10010,10012-10014,10040-10041,10057,10062,10076,10079-10080,10084,10088,10128,10149,10208,10264,10283,10340,10417,10440,10456,10487,10491,10520,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         2/OpenSceneGraph/trunk/src/osg/Image.cpp:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10062,10076,10079-10080,10082,10084,10088,10128,10149,10161,10208,10264,10283,10340,10391-10392,10408,10414,10417,10422,10440,10456,10487,10491,10520,10538,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
    r11249 r11254  
    3434 
    3535Image::Image() 
    36     :Object(true) 
     36    :Object(true), 
     37    _fileName(""), 
     38    _writeHint(NO_PREFERENCE), 
     39    _origin(BOTTOM_LEFT), 
     40    _s(0), _t(0), _r(0), 
     41    _internalTextureFormat(0), 
     42    _pixelFormat(0), 
     43    _dataType(0), 
     44    _packing(4), 
     45    _pixelAspectRatio(1.0), 
     46    _allocationMode(USE_NEW_DELETE), 
     47    _data(0L), 
     48    _modifiedCount(0) 
    3749{ 
    3850    setDataVariance(STATIC);  
    39  
    40     _fileName               = ""; 
    41     _writeHint              = NO_PREFERENCE; 
    42     _origin                 = BOTTOM_LEFT; 
    43     _s = _t = _r            = 0; 
    44     _internalTextureFormat  = 0; 
    45     _pixelFormat            = (unsigned int)0; 
    46     _dataType               = (unsigned int)0; 
    47     _packing                = 4; 
    48  
    49     _allocationMode         = USE_NEW_DELETE; 
    50     _data                   = (unsigned char *)0L; 
    51  
    52     _modifiedCount = 0; 
    5351} 
    5452 
     
    6361    _dataType(image._dataType), 
    6462    _packing(image._packing), 
     63    _pixelAspectRatio(image._pixelAspectRatio), 
    6564    _data(0L), 
    6665    _modifiedCount(image._modifiedCount), 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osg/Node.cpp

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/branches/OpenSceneGraph-2.8.2/src/osg/Node.cpp:10664 
        22/OpenSceneGraph/trunk/include/osg/src/osg/Node.cpp:9882 
        3 /OpenSceneGraph/trunk/src/osg/Node.cpp:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9897,9906,9932,9959,10010,10012-10014,10040-10041,10057,10076,10079-10080,10084,10088,10128,10149,10208,10264,10283,10340,10417,10440,10456,10487,10491,10520,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         3/OpenSceneGraph/trunk/src/osg/Node.cpp:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9897,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10076,10079-10080,10082,10084,10088,10128,10149,10161,10208,10264,10283,10340,10391-10392,10408,10414,10417,10422,10440,10456,10487,10491,10520,10538,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osg/PolygonOffset.cpp

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/branches/OpenSceneGraph-2.8.2/src/osg/PolygonOffset.cpp:10664 
        2 /OpenSceneGraph/trunk/src/osg/PolygonOffset.cpp:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9932,9959,10010,10012-10014,10040-10041,10057,10076,10079-10080,10083-10084,10088,10128,10149,10208,10264,10283,10340,10417,10440,10456,10487,10491,10520,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         2/OpenSceneGraph/trunk/src/osg/PolygonOffset.cpp:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10076,10079-10080,10082-10084,10088,10128,10149,10161,10208,10264,10283,10340,10391-10392,10408,10414,10417,10422,10440,10456,10487,10491,10520,10538,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osg/State.cpp

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/branches/OpenSceneGraph-2.8.2/src/osg/State.cpp:10664 
        2 /OpenSceneGraph/trunk/src/osg/State.cpp:9769,9798,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9932,9959,10010,10012-10014,10040-10041,10057,10076,10079-10080,10084,10088,10128,10149,10208,10264,10283,10340,10417,10440,10456,10487,10491,10520,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         2/OpenSceneGraph/trunk/src/osg/State.cpp:9769,9798,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10076,10079-10080,10082,10084,10088,10128,10149,10161,10208,10264,10283,10340,10391-10392,10408,10414,10417,10422,10440,10456,10487,10491,10520,10538,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgAnimation

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/trunk:9646-11206 
        2 /OpenSceneGraph/trunk/src/osgAnimation:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9932,9959,10010,10012-10014,10040-10041,10057,10076,10079-10080,10084,10088,10128,10149,10208,10264,10283,10340,10417,10440,10456,10487,10491,10520,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         2/OpenSceneGraph/trunk/src/osgAnimation:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10076,10079-10080,10082,10084,10088,10128,10149,10161,10208,10264,10283,10340,10391-10392,10408,10414,10417,10422,10440,10456,10487,10491,10520,10538,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgDB

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/branches/OpenSceneGraph-2.8.2/src/osgDB:10664 
        2 /OpenSceneGraph/trunk/src/osgDB:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9932,9959,10010,10012-10014,10040-10041,10057,10076,10079-10080,10084,10088,10128,10149-10150,10208,10264,10283,10340,10417,10440,10456,10487,10491,10520,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         2/OpenSceneGraph/trunk/src/osgDB:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10076,10079-10080,10082,10084,10088,10128,10149-10150,10161,10208,10264,10283,10340,10391-10392,10408,10414,10417,10422,10440,10456,10487,10491,10520,10538,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgDB/CMakeLists.txt

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/branches/OpenSceneGraph-2.8.2/src/osgDB/CMakeLists.txt:10664 
        22/OpenSceneGraph/trunk/include/osg/src/osgDB/CMakeLists.txt:9882 
        3 /OpenSceneGraph/trunk/src/osgDB/CMakeLists.txt:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9922,9932,9959,10010,10012-10014,10040-10041,10057,10076,10079-10080,10084,10088,10128,10149-10150,10208,10264,10283,10340,10417,10440,10456,10487,10491,10520,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         3/OpenSceneGraph/trunk/src/osgDB/CMakeLists.txt:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9910,9912,9922,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10076,10079-10080,10082,10084,10088,10128,10149-10150,10161,10208,10264,10283,10340,10391-10392,10408,10414,10417,10422,10440,10456,10487,10491,10520,10538,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgDB/DatabasePager.cpp

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/branches/OpenSceneGraph-2.8.2/src/osgDB/DatabasePager.cpp:10664 
        2 /OpenSceneGraph/trunk/src/osgDB/DatabasePager.cpp:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9932,9959,10010,10012-10014,10040-10041,10054,10057,10076,10079-10080,10084,10088,10128,10149-10150,10208,10264,10283,10340,10417,10440,10456,10487,10491,10520,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         2/OpenSceneGraph/trunk/src/osgDB/DatabasePager.cpp:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053-10054,10057,10076,10079-10080,10082,10084,10088,10128,10149-10150,10161,10208,10264,10283,10340,10391-10392,10408,10414,10417,10422,10440,10456,10487,10491,10520,10538,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgManipulator

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/branches/OpenSceneGraph-2.8.2/src/osgManipulator:10664 
        2 /OpenSceneGraph/trunk/src/osgManipulator:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9932,9959,10010,10012-10014,10040-10041,10057,10076,10079-10080,10084,10088,10128,10149,10208,10264,10283,10340,10358,10417,10440,10456,10487,10491,10520,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         2/OpenSceneGraph/trunk/src/osgManipulator:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10076,10079-10080,10082,10084,10088,10128,10149,10161,10208,10264,10283,10340,10358,10391-10392,10408,10414,10417,10422,10440,10456,10487,10491,10520,10538,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgPlugins

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/branches/OpenSceneGraph-2.8.2/src/osgPlugins:10664 
        22/OpenSceneGraph/trunk:10539 
        3 /OpenSceneGraph/trunk/src/osgPlugins:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9932,9959,10010,10012-10014,10040-10041,10057,10076,10079-10080,10084,10088,10128,10149,10208,10264,10283,10340,10417,10440,10456,10487,10491,10520,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         3/OpenSceneGraph/trunk/src/osgPlugins:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10076,10079-10080,10082,10084,10088,10128,10149,10161,10208,10264,10283,10340,10391-10392,10408,10414,10417,10422,10440,10456,10487,10491,10520,10538,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgPlugins/3ds/ReaderWriter3DS.cpp

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/branches/OpenSceneGraph-2.8.2/src/osgPlugins/3ds/ReaderWriter3DS.cpp:10664 
        22/OpenSceneGraph/trunk/include/osg/src/osgPlugins/3ds/ReaderWriter3DS.cpp:9882 
        3 /OpenSceneGraph/trunk/src/osgPlugins/3ds/ReaderWriter3DS.cpp:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9932,9959,10010,10012-10014,10040-10041,10057,10076,10079-10080,10084,10088,10128,10149,10208,10264,10283,10340,10417,10440,10456,10487,10491,10520,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         3/OpenSceneGraph/trunk/src/osgPlugins/3ds/ReaderWriter3DS.cpp:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10076,10079-10080,10082,10084,10088,10128,10149,10161,10208,10264,10283,10340,10391-10392,10408,10414,10417,10422,10440,10456,10487,10491,10520,10538,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgPlugins/OpenFlight

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/branches/OpenSceneGraph-2.8.2/src/osgPlugins/OpenFlight:10664 
        2 /OpenSceneGraph/trunk/src/osgPlugins/OpenFlight:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9932,9959,10010,10012-10014,10040-10041,10057,10076,10079-10080,10084,10088,10128,10149,10208,10264,10283,10340,10417,10440,10456,10487,10491,10520,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         2/OpenSceneGraph/trunk/src/osgPlugins/OpenFlight:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10076,10079-10080,10082,10084,10088,10128,10149,10161,10208,10264,10283,10340,10391-10392,10408,10414,10417,10422,10440,10456,10487,10491,10520,10538,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgPlugins/bsp

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/branches/OpenSceneGraph-2.8.2/src/osgPlugins/bsp:10664 
        2 /OpenSceneGraph/trunk/src/osgPlugins/bsp:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9932,9959,10010,10012-10014,10040-10041,10057,10076,10079-10080,10084,10088,10128,10149,10208,10264,10283,10340,10417,10440,10456,10482-10484,10487,10491,10520,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         2/OpenSceneGraph/trunk/src/osgPlugins/bsp:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10076,10079-10080,10082,10084,10088,10128,10149,10161,10208,10264,10283,10340,10391-10392,10408,10414,10417,10422,10440,10456,10482-10484,10487,10491,10520,10538,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgPlugins/bsp/VBSPReader.cpp

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/branches/OpenSceneGraph-2.8.2/src/osgPlugins/bsp/VBSPReader.cpp:10664 
        2 /OpenSceneGraph/trunk/src/osgPlugins/bsp/VBSPReader.cpp:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9932,9959,10010,10012-10014,10040-10041,10057,10076,10079-10080,10084,10088,10128,10149,10208,10264,10283,10340,10417,10440,10456,10482-10484,10487,10491,10520,10539,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         2/OpenSceneGraph/trunk/src/osgPlugins/bsp/VBSPReader.cpp:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10076,10079-10080,10082,10084,10088,10128,10149,10161,10208,10264,10283,10340,10391-10392,10408,10414,10417,10422,10440,10456,10482-10484,10487,10491,10520,10538-10539,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgPlugins/bvh

    • Property svn:mergeinfo
      •  

        old new  
        22/OpenSceneGraph/trunk:11009 
        33/OpenSceneGraph/trunk/bvh:10539 
        4 /OpenSceneGraph/trunk/src/osgPlugins/bvh:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9932,9959,10010,10012-10014,10040-10041,10057,10076,10079-10080,10084,10088,10128,10149,10208,10264,10283,10340,10417,10440,10456,10487,10491,10520,10622-10623,10625,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         4/OpenSceneGraph/trunk/src/osgPlugins/bvh:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10076,10079-10080,10082,10084,10088,10128,10149,10161,10208,10264,10283,10340,10391-10392,10408,10414,10417,10422,10440,10456,10487,10491,10520,10538,10622-10623,10625,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgPlugins/curl

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/branches/OpenSceneGraph-2.8.2/src/osgPlugins/curl:10664 
        2 /OpenSceneGraph/trunk/src/osgPlugins/curl:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9932,9959,10010,10012-10014,10040-10041,10057,10076,10079-10080,10084,10088,10128,10149,10208,10222,10264,10283,10340,10417,10440,10456,10487,10491,10520,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         2/OpenSceneGraph/trunk/src/osgPlugins/curl:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10076,10079-10080,10082,10084,10088,10128,10149,10161,10208,10222,10264,10283,10340,10391-10392,10408,10414,10417,10422,10440,10456,10487,10491,10520,10538,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgPlugins/dxf

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/branches/OpenSceneGraph-2.8.2/src/osgPlugins/dxf:10664 
        22/OpenSceneGraph/trunk:9804 
        3 /OpenSceneGraph/trunk/src/osgPlugins/dxf:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9932,9959,10010,10012-10014,10040-10041,10057,10076,10079-10080,10084,10088,10128,10149,10208,10264,10283,10340,10417,10440,10456,10487,10491,10520,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         3/OpenSceneGraph/trunk/src/osgPlugins/dxf:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10076,10079-10080,10082,10084,10088,10128,10149,10161,10208,10264,10283,10340,10391-10392,10408,10414,10417,10422,10440,10456,10487,10491,10520,10538,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgPlugins/dxf/dxfEntity.cpp

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/branches/OpenSceneGraph-2.8.2/src/osgPlugins/dxf/dxfEntity.cpp:10664 
        22/OpenSceneGraph/trunk/dxfEntity.cpp:9804 
        3 /OpenSceneGraph/trunk/src/osgPlugins/dxf/dxfEntity.cpp:9769,9804,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9932,9959,10010,10012-10014,10040-10041,10057,10076,10079-10080,10084,10088,10128,10149,10208,10264,10283,10340,10417,10440,10456,10487,10491,10520,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         3/OpenSceneGraph/trunk/src/osgPlugins/dxf/dxfEntity.cpp:9769,9804,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10076,10079-10080,10082,10084,10088,10128,10149,10161,10208,10264,10283,10340,10391-10392,10408,10414,10417,10422,10440,10456,10487,10491,10520,10538,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgPlugins/ffmpeg/CMakeLists.txt

    r11242 r11254  
    1 # INCLUDE_DIRECTORIES( ${FFMPEG_INCLUDE_DIRS} ) 
     1INCLUDE_DIRECTORIES( ${FFMPEG_INCLUDE_DIRS} ) 
     2LINK_DIRECTORIES(${FFMPEG_LIBRARY_DIRS}) 
     3SET(TARGET_EXTERNAL_LIBRARIES ${FFMPEG_LIBRARIES} ) 
    24 
    3 IF (FFMPEG_LIBSWSCALE_FOUND) 
    45 
    5     INCLUDE_DIRECTORIES(  
    6         ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS} ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/libavformat ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/ffmpeg 
    7         ${FFMPEG_LIBAVDEVICE_INCLUDE_DIRS} ${FFMPEG_LIBAVDEVICE_INCLUDE_DIRS}/libavdevice ${FFMPEG_LIBAVDEVICE_INCLUDE_DIRS}/ffmpeg 
    8         ${FFMPEG_LIBAVCODEC_INCLUDE_DIRS} ${FFMPEG_LIBAVCODEC_INCLUDE_DIRS}/libavcodec ${FFMPEG_LIBAVCODEC_INCLUDE_DIRS}/ffmpeg 
    9         ${FFMPEG_LIBAVUTIL_INCLUDE_DIRS} ${FFMPEG_LIBAVUTIL_INCLUDE_DIRS}/libavcodec ${FFMPEG_LIBAVUTIL_INCLUDE_DIRS}/ffmpeg 
    10         ${FFMPEG_LIBSWSCALE_INCLUDE_DIRS} ${FFMPEG_LIBSWSCALE_INCLUDE_DIRS}/libswscale ${FFMPEG_LIBSWSCALE_INCLUDE_DIRS}/ffmpeg 
    11     ) 
     6IF(FFMPEG_LIBSWSCALE_FOUND) 
     7 
     8    INCLUDE_DIRECTORIES( ${FFMPEG_LIBSWSCALE_INCLUDE_DIRS} ${FFMPEG_LIBSWSCALE_INCLUDE_DIRS}/libswscale ) 
    129 
    1310    ADD_DEFINITIONS(-DUSE_SWSCALE) 
    1411 
    15     LINK_DIRECTORIES(${FFMPEG_LIBRARY_DIRS}) 
    16  
    1712    SET(TARGET_EXTERNAL_LIBRARIES ${FFMPEG_LIBRARIES} ${FFMPEG_LIBSWSCALE_LIBRARIES}) 
    18  
    19 ELSE(FFMPEG_LIBSWSCALE_FOUND) 
    20  
    21     INCLUDE_DIRECTORIES(  
    22         ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS} ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/libavformat ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/ffmpeg 
    23         ${FFMPEG_LIBAVDEVICE_INCLUDE_DIRS} ${FFMPEG_LIBAVDEVICE_INCLUDE_DIRS}/libavdevice ${FFMPEG_LIBAVDEVICE_INCLUDE_DIRS}/ffmpeg 
    24         ${FFMPEG_LIBAVCODEC_INCLUDE_DIRS} ${FFMPEG_LIBAVCODEC_INCLUDE_DIRS}/libavcodec ${FFMPEG_LIBAVCODEC_INCLUDE_DIRS}/ffmpeg 
    25         ${FFMPEG_LIBAVUTIL_INCLUDE_DIRS} ${FFMPEG_LIBAVUTIL_INCLUDE_DIRS}/libavcodec ${FFMPEG_LIBAVUTIL_INCLUDE_DIRS}/ffmpeg 
    26     ) 
    27  
    28     LINK_DIRECTORIES(${FFMPEG_LIBRARY_DIRS}) 
    29  
    30     SET(TARGET_EXTERNAL_LIBRARIES ${FFMPEG_LIBRARIES} ) 
    3113 
    3214ENDIF() 
     
    6143) 
    6244 
     45IF(CMAKE_COMPILER_IS_GNUCXX) 
     46    # Remove -pedantic flag as it barfs on ffmoeg headers 
     47   STRING(REGEX REPLACE "-pedantic" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") 
     48ENDIF() 
    6349 
    6450 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgPlugins/ffmpeg/FFmpegAudioStream.cpp

    r11242 r11254  
    5252 
    5353 
    54 bool FFmpegAudioStream::audioStream() const  
    55 {  
    56     return m_decoder->audio_decoder().validContext();  
    57 } 
    58  
    59  
    6054 
    6155int FFmpegAudioStream::audioFrequency() const  
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgPlugins/ffmpeg/FFmpegAudioStream.hpp

    r11242 r11254  
    2222        void consumeAudioBuffer(void * const buffer, const size_t size); 
    2323         
    24         bool audioStream() const; 
    2524        int audioFrequency() const; 
    2625        int audioNbChannels() const; 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgPlugins/ffmpeg/FFmpegClocks.cpp

    r11242 r11254  
    3131    m_video_clock(0), 
    3232    m_start_time(0), 
     33    m_pause_time(0), 
     34    m_seek_time(0), 
    3335    m_last_frame_delay(0.040), 
    3436    m_last_frame_pts(0), 
     
    3840    m_audio_delay(0.0), 
    3941    m_audio_disabled(false), 
    40     m_rewind(false) 
     42    m_paused(false), 
     43    m_last_current_time(0.0) 
    4144{ 
    4245 
     
    5659    m_frame_time = start_time; 
    5760 
     61    m_pause_time = 0; 
     62    m_seek_time = 0; 
     63     
    5864    m_audio_buffer_end_pts = start_time; 
    5965    m_audio_timer.setStartTick(); 
    6066} 
    6167 
    62  
    63  
    64 void FFmpegClocks::rewindAudio() 
    65 { 
    66     ScopedLock lock(m_mutex); 
    67  
     68void FFmpegClocks::pause(bool pause) 
     69{ 
     70    if(pause) 
     71        m_paused = true; 
     72    else 
     73    { 
     74        m_paused = false; 
     75        if(!m_audio_disabled) m_audio_timer.setStartTick(); 
     76    } 
     77} 
     78 
     79 
     80 
     81void FFmpegClocks::rewind() 
     82{ 
     83    ScopedLock lock(m_mutex); 
     84 
     85    m_pause_time = 0; 
     86    m_seek_time = 0; 
     87     
    6888    m_audio_buffer_end_pts = m_start_time; 
    6989    m_audio_timer.setStartTick(); 
    7090 
    71     m_rewind = ! m_rewind; 
    72 } 
    73  
    74  
    75  
    76 void FFmpegClocks::rewindVideo() 
    77 { 
    78     ScopedLock lock(m_mutex); 
     91    m_last_frame_delay = 0.040; 
     92    m_frame_time = m_start_time; 
    7993 
    8094    if (m_audio_disabled) 
    8195        return; 
    8296 
    83     m_video_clock = m_start_time; 
    84  
     97    m_video_clock = m_start_time;     
     98} 
     99 
     100void FFmpegClocks::seek(double seek_time) 
     101{ 
     102    ScopedLock lock(m_mutex); 
     103     
     104    m_video_clock = seek_time; 
    85105    m_last_frame_delay = 0.040; 
    86     m_last_frame_pts = m_start_time - m_last_frame_delay; 
    87     m_frame_time = m_start_time; 
    88  
    89     m_rewind = ! m_rewind; 
    90 } 
    91  
     106    m_frame_time = seek_time; 
     107} 
    92108 
    93109 
     
    168184 
    169185    // If incorrect delay, use previous one 
     186     
    170187    if (delay <= 0.0 || delay >= 1.0) 
     188    { 
    171189        delay = m_last_frame_delay; 
     190        if(!m_audio_disabled) m_frame_time = pts - delay; 
     191    } 
     192     
    172193 
    173194    // Save for next time 
     
    182203 
    183204    const double audio_time = getAudioTime(); 
    184     const double actual_delay = (! m_rewind) ? 
    185         clamp(m_frame_time - audio_time, -0.5*delay, 2.5*delay) : 
    186         m_last_actual_delay; // when rewinding audio or video (but the other has yet to be), get the last used delay 
     205    const double actual_delay = clamp(m_frame_time - audio_time, -0.5*delay, 2.5*delay); 
    187206 
    188207    //m_frame_time += delay; 
     
    206225} 
    207226 
     227void FFmpegClocks::setPauseTime(double pause_time) 
     228{ 
     229    m_pause_time += pause_time; 
     230} 
     231 
     232void FFmpegClocks::setSeekTime(double seek_time) 
     233{ 
     234    m_seek_time += getAudioTime() - seek_time; 
     235} 
     236 
    208237 
    209238 
    210239double FFmpegClocks::getAudioTime() const 
    211240{ 
    212     return m_audio_buffer_end_pts + m_audio_timer.time_s() - m_audio_delay; 
    213 } 
    214  
    215  
     241    if(m_audio_disabled) 
     242        return m_audio_buffer_end_pts + m_audio_timer.time_s() - m_pause_time - m_audio_delay - m_seek_time; 
     243    else 
     244        return m_audio_buffer_end_pts + m_audio_timer.time_s() - m_audio_delay; 
     245} 
     246 
     247 
     248double FFmpegClocks::getCurrentTime() 
     249{ 
     250    if(!m_paused) 
     251        m_last_current_time = getAudioTime(); 
     252     
     253    return m_last_current_time;   
     254} 
    216255 
    217256} // namespace osgFFmpeg 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgPlugins/ffmpeg/FFmpegClocks.hpp

    r11242 r11254  
    2323 
    2424    void reset(double start_time); 
    25     void rewindAudio(); 
    26     void rewindVideo(); 
     25    void pause(bool pause); 
     26    void seek(double seek_time); 
     27    void rewind(); 
    2728 
    2829    void audioSetBufferEndPts(double pts); 
     
    3031    void audioSetDelay(double delay); 
    3132    void audioDisable(); 
     33    bool audioDisabled() const { return m_audio_disabled; } 
    3234 
    3335    double videoSynchClock(const AVFrame * frame, double time_base, double pts); 
     
    3537 
    3638    double getStartTime() const; 
     39    double getCurrentTime(); 
     40    void setPauseTime(double pause_time); 
     41    void setSeekTime(double seek_time); 
    3742 
    3843private: 
     
    4954 
    5055    double    m_start_time; 
     56    double    m_pause_time; 
     57    double    m_seek_time; 
    5158    double    m_last_frame_delay; 
    5259    double    m_last_frame_pts; 
     
    5562    double    m_audio_buffer_end_pts; 
    5663    double    m_audio_delay; 
    57     Timer    m_audio_timer; 
    58     bool    m_audio_disabled; 
    59     bool    m_rewind; 
     64    Timer     m_audio_timer; 
     65    bool      m_audio_disabled; 
     66    bool      m_paused; 
     67    double    m_last_current_time; 
     68 
    6069     
    6170}; 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgPlugins/ffmpeg/FFmpegDecoder.cpp

    r11242 r11254  
    33 
    44#include <osg/Notify> 
     5#include <osgDB/FileNameUtils> 
    56 
    67#include <cassert> 
     
    89#include <stdexcept> 
    910#include <string.h> 
    10  
     11#include <iostream> 
    1112 
    1213 
     
    5556            formatParams.channel = 0; 
    5657            formatParams.standard = 0; 
     58#if 1 
     59            formatParams.width = 320; 
     60            formatParams.height = 240; 
     61#else 
    5762            formatParams.width = 640; 
    5863            formatParams.height = 480; 
     64#endif             
    5965            formatParams.time_base.num = 1; 
    60             formatParams.time_base.den = 50; 
    61  
    62             iformat = av_find_input_format("video4linux2"); 
     66            formatParams.time_base.den = 30; 
     67 
     68            std::string format = "video4linux2"; 
     69            iformat = av_find_input_format(format.c_str()); 
    6370             
    6471            if (iformat) 
    6572            { 
    66                 osg::notify(osg::NOTICE)<<"Found input format"<<std::endl; 
     73                osg::notify(osg::NOTICE)<<"Found input format: "<<format<<std::endl; 
    6774            } 
    6875            else 
    6976            { 
    70                 osg::notify(osg::NOTICE)<<"Failed to find input_format"<<std::endl; 
    71             } 
    72  
    73             if (av_open_input_file(&p_format_context, filename.c_str(), iformat, 0, &formatParams) != 0) 
    74                 throw std::runtime_error("av_open_input_file() failed"); 
     77                osg::notify(osg::NOTICE)<<"Failed to find input format: "<<format<<std::endl; 
     78            } 
     79 
     80            int error = av_open_input_file(&p_format_context, filename.c_str(), iformat, 0, &formatParams); 
     81            if (error != 0) 
     82            { 
     83                std::string error_str; 
     84                switch (error) 
     85                { 
     86                    //case AVERROR_UNKNOWN: error_str = "AVERROR_UNKNOWN"; break;   // same value as AVERROR_INVALIDDATA 
     87                    case AVERROR_IO: error_str = "AVERROR_IO"; break; 
     88                    case AVERROR_NUMEXPECTED: error_str = "AVERROR_NUMEXPECTED"; break; 
     89                    case AVERROR_INVALIDDATA: error_str = "AVERROR_INVALIDDATA"; break; 
     90                    case AVERROR_NOMEM: error_str = "AVERROR_NOMEM"; break; 
     91                    case AVERROR_NOFMT: error_str = "AVERROR_NOFMT"; break; 
     92                    case AVERROR_NOTSUPP: error_str = "AVERROR_NOTSUPP"; break; 
     93                    case AVERROR_NOENT: error_str = "AVERROR_NOENT"; break; 
     94                    case AVERROR_PATCHWELCOME: error_str = "AVERROR_PATCHWELCOME"; break; 
     95                    default: error_str = "Unknown error"; break; 
     96                } 
     97 
     98                throw std::runtime_error("av_open_input_file() failed : " + error_str); 
     99            } 
    75100        } 
    76101        else 
     
    142167        return readNextPacketNormal(); 
    143168 
     169    case PAUSE: 
     170        return false; 
     171 
    144172    case END_OF_STREAM: 
    145173        return readNextPacketEndOfStream(); 
     
    147175    case REWINDING: 
    148176        return readNextPacketRewinding(); 
     177 
     178    case SEEKING: 
     179        return readNextPacketSeeking(); 
    149180 
    150181    default: 
     
    165196} 
    166197 
    167  
    168  
     198void FFmpegDecoder::seek(double time)  
     199{ 
     200    m_pending_packet.clear(); 
     201 
     202    flushAudioQueue(); 
     203    flushVideoQueue(); 
     204    seekButDontFlushQueues(time); 
     205} 
     206 
     207void FFmpegDecoder::pause()  
     208{ 
     209    m_pending_packet.clear(); 
     210 
     211    flushAudioQueue(); 
     212    flushVideoQueue(); 
     213    m_state = PAUSE; 
     214} 
    169215 
    170216void FFmpegDecoder::findAudioStream() 
     
    240286            // If we reach the end of the stream, change the decoder state 
    241287            if (loop()) 
     288            { 
     289                m_clocks.reset(m_start); 
    242290                rewindButDontFlushQueues(); 
     291            } 
    243292            else 
    244293                m_state = END_OF_STREAM; 
     
    313362    const AVRational AvTimeBaseQ = { 1, AV_TIME_BASE }; // = AV_TIME_BASE_Q 
    314363 
    315     const int64_t pos = m_clocks.getStartTime() * AV_TIME_BASE; 
     364    const int64_t pos = int64_t(m_clocks.getStartTime() * double(AV_TIME_BASE)); 
    316365    const int64_t seek_target = av_rescale_q(pos, AvTimeBaseQ, m_video_stream->time_base); 
    317366 
     
    319368        throw std::runtime_error("av_seek_frame failed()"); 
    320369 
     370    m_clocks.rewind(); 
    321371    m_state = REWINDING; 
    322372} 
    323373 
     374bool FFmpegDecoder::readNextPacketSeeking()  
     375{ 
     376    const FFmpegPacket packet(FFmpegPacket::PACKET_FLUSH); 
     377 
     378    if (m_audio_queue.timedPush(packet, 10) && m_video_queue.timedPush(packet, 10)) 
     379        m_state = NORMAL; 
     380 
     381    return false;     
     382} 
     383 
     384void FFmpegDecoder::seekButDontFlushQueues(double time) 
     385{ 
     386    const AVRational AvTimeBaseQ = { 1, AV_TIME_BASE }; // = AV_TIME_BASE_Q 
     387 
     388    const int64_t pos = int64_t(m_clocks.getStartTime()+time * double(AV_TIME_BASE)); 
     389    const int64_t seek_target = av_rescale_q(pos, AvTimeBaseQ, m_video_stream->time_base); 
     390 
     391    m_clocks.setSeekTime(time); 
     392 
     393    if (av_seek_frame(m_format_context.get(), m_video_index, seek_target, 0/*AVSEEK_FLAG_BYTE |*/ /*AVSEEK_FLAG_BACKWARD*/) < 0) 
     394        throw std::runtime_error("av_seek_frame failed()"); 
     395 
     396    m_clocks.seek(time); 
     397    m_state = SEEKING;     
     398} 
     399 
    324400 
    325401 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgPlugins/ffmpeg/FFmpegDecoder.hpp

    r11242 r11254  
    6969    bool readNextPacket(); 
    7070    void rewind(); 
     71    void seek(double time); 
     72    void pause(); 
    7173 
    7274    void loop(bool loop); 
     
    7476 
    7577    double duration() const; 
     78    double reference(); 
    7679 
    7780    FFmpegDecoderAudio & audio_decoder(); 
     
    8588    { 
    8689        NORMAL, 
     90        PAUSE, 
    8791        END_OF_STREAM, 
    88         REWINDING 
     92        REWINDING, 
     93        SEEKING 
    8994    }; 
    9095 
     
    98103    bool readNextPacketEndOfStream(); 
    99104    bool readNextPacketRewinding(); 
     105    bool readNextPacketSeeking(); 
     106    bool readNextPacketPause(); 
    100107    void rewindButDontFlushQueues(); 
     108    void seekButDontFlushQueues(double time); 
    101109 
    102110    FormatContextPtr    m_format_context; 
    103     AVStream *            m_audio_stream; 
    104     AVStream *            m_video_stream; 
     111    AVStream *          m_audio_stream; 
     112    AVStream *          m_video_stream; 
    105113 
    106     unsigned int        m_audio_index; 
    107     unsigned int        m_video_index; 
     114    int                 m_audio_index; 
     115    int                 m_video_index; 
    108116 
    109117    FFmpegClocks        m_clocks; 
    110118    FFmpegPacket        m_pending_packet; 
    111     PacketQueue            m_audio_queue; 
    112     PacketQueue            m_video_queue; 
     119    PacketQueue         m_audio_queue; 
     120    PacketQueue         m_video_queue; 
    113121     
    114     FFmpegDecoderAudio    m_audio_decoder; 
    115     FFmpegDecoderVideo    m_video_decoder; 
     122    FFmpegDecoderAudio  m_audio_decoder; 
     123    FFmpegDecoderVideo  m_video_decoder; 
    116124 
    117     double                m_duration; 
    118     double                m_start; 
     125    double              m_duration; 
     126    double              m_start; 
    119127 
    120     State                m_state; 
     128    State               m_state; 
    121129    bool                m_loop; 
    122130}; 
     
    141149{ 
    142150    return double(m_format_context->duration) / AV_TIME_BASE;     
     151} 
     152 
     153inline double FFmpegDecoder::reference() 
     154{ 
     155    return m_clocks.getCurrentTime();     
    143156} 
    144157 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp

    r11242 r11254  
    1313namespace osgFFmpeg { 
    1414 
     15static int decode_audio(AVCodecContext *avctx, int16_t *samples, 
     16                         int *frame_size_ptr, 
     17                         const uint8_t *buf, int buf_size) 
     18{ 
     19#if LIBAVCODEC_VERSION_MAJOR >= 53 || (LIBAVCODEC_VERSION_MAJOR==52 && LIBAVCODEC_VERSION_MINOR>=32) 
     20 
     21    // following code segment copied from ffmpeg's avcodec_decode_audio2() 
     22    // implementation to avoid warnings about deprecated function usage. 
     23    AVPacket avpkt; 
     24    av_init_packet(&avpkt); 
     25    avpkt.data = const_cast<uint8_t *>(buf); 
     26    avpkt.size = buf_size; 
     27 
     28    return avcodec_decode_audio3(avctx, samples, frame_size_ptr, &avpkt); 
     29#else 
     30    // fallback for older versions of ffmpeg that don't have avcodec_decode_audio3. 
     31    return avcodec_decode_audio2(avctx, samples, frame_size_ptr, buf, buf_size); 
     32#endif 
     33} 
    1534 
    1635 
     
    2645    m_audio_buf_index(0), 
    2746    m_end_of_stream(false), 
     47    m_paused(true), 
    2848    m_exit(false) 
    2949{ 
     
    89109} 
    90110 
     111void FFmpegDecoderAudio::pause(bool pause) 
     112{ 
     113    if (pause != m_paused) 
     114    { 
     115        m_paused = pause; 
     116        if (m_audio_sink.valid()) 
     117        { 
     118            if (m_paused) m_audio_sink->pause(); 
     119            else m_audio_sink->play(); 
     120        } 
     121    } 
     122} 
    91123 
    92124void FFmpegDecoderAudio::close(bool waitForThreadToExit) 
     
    100132} 
    101133 
     134void FFmpegDecoderAudio::setVolume(float volume) 
     135{ 
     136    if (m_audio_sink.valid()) 
     137    { 
     138        m_audio_sink->setVolume(volume); 
     139    } 
     140} 
     141 
     142float FFmpegDecoderAudio::getVolume() const 
     143{ 
     144    if (m_audio_sink.valid()) 
     145    { 
     146        return m_audio_sink->getVolume(); 
     147    } 
     148    return 0.0f; 
     149} 
    102150 
    103151void FFmpegDecoderAudio::run() 
     
    131179void FFmpegDecoderAudio::fillBuffer(void * const buffer, size_t size) 
    132180{ 
    133     size_t filled = 0; 
    134181    uint8_t * dst_buffer = reinterpret_cast<uint8_t*>(buffer); 
    135182 
     
    177224    { 
    178225        m_clocks.audioSetDelay(m_audio_sink->getDelay()); 
    179         m_audio_sink->startPlaying(); 
     226        m_audio_sink->play(); 
    180227    } 
    181228    else 
     
    186233    while (! m_exit) 
    187234    { 
     235 
     236        if(m_paused) 
     237        { 
     238            m_clocks.pause(true); 
     239            m_pause_timer.setStartTick(); 
     240 
     241            while(m_paused) 
     242            { 
     243                microSleep(10000); 
     244            } 
     245 
     246            m_clocks.setPauseTime(m_pause_timer.time_s()); 
     247            m_clocks.pause(false); 
     248        } 
     249 
    188250        // If skipping audio, make sure the audio stream is still consumed. 
    189251        if (skip_audio) 
     
    195257                packet.clear(); 
    196258        } 
    197  
    198259        // Else, just idle in this thread. 
    199260        // Note: If m_audio_sink has an audio callback, this thread will still be awaken 
     
    253314            int data_size = size; 
    254315 
    255             const int bytes_decoded = avcodec_decode_audio2(m_context, reinterpret_cast<int16_t*>(buffer), &data_size, m_packet_data, m_bytes_remaining); 
     316            const int bytes_decoded = decode_audio(m_context, reinterpret_cast<int16_t*>(buffer), &data_size, m_packet_data, m_bytes_remaining); 
    256317 
    257318            if (bytes_decoded < 0) 
     
    286347        if (m_packet.type == FFmpegPacket::PACKET_DATA) 
    287348        { 
    288             if (m_packet.packet.pts != AV_NOPTS_VALUE) 
     349            if (m_packet.packet.pts != int64_t(AV_NOPTS_VALUE)) 
    289350            { 
    290351                const double pts = av_q2d(m_stream->time_base) * m_packet.packet.pts; 
     
    302363        { 
    303364            avcodec_flush_buffers(m_context); 
    304             m_clocks.rewindAudio(); 
    305365        } 
    306366 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgPlugins/ffmpeg/FFmpegDecoderAudio.hpp

    r11242 r11254  
    44 
    55#include <OpenThreads/Thread> 
     6 
     7#include <osg/Timer> 
    68 
    79#include "FFmpegClocks.hpp" 
     
    3032 
    3133    void open(AVStream * stream); 
     34    void pause(bool pause); 
    3235    void close(bool waitForThreadToExit); 
    3336     
     37    void setVolume(float volume); 
     38    float getVolume() const; 
     39 
    3440    virtual void run(); 
    3541 
     
    5258 
    5359 
    54     PacketQueue &        m_packets; 
    55     FFmpegClocks &        m_clocks; 
    56     AVStream *            m_stream; 
    57     AVCodecContext *    m_context; 
    58     FFmpegPacket        m_packet; 
    59     const uint8_t *        m_packet_data; 
    60     int                    m_bytes_remaining; 
     60    PacketQueue &                       m_packets; 
     61    FFmpegClocks &                      m_clocks; 
     62    AVStream *                          m_stream; 
     63    AVCodecContext *                    m_context; 
     64    FFmpegPacket                        m_packet; 
     65    const uint8_t *                     m_packet_data; 
     66    int                                 m_bytes_remaining; 
    6167 
    62     Buffer                m_audio_buffer; 
    63     size_t                m_audio_buf_size; 
    64     size_t                m_audio_buf_index; 
     68    Buffer                              m_audio_buffer; 
     69    size_t                              m_audio_buf_size; 
     70    size_t                              m_audio_buf_index; 
    6571 
    66     int                    m_frequency; 
    67     int                    m_nb_channels; 
    68     osg::AudioStream::SampleFormat    m_sample_format; 
     72    int                                 m_frequency; 
     73    int                                 m_nb_channels; 
     74    osg::AudioStream::SampleFormat      m_sample_format; 
    6975 
    70     SinkPtr                m_audio_sink; 
     76    SinkPtr                             m_audio_sink; 
    7177 
    72     bool                m_end_of_stream; 
    73     volatile bool        m_exit; 
     78    osg::Timer                          m_pause_timer; 
     79 
     80    bool                                m_end_of_stream; 
     81    bool                                m_paused; 
     82    volatile bool                       m_exit; 
    7483}; 
    7584 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.cpp

    r11243 r11254  
    88 
    99namespace osgFFmpeg { 
     10 
     11static int decode_video(AVCodecContext *avctx, AVFrame *picture, 
     12                         int *got_picture_ptr, 
     13                         const uint8_t *buf, int buf_size) 
     14{ 
     15#if LIBAVCODEC_VERSION_MAJOR >= 53 || (LIBAVCODEC_VERSION_MAJOR==52 && LIBAVCODEC_VERSION_MINOR>=32) 
     16    // following code segment copied from ffmpeg avcodec_decode_video() implementation 
     17    // to avoid warnings about deprecated function usage. 
     18    AVPacket avpkt; 
     19    av_init_packet(&avpkt); 
     20    avpkt.data = const_cast<uint8_t *>(buf); 
     21    avpkt.size = buf_size; 
     22    // HACK for CorePNG to decode as normal PNG by default 
     23    avpkt.flags = AV_PKT_FLAG_KEY; 
     24 
     25    return avcodec_decode_video2(avctx, picture, got_picture_ptr, &avpkt); 
     26#else 
     27    // fallback for older versions of ffmpeg that don't have avcodec_decode_video2. 
     28    return avcodec_decode_video(avctx, picture, got_picture_ptr, buf, buf_size); 
     29#endif 
     30} 
     31 
    1032 
    1133FFmpegDecoderVideo::FFmpegDecoderVideo(PacketQueue & packets, FFmpegClocks & clocks) : 
     
    2143    m_user_data(0), 
    2244    m_publish_func(0), 
     45    m_paused(true), 
    2346    m_exit(false) 
    2447#ifdef USE_SWSCALE 
     
    3356FFmpegDecoderVideo::~FFmpegDecoderVideo() 
    3457{ 
    35     osg::notify(osg::NOTICE)<<"Destructing FFmpegDecoderVideo..."<<std::endl; 
     58    osg::notify(osg::INFO)<<"Destructing FFmpegDecoderVideo..."<<std::endl; 
    3659 
    3760 
     
    5477#endif 
    5578 
    56     osg::notify(osg::NOTICE)<<"Destructed FFmpegDecoderVideo"<<std::endl; 
     79    osg::notify(osg::INFO)<<"Destructed FFmpegDecoderVideo"<<std::endl; 
    5780} 
    5881 
     
    118141} 
    119142 
     143void FFmpegDecoderVideo::pause(bool pause) 
     144{ 
     145    if(pause) 
     146        m_paused = true; 
     147    else 
     148        m_paused = false; 
     149} 
    120150 
    121151void FFmpegDecoderVideo::run() 
     
    158188            int frame_finished = 0; 
    159189 
    160             const int bytes_decoded = avcodec_decode_video(m_context, m_frame.get(), &frame_finished, m_packet_data, m_bytes_remaining); 
     190            const int bytes_decoded = decode_video(m_context, m_frame.get(), &frame_finished, m_packet_data, m_bytes_remaining); 
    161191 
    162192            if (bytes_decoded < 0) 
     
    168198            // Find out the frame pts 
    169199 
    170             if (packet.packet.dts == AV_NOPTS_VALUE && 
     200            if (packet.packet.dts == int64_t(AV_NOPTS_VALUE) && 
    171201                m_frame->opaque != 0 && 
    172                 *reinterpret_cast<const int64_t*>(m_frame->opaque) != AV_NOPTS_VALUE) 
     202                *reinterpret_cast<const int64_t*>(m_frame->opaque) != int64_t(AV_NOPTS_VALUE)) 
    173203            { 
    174204                pts = *reinterpret_cast<const int64_t*>(m_frame->opaque); 
    175205            } 
    176             else if (packet.packet.dts != AV_NOPTS_VALUE) 
     206            else if (packet.packet.dts != int64_t(AV_NOPTS_VALUE)) 
    177207            { 
    178208                pts = packet.packet.dts; 
     
    191221                const double frame_delay = m_clocks.videoRefreshSchedule(synched_pts); 
    192222 
    193                 publishFrame(frame_delay); 
    194             } 
     223                publishFrame(frame_delay, m_clocks.audioDisabled()); 
     224            } 
     225        } 
     226 
     227        while(m_paused && !m_exit) 
     228        { 
     229            microSleep(10000); 
    195230        } 
    196231 
     
    215250            { 
    216251                avcodec_flush_buffers(m_context); 
    217                 m_clocks.rewindVideo(); 
    218252            } 
    219253        } 
     
    225259void FFmpegDecoderVideo::findAspectRatio() 
    226260{ 
    227     double ratio = 0.0; 
     261    float ratio = 0.0f; 
    228262 
    229263    if (m_context->sample_aspect_ratio.num != 0) 
    230         ratio = (av_q2d(m_context->sample_aspect_ratio) * m_width) / m_height; 
    231  
    232     if (ratio <= 0.0) 
    233         ratio = double(m_width) / double(m_height); 
    234  
    235     m_aspect_ratio = ratio; 
    236 } 
    237  
    238 int FFmpegDecoderVideo::convert(AVPicture *dst, int dst_pix_fmt, const AVPicture *src, 
     264        ratio = float(av_q2d(m_context->sample_aspect_ratio)); 
     265 
     266    if (ratio <= 0.0f) 
     267        ratio = 1.0f; 
     268 
     269    m_pixel_aspect_ratio = ratio; 
     270} 
     271 
     272int FFmpegDecoderVideo::convert(AVPicture *dst, int dst_pix_fmt, AVPicture *src, 
    239273            int src_pix_fmt, int src_width, int src_height) 
    240274{ 
     
    243277    if (m_swscale_ctx==0) 
    244278    { 
    245         m_swscale_ctx = sws_getContext(src_width, src_height, src_pix_fmt, 
    246                                       src_width, src_height, dst_pix_fmt,                                     
     279        m_swscale_ctx = sws_getContext(src_width, src_height, (PixelFormat) src_pix_fmt, 
     280                                      src_width, src_height, (PixelFormat) dst_pix_fmt, 
    247281                                      /*SWS_BILINEAR*/ SWS_BICUBIC, NULL, NULL, NULL); 
    248282    } 
    249283     
    250284 
    251     osg::notify(osg::NOTICE)<<"Using sws_scale "; 
    252  
     285    osg::notify(osg::INFO)<<"Using sws_scale "; 
     286     
    253287    int result =  sws_scale(m_swscale_ctx, 
    254                             src->data, src->linesize, 0, src_height, 
    255                             dst->data, dst->linesize); 
     288                            (src->data), (src->linesize), 0, src_height, 
     289                            (dst->data), (dst->linesize)); 
    256290#else 
    257291 
    258     osg::notify(osg::NOTICE)<<"Using img_convert "; 
     292    osg::notify(osg::INFO)<<"Using img_convert "; 
    259293 
    260294    int result = img_convert(dst, dst_pix_fmt, src, 
     
    263297#endif 
    264298    osg::Timer_t endTick = osg::Timer::instance()->tick(); 
    265     osg::notify(osg::NOTICE)<<" time = "<<osg::Timer::instance()->delta_m(startTick,endTick)<<"ms"<<std::endl; 
     299    osg::notify(osg::INFO)<<" time = "<<osg::Timer::instance()->delta_m(startTick,endTick)<<"ms"<<std::endl; 
    266300 
    267301    return result; 
     
    269303 
    270304 
    271 void FFmpegDecoderVideo::publishFrame(const double delay) 
     305void FFmpegDecoderVideo::publishFrame(const double delay, bool audio_disabled) 
    272306{ 
    273307    // If no publishing function, just ignore the frame 
     
    275309        return; 
    276310 
     311#if 1 
     312    // new code from Jean-Sebasiten Guay - needs testing as we're unclear on the best solution 
     313    // If the display delay is too small, we better skip the frame. 
     314    if (!audio_disabled && delay < -0.010) 
     315        return; 
     316#else 
     317    // original solution that hung on video stream over web. 
    277318    // If the display delay is too small, we better skip the frame. 
    278319    if (delay < -0.010) 
    279320        return; 
    280          
    281     const AVPicture * const src = (const AVPicture *) m_frame.get(); 
     321#endif 
     322 
     323    AVPicture * const src = (AVPicture *) m_frame.get(); 
    282324    AVPicture * const dst = (AVPicture *) m_frame_rgba.get(); 
    283325 
     
    315357 
    316358 
    317 void FFmpegDecoderVideo::yuva420pToRgba(AVPicture * const dst, const AVPicture * const src, int width, int height) 
     359void FFmpegDecoderVideo::yuva420pToRgba(AVPicture * const dst, AVPicture * const src, int width, int height) 
    318360{ 
    319361    convert(dst, PIX_FMT_RGB32, src, m_context->pix_fmt, width, height); 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.hpp

    r11242 r11254  
    6666 
    6767    void open(AVStream * stream); 
     68    void pause(bool pause); 
    6869    void close(bool waitForThreadToExit); 
    6970 
     
    7576    int width() const; 
    7677    int height() const; 
    77     double aspectRatio() const; 
     78    float pixelAspectRatio() const; 
    7879    bool alphaChannel() const; 
    7980    double frameRate() const; 
     
    8687    void decodeLoop(); 
    8788    void findAspectRatio(); 
    88     void publishFrame(double delay); 
     89    void publishFrame(double delay, bool audio_disabled); 
    8990    double synchronizeVideo(double pts); 
    90     void yuva420pToRgba(AVPicture *dst, const AVPicture *src, int width, int height); 
     91    void yuva420pToRgba(AVPicture *dst, AVPicture *src, int width, int height); 
    9192 
    92     int convert(AVPicture *dst, int dst_pix_fmt, const AVPicture *src, 
     93    int convert(AVPicture *dst, int dst_pix_fmt, AVPicture *src, 
    9394                int src_pix_fmt, int src_width, int src_height); 
    9495 
     
    115116 
    116117    double                  m_frame_rate; 
    117     double                  m_aspect_ratio; 
     118    float                   m_pixel_aspect_ratio; 
    118119    int                     m_width; 
    119120    int                     m_height; 
     
    121122    bool                    m_alpha_channel; 
    122123 
     124    bool                    m_paused; 
    123125    volatile bool           m_exit; 
    124126     
     
    156158 
    157159 
    158 inline double FFmpegDecoderVideo::aspectRatio() const 
     160inline float FFmpegDecoderVideo::pixelAspectRatio() const 
    159161{ 
    160     return m_aspect_ratio; 
     162    return m_pixel_aspect_ratio; 
    161163} 
    162164 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgPlugins/ffmpeg/FFmpegHeaders.hpp

    r11242 r11254  
    77{ 
    88#define __STDC_CONSTANT_MACROS 
     9#include <errno.h>    // for error codes defined in avformat.h 
    910#include <stdint.h> 
    1011#include <avcodec.h> 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgPlugins/ffmpeg/FFmpegImageStream.cpp

    r11242 r11254  
    1919    m_frame_published_flag(false) 
    2020{ 
    21     setOrigin(osg::Image::BOTTOM_LEFT); 
     21    setOrigin(osg::Image::TOP_LEFT); 
    2222 
    2323    std::auto_ptr<FFmpegDecoder> decoder(new FFmpegDecoder); 
     
    4040FFmpegImageStream::~FFmpegImageStream() 
    4141{ 
    42     osg::notify(osg::NOTICE)<<"Destructing FFMpegImageStream..."<<std::endl; 
     42    osg::notify(osg::INFO)<<"Destructing FFmpegImageStream..."<<std::endl; 
    4343 
    4444    quit(true); 
    4545     
    46     osg::notify(osg::NOTICE)<<"Have done quit"<<std::endl; 
     46    osg::notify(osg::INFO)<<"Have done quit"<<std::endl; 
    4747 
    4848    // release athe audio streams to make sure that the decoder doesn't retain any external 
     
    5656    delete m_commands; 
    5757 
    58     osg::notify(osg::NOTICE)<<"Destructed FFMpegImageStream."<<std::endl; 
     58    osg::notify(osg::INFO)<<"Destructed FFMpegImageStream."<<std::endl; 
    5959} 
    6060 
     
    7272        const_cast<unsigned char *>(m_decoder->video_decoder().image()), NO_DELETE 
    7373    ); 
    74      
    75     setOrigin(osg::Image::TOP_LEFT); 
     74 
     75 
     76    setPixelAspectRatio(m_decoder->video_decoder().pixelAspectRatio()); 
     77 
     78    osg::notify(osg::NOTICE)<<"ffmpeg::open("<<filename<<") size("<<s()<<", "<<t()<<") aspect ratio "<<m_decoder->video_decoder().pixelAspectRatio()<<std::endl; 
     79 
     80#if 1 
     81    // swscale is reported errors and then crashing when rescaling video of size less than 10 by 10. 
     82    if (s()<=10 || t()<=10) return false; 
     83#endif 
    7684 
    7785    m_decoder->video_decoder().setUserData(this); 
    7886    m_decoder->video_decoder().setPublishCallback(publishNewFrame); 
    79      
     87 
    8088    if (m_decoder->audio_decoder().validContext()) 
    8189    { 
    8290        osg::notify(osg::NOTICE)<<"Attaching FFmpegAudioStream"<<std::endl; 
    83      
     91 
    8492        getAudioStreams().push_back(new FFmpegAudioStream(m_decoder.get())); 
    8593    } 
     
    123131} 
    124132 
     133void FFmpegImageStream::seek(double time) { 
     134    m_seek_time = time; 
     135    m_commands->push(CMD_SEEK); 
     136} 
     137 
    125138 
    126139 
     
    140153} 
    141154 
    142  
    143 double FFmpegImageStream::duration() const 
     155void FFmpegImageStream::setVolume(float volume) 
     156{ 
     157    m_decoder->audio_decoder().setVolume(volume); 
     158} 
     159 
     160float FFmpegImageStream::getVolume() const 
     161{ 
     162    return m_decoder->audio_decoder().getVolume(); 
     163} 
     164 
     165double FFmpegImageStream::getLength() const 
    144166{  
    145167    return m_decoder->duration();  
     
    147169 
    148170 
    149  
    150 bool FFmpegImageStream::videoAlphaChannel() const  
     171double FFmpegImageStream::getReferenceTime () const 
     172{ 
     173    return m_decoder->reference(); 
     174} 
     175 
     176 
     177 
     178double FFmpegImageStream::getFrameRate() const 
     179{  
     180    return m_decoder->video_decoder().frameRate();  
     181} 
     182 
     183 
     184 
     185bool FFmpegImageStream::isImageTranslucent() const  
    151186{  
    152187    return m_decoder->video_decoder().alphaChannel();  
    153188} 
    154189 
    155  
    156  
    157 double FFmpegImageStream::videoAspectRatio() const 
    158 {  
    159     return m_decoder->video_decoder().aspectRatio(); 
    160 } 
    161  
    162  
    163  
    164 double FFmpegImageStream::videoFrameRate() const 
    165 {  
    166     return m_decoder->video_decoder().frameRate();  
    167 } 
    168190 
    169191 
     
    233255        return true; 
    234256 
     257    case CMD_SEEK: 
     258        cmdSeek(m_seek_time); 
     259        return true; 
     260 
    235261    case CMD_STOP: 
    236262        return false; 
     
    253279        if (! m_decoder->video_decoder().isRunning()) 
    254280            m_decoder->video_decoder().start(); 
     281 
     282        m_decoder->video_decoder().pause(false); 
     283        m_decoder->audio_decoder().pause(false); 
    255284    } 
    256285 
     
    264293    if (_status == PLAYING) 
    265294    { 
    266  
     295        m_decoder->video_decoder().pause(true); 
     296        m_decoder->audio_decoder().pause(true); 
    267297    } 
    268298 
     
    277307} 
    278308 
     309void FFmpegImageStream::cmdSeek(double time)  
     310{ 
     311    m_decoder->seek(time); 
     312} 
    279313 
    280314 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgPlugins/ffmpeg/FFmpegImageStream.hpp

    r11242 r11254  
    3131        virtual void pause(); 
    3232        virtual void rewind(); 
     33        virtual void seek(double time); 
    3334        virtual void quit(bool waitForThreadToExit = true); 
    3435 
    35         double duration() const; 
     36        virtual void setVolume(float volume); 
     37        virtual float getVolume() const; 
    3638 
    37         bool videoAlphaChannel() const; 
    38         double videoAspectRatio() const; 
    39         double videoFrameRate() const; 
     39        virtual double getLength() const; 
     40        virtual double getReferenceTime () const;  
     41        virtual double getFrameRate() const; 
    4042 
     43        virtual bool isImageTranslucent() const; 
    4144 
    4245    private: 
     
    4750            CMD_PAUSE, 
    4851            CMD_STOP, 
    49             CMD_REWIND 
     52            CMD_REWIND, 
     53            CMD_SEEK 
    5054        }; 
    5155 
     
    6367        void cmdPause(); 
    6468        void cmdRewind(); 
     69        void cmdSeek(double time); 
    6570 
    6671        static void publishNewFrame(const FFmpegDecoderVideo &, void * user_data); 
     
    7176        Mutex            m_mutex; 
    7277        Condition        m_frame_published_cond; 
    73         bool            m_frame_published_flag; 
     78        bool             m_frame_published_flag; 
     79        double           m_seek_time; 
    7480    }; 
    7581 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgPlugins/ffmpeg/ReaderWriterFFmpeg.cpp

    r11242 r11254  
    3030    { 
    3131        supportsProtocol("http","Read video/audio from http using ffmpeg."); 
     32        supportsProtocol("rtsp","Read video/audio from rtsp using ffmpeg."); 
    3233 
    33         supportsExtension("avi", ""); 
    34         supportsExtension("flv", ""); 
    35         supportsExtension("mov", ""); 
    36         supportsExtension("ogg", "Theora movie format"); 
    37         supportsExtension("mpg", "Mpeg movie format"); 
    38         supportsExtension("mpv", "Mpeg movie format"); 
    39         supportsExtension("wmv", ""); 
     34        supportsExtension("ffmpeg", ""); 
     35        supportsExtension("avi",    ""); 
     36        supportsExtension("flv",    "Flash video"); 
     37        supportsExtension("mov",    "Quicktime"); 
     38        supportsExtension("ogg",    "Theora movie format"); 
     39        supportsExtension("mpg",    "Mpeg movie format"); 
     40        supportsExtension("mpv",    "Mpeg movie format"); 
     41        supportsExtension("wmv",    "Windows Media Video format"); 
     42        supportsExtension("mkv",    "Matroska"); 
     43        supportsExtension("mjpeg",  "Motion JPEG"); 
     44        supportsExtension("mp4",    "MPEG-4"); 
     45        supportsExtension("sav",    "MPEG-4"); 
     46        supportsExtension("3gp",    "MPEG-4"); 
     47        supportsExtension("sdp",    "MPEG-4"); 
    4048 
    4149        // Register all FFmpeg formats/codecs 
     
    5563    virtual ReadResult readImage(const std::string & filename, const osgDB::ReaderWriter::Options * options) const 
    5664    { 
     65        const std::string ext = osgDB::getLowerCaseFileExtension(filename); 
     66        if (ext=="ffmpeg") return readImage(osgDB::getNameLessExtension(filename),options); 
     67 
    5768        if (filename.compare(0, 5, "/dev/")==0) 
    5869        { 
     
    6071        } 
    6172     
    62         const std::string ext = osgDB::getLowerCaseFileExtension(filename); 
    6373        if (! acceptsExtension(ext)) 
    6474            return ReadResult::FILE_NOT_HANDLED; 
     
    7181            return ReadResult::FILE_NOT_FOUND; 
    7282 
    73         return readImageStream(filename, options); 
     83        return readImageStream(path, options); 
    7484    } 
    7585     
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgPlugins/hdr/hdrloader.cpp

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/branches/OpenSceneGraph-2.8.2/src/osgPlugins/hdr/hdrloader.cpp:10664 
        2 /OpenSceneGraph/trunk/src/osgPlugins/hdr/hdrloader.cpp:9769,9801,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9932,9959,10010,10012-10014,10040-10041,10057,10076,10079-10080,10084,10088,10128,10149,10208,10264,10283,10340,10417,10440,10456,10487,10491,10520,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         2/OpenSceneGraph/trunk/src/osgPlugins/hdr/hdrloader.cpp:9769,9801,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10076,10079-10080,10082,10084,10088,10128,10149,10161,10208,10264,10283,10340,10391-10392,10408,10414,10417,10422,10440,10456,10487,10491,10520,10538,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgPlugins/jpeg

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/branches/OpenSceneGraph-2.8.2/src/osgPlugins/jpeg:10664 
        2 /OpenSceneGraph/trunk/src/osgPlugins/jpeg:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9932,9959,10010,10012-10014,10040-10041,10057,10076,10079-10080,10084,10088,10128,10149,10208,10264,10283,10340,10417,10440,10456,10487,10491,10496,10520,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         2/OpenSceneGraph/trunk/src/osgPlugins/jpeg:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10076,10079-10080,10082,10084,10088,10128,10149,10161,10208,10264,10283,10340,10391-10392,10408,10414,10417,10422,10440,10456,10487,10491,10496,10520,10538,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgPlugins/mdl

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/branches/OpenSceneGraph-2.8.2/src/osgPlugins/mdl:10664 
        2 /OpenSceneGraph/trunk/src/osgPlugins/mdl:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9932,9959,10010,10012-10014,10040-10041,10057,10076,10079-10080,10084,10088,10093,10128,10149,10208,10264,10283,10340,10417,10440,10456,10482-10483,10487,10491,10520,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         2/OpenSceneGraph/trunk/src/osgPlugins/mdl:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10076,10079-10080,10082,10084,10088,10093,10128,10149,10161,10208,10264,10283,10340,10391-10392,10408,10414,10417,10422,10440,10456,10482-10483,10487,10491,10520,10538,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgPlugins/mdl/MDLReader.cpp

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/branches/OpenSceneGraph-2.8.2/src/osgPlugins/mdl/MDLReader.cpp:10664 
        2 /OpenSceneGraph/trunk/src/osgPlugins/mdl/MDLReader.cpp:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9932,9959,10010,10012-10014,10040-10041,10057,10076,10079-10080,10084,10088,10093,10128,10149,10208,10264,10283,10340,10417,10440,10456,10482-10483,10487,10491,10520,10539,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         2/OpenSceneGraph/trunk/src/osgPlugins/mdl/MDLReader.cpp:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10076,10079-10080,10082,10084,10088,10093,10128,10149,10161,10208,10264,10283,10340,10391-10392,10408,10414,10417,10422,10440,10456,10482-10483,10487,10491,10520,10538-10539,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgPlugins/osgAnimation

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/trunk:9646-10557 
        22/OpenSceneGraph/trunk/osgAnimation:10539 
        3 /OpenSceneGraph/trunk/src/osgPlugins/osgAnimation:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9932,9959,10010,10012-10014,10040-10041,10057,10076,10079-10080,10084,10088,10128,10149,10208,10264,10283,10340,10417,10440,10456,10487,10491,10520,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         3/OpenSceneGraph/trunk/src/osgPlugins/osgAnimation:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10076,10079-10080,10082,10084,10088,10128,10149,10161,10208,10264,10283,10340,10391-10392,10408,10414,10417,10422,10440,10456,10487,10491,10520,10538,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgPlugins/osgVolume

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/branches/OpenSceneGraph-2.8.2/src/osgPlugins/osgVolume:10664 
        2 /OpenSceneGraph/trunk/src/osgPlugins/osgVolume:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9932,9959,10010,10012-10014,10040-10041,10057,10076,10079-10080,10084,10088,10101-10137,10149,10208,10264,10283,10340,10417,10440,10456,10487,10491,10520,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         2/OpenSceneGraph/trunk/src/osgPlugins/osgVolume:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10076,10079-10080,10082,10084,10088,10101-10137,10149,10161,10208,10264,10283,10340,10391-10392,10408,10414,10417,10422,10440,10456,10487,10491,10520,10538,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgPlugins/pdf

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/branches/OpenSceneGraph-2.8.2/src/osgPlugins/pdf:10664 
        2 /OpenSceneGraph/trunk/src/osgPlugins/pdf:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9932,9959,10010,10012-10014,10040-10041,10057,10076,10079-10080,10084,10088,10128,10144,10149,10208,10264,10283,10340,10417,10440,10456,10487,10491,10520,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         2/OpenSceneGraph/trunk/src/osgPlugins/pdf:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10076,10079-10080,10082,10084,10088,10128,10144,10149,10161,10208,10264,10283,10340,10391-10392,10408,10414,10417,10422,10440,10456,10487,10491,10520,10538,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgPlugins/txp

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/branches/OpenSceneGraph-2.8.2/src/osgPlugins/txp:10664 
        2 /OpenSceneGraph/trunk/src/osgPlugins/txp:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9932,9959,10010,10012-10014,10040-10041,10057,10076,10079-10080,10084,10088,10128,10149,10208,10264,10283,10340,10387,10417,10440,10456,10487,10491,10520,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         2/OpenSceneGraph/trunk/src/osgPlugins/txp:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10076,10079-10080,10082,10084,10088,10128,10149,10161,10208,10264,10283,10340,10387,10391-10392,10408,10414,10417,10422,10440,10456,10487,10491,10520,10538,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgSim

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/branches/OpenSceneGraph-2.8.2/src/osgSim:10664 
        2 /OpenSceneGraph/trunk/src/osgSim:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9932,9959,10010,10012-10014,10040-10041,10057,10076,10079-10080,10084,10088,10128,10149,10208,10264,10283,10321,10340,10417,10440,10456,10487,10491,10520,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         2/OpenSceneGraph/trunk/src/osgSim:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10076,10079-10080,10082,10084,10088,10128,10149,10161,10208,10264,10283,10321,10340,10391-10392,10408,10414,10417,10422,10440,10456,10487,10491,10520,10538,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgTerrain

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/branches/OpenSceneGraph-2.8.2/src/osgTerrain:10664 
        2 /OpenSceneGraph/trunk/src/osgTerrain:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9932,9959,10010,10012-10014,10040-10041,10057,10076,10079-10080,10084,10088,10128,10149,10208,10230,10264,10283,10340,10417,10440,10456,10487,10491,10520,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         2/OpenSceneGraph/trunk/src/osgTerrain:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10076,10079-10080,10082,10084,10088,10128,10149,10161,10208,10230,10264,10283,10340,10391-10392,10408,10414,10417,10422,10440,10456,10487,10491,10520,10538,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgTerrain/GeometryTechnique.cpp

    r9980 r11254  
    417417//    bool optimizeOrientations = elevations!=0; 
    418418    bool swapOrientation = !(masterLocator->orientationOpenGL()); 
    419      
    420     osg::ref_ptr<osg::DrawElementsUInt> elements = new osg::DrawElementsUInt(GL_TRIANGLES); 
    421     elements->reserve((numRows-1) * (numColumns-1) * 6); 
     419 
     420    bool smallTile = numVertices <= 16384; 
     421 
     422    // osg::notify(osg::NOTICE)<<"smallTile = "<<smallTile<<std::endl; 
     423     
     424    osg::ref_ptr<osg::DrawElements> elements = smallTile ?  
     425        static_cast<osg::DrawElements*>(new osg::DrawElementsUShort(GL_TRIANGLES)) : 
     426        static_cast<osg::DrawElements*>(new osg::DrawElementsUInt(GL_TRIANGLES)); 
     427         
     428    elements->reserveElements((numRows-1) * (numColumns-1) * 6); 
    422429 
    423430    geometry->addPrimitiveSet(elements.get()); 
     
    464471                if (fabsf(e00-e11)<fabsf(e01-e10)) 
    465472                { 
    466                     elements->push_back(i01); 
    467                     elements->push_back(i00); 
    468                     elements->push_back(i11); 
    469  
    470                     elements->push_back(i00); 
    471                     elements->push_back(i10); 
    472                     elements->push_back(i11); 
     473                    elements->addElement(i01); 
     474                    elements->addElement(i00); 
     475                    elements->addElement(i11); 
     476 
     477                    elements->addElement(i00); 
     478                    elements->addElement(i10); 
     479                    elements->addElement(i11); 
    473480                } 
    474481                else 
    475482                { 
    476                     elements->push_back(i01); 
    477                     elements->push_back(i00); 
    478                     elements->push_back(i10); 
    479  
    480                     elements->push_back(i01); 
    481                     elements->push_back(i10); 
    482                     elements->push_back(i11); 
     483                    elements->addElement(i01); 
     484                    elements->addElement(i00); 
     485                    elements->addElement(i10); 
     486 
     487                    elements->addElement(i01); 
     488                    elements->addElement(i10); 
     489                    elements->addElement(i11); 
    483490                } 
    484491            } 
    485492            else if (numValid==3) 
    486493            { 
    487                 if (i00>=0) elements->push_back(i00); 
    488                 if (i01>=0) elements->push_back(i01); 
    489                 if (i11>=0) elements->push_back(i11); 
    490                 if (i10>=0) elements->push_back(i10); 
     494                if (i00>=0) elements->addElement(i00); 
     495                if (i01>=0) elements->addElement(i01); 
     496                if (i11>=0) elements->addElement(i11); 
     497                if (i10>=0) elements->addElement(i10); 
    491498            } 
    492499             
     
    507514    if (createSkirt) 
    508515    { 
    509         osg::ref_ptr<osg::DrawElementsUShort> skirtDrawElements = new osg::DrawElementsUShort(GL_QUAD_STRIP); 
     516        osg::ref_ptr<osg::DrawElements> skirtDrawElements = smallTile ?  
     517            static_cast<osg::DrawElements*>(new osg::DrawElementsUShort(GL_QUAD_STRIP)) : 
     518            static_cast<osg::DrawElements*>(new osg::DrawElementsUInt(GL_QUAD_STRIP)); 
    510519 
    511520        // create bottom skirt vertices 
     
    529538                } 
    530539                 
    531                 skirtDrawElements->push_back(orig_i); 
    532                 skirtDrawElements->push_back(new_i); 
     540                skirtDrawElements->addElement(orig_i); 
     541                skirtDrawElements->addElement(new_i); 
    533542            } 
    534543            else 
    535544            { 
    536                 if (!skirtDrawElements->empty()) 
     545                if (skirtDrawElements->getNumIndices()!=0) 
    537546                { 
    538547                    geometry->addPrimitiveSet(skirtDrawElements.get()); 
    539                     skirtDrawElements = new osg::DrawElementsUShort(GL_QUAD_STRIP); 
     548                    skirtDrawElements = smallTile ?  
     549                        static_cast<osg::DrawElements*>(new osg::DrawElementsUShort(GL_QUAD_STRIP)) : 
     550                        static_cast<osg::DrawElements*>(new osg::DrawElementsUInt(GL_QUAD_STRIP)); 
    540551                } 
    541552                 
     
    543554        } 
    544555 
    545         if (!skirtDrawElements->empty()) 
     556        if (skirtDrawElements->getNumIndices()!=0) 
    546557        { 
    547558            geometry->addPrimitiveSet(skirtDrawElements.get()); 
    548             skirtDrawElements = new osg::DrawElementsUShort(GL_QUAD_STRIP); 
     559            skirtDrawElements = smallTile ?  
     560                        static_cast<osg::DrawElements*>(new osg::DrawElementsUShort(GL_QUAD_STRIP)) : 
     561                        static_cast<osg::DrawElements*>(new osg::DrawElementsUInt(GL_QUAD_STRIP)); 
    549562        } 
    550563 
     
    567580                } 
    568581                 
    569                 skirtDrawElements->push_back(orig_i); 
    570                 skirtDrawElements->push_back(new_i); 
     582                skirtDrawElements->addElement(orig_i); 
     583                skirtDrawElements->addElement(new_i); 
    571584            } 
    572585            else 
    573586            { 
    574                 if (!skirtDrawElements->empty()) 
     587                if (skirtDrawElements->getNumIndices()!=0) 
    575588                { 
    576589                    geometry->addPrimitiveSet(skirtDrawElements.get()); 
    577                     skirtDrawElements = new osg::DrawElementsUShort(GL_QUAD_STRIP); 
     590                    skirtDrawElements = smallTile ?  
     591                        static_cast<osg::DrawElements*>(new osg::DrawElementsUShort(GL_QUAD_STRIP)) : 
     592                        static_cast<osg::DrawElements*>(new osg::DrawElementsUInt(GL_QUAD_STRIP)); 
    578593                } 
    579594                 
     
    581596        } 
    582597 
    583         if (!skirtDrawElements->empty()) 
     598        if (skirtDrawElements->getNumIndices()!=0) 
    584599        { 
    585600            geometry->addPrimitiveSet(skirtDrawElements.get()); 
    586             skirtDrawElements = new osg::DrawElementsUShort(GL_QUAD_STRIP); 
     601            skirtDrawElements = smallTile ?  
     602                        static_cast<osg::DrawElements*>(new osg::DrawElementsUShort(GL_QUAD_STRIP)) : 
     603                        static_cast<osg::DrawElements*>(new osg::DrawElementsUInt(GL_QUAD_STRIP)); 
    587604        } 
    588605 
     
    605622                } 
    606623                 
    607                 skirtDrawElements->push_back(orig_i); 
    608                 skirtDrawElements->push_back(new_i); 
     624                skirtDrawElements->addElement(orig_i); 
     625                skirtDrawElements->addElement(new_i); 
    609626            } 
    610627            else 
    611628            { 
    612                 if (!skirtDrawElements->empty()) 
     629                if (skirtDrawElements->getNumIndices()!=0) 
    613630                { 
    614631                    geometry->addPrimitiveSet(skirtDrawElements.get()); 
    615                     skirtDrawElements = new osg::DrawElementsUShort(GL_QUAD_STRIP); 
     632                    skirtDrawElements = smallTile ?  
     633                        static_cast<osg::DrawElements*>(new osg::DrawElementsUShort(GL_QUAD_STRIP)) : 
     634                        static_cast<osg::DrawElements*>(new osg::DrawElementsUInt(GL_QUAD_STRIP)); 
    616635                } 
    617636                 
     
    619638        } 
    620639 
    621         if (!skirtDrawElements->empty()) 
     640        if (skirtDrawElements->getNumIndices()!=0) 
    622641        { 
    623642            geometry->addPrimitiveSet(skirtDrawElements.get()); 
    624             skirtDrawElements = new osg::DrawElementsUShort(GL_QUAD_STRIP); 
     643            skirtDrawElements = smallTile ?  
     644                        static_cast<osg::DrawElements*>(new osg::DrawElementsUShort(GL_QUAD_STRIP)) : 
     645                        static_cast<osg::DrawElements*>(new osg::DrawElementsUInt(GL_QUAD_STRIP)); 
    625646        } 
    626647 
     
    643664                } 
    644665                 
    645                 skirtDrawElements->push_back(orig_i); 
    646                 skirtDrawElements->push_back(new_i); 
     666                skirtDrawElements->addElement(orig_i); 
     667                skirtDrawElements->addElement(new_i); 
    647668            } 
    648669            else 
    649670            { 
    650                 if (!skirtDrawElements->empty()) 
     671                if (skirtDrawElements->getNumIndices()!=0) 
    651672                { 
    652673                    geometry->addPrimitiveSet(skirtDrawElements.get()); 
     
    657678        } 
    658679 
    659         if (!skirtDrawElements->empty()) 
     680        if (skirtDrawElements->getNumIndices()!=0) 
    660681        { 
    661682            geometry->addPrimitiveSet(skirtDrawElements.get()); 
    662             skirtDrawElements = new osg::DrawElementsUShort(GL_QUAD_STRIP); 
     683            smallTile ?  
     684                static_cast<osg::DrawElements*>(new osg::DrawElementsUShort(GL_QUAD_STRIP)) : 
     685                static_cast<osg::DrawElements*>(new osg::DrawElementsUInt(GL_QUAD_STRIP)); 
    663686        } 
    664687    } 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgText/TextBase.cpp

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/branches/OpenSceneGraph-2.8.2/src/osgText/TextBase.cpp:10664 
        2 /OpenSceneGraph/trunk/src/osgText/TextBase.cpp:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9932,9959,10010,10012-10014,10040-10041,10057,10076,10079-10080,10084,10088,10128,10149,10208,10264,10283,10340,10376,10417,10440,10456,10487,10491,10520,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         2/OpenSceneGraph/trunk/src/osgText/TextBase.cpp:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10076,10079-10080,10082,10084,10088,10128,10149,10161,10208,10264,10283,10340,10376,10391-10392,10408,10414,10417,10422,10440,10456,10487,10491,10520,10538,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgUtil/Optimizer.cpp

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/branches/OpenSceneGraph-2.8.2/src/osgUtil/Optimizer.cpp:10664 
        22/OpenSceneGraph/trunk/include/osg/src/osgUtil/Optimizer.cpp:9882 
        3 /OpenSceneGraph/trunk/src/osgUtil/Optimizer.cpp:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9902,9906,9920,9932,9959,9987,10010,10012-10014,10040-10041,10057,10076,10079-10080,10084,10088,10128,10149,10208,10264,10283,10340,10417,10440,10456,10480,10487,10491,10520,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         3/OpenSceneGraph/trunk/src/osgUtil/Optimizer.cpp:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9902,9906,9910,9912,9920,9932-9933,9948,9959-9960,9965,9968-9969,9987,9990,10010,10012-10014,10030,10040-10041,10053,10057,10076,10079-10080,10082,10084,10088,10128,10149,10161,10208,10264,10283,10340,10391-10392,10408,10414,10417,10422,10440,10456,10480,10487,10491,10520,10538,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgUtil/RenderStage.cpp

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/branches/OpenSceneGraph-2.8.2/src/osgUtil/RenderStage.cpp:10664 
        2 /OpenSceneGraph/trunk/src/osgUtil/RenderStage.cpp:9769,9816-9818,9822,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9932,9959,10010,10012-10014,10040-10041,10057,10076,10079-10080,10084,10088,10128,10149,10208,10264,10283,10340,10417,10440,10456,10487,10491,10520,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         2/OpenSceneGraph/trunk/src/osgUtil/RenderStage.cpp:9769,9816-9818,9822,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10076,10079-10080,10082,10084,10088,10128,10149,10161,10208,10264,10283,10340,10391-10392,10408,10414,10417,10422,10440,10456,10487,10491,10520,10538,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgViewer

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/branches/OpenSceneGraph-2.8.2/src/osgViewer:10664 
        2 /OpenSceneGraph/trunk/src/osgViewer:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9932,9959,10010,10012-10014,10040-10041,10057,10076,10079-10080,10084,10088,10128,10147,10149,10208,10264,10283,10340,10364-10365,10417,10440,10456,10460,10487,10491,10520,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         2/OpenSceneGraph/trunk/src/osgViewer:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10076,10079-10080,10082,10084,10088,10128,10147,10149,10161,10208,10264,10283,10340,10364-10365,10391-10392,10408,10414,10417,10422,10440,10456,10460,10487,10491,10520,10538,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgViewer/GraphicsWindowWin32.cpp

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/branches/OpenSceneGraph-2.8.2/src/osgViewer/GraphicsWindowWin32.cpp:10664 
        2 /OpenSceneGraph/trunk/src/osgViewer/GraphicsWindowWin32.cpp:9769,9816-9818,9824,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9932,9959,10010,10012-10014,10040-10041,10057,10076,10079-10080,10084,10088,10128,10147,10149,10208,10264,10283,10340,10364-10365,10417,10440,10456,10460,10487,10491,10520,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         2/OpenSceneGraph/trunk/src/osgViewer/GraphicsWindowWin32.cpp:9769,9816-9818,9824,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10076,10079-10080,10082,10084,10088,10128,10147,10149,10161,10208,10264,10283,10340,10364-10365,10391-10392,10408,10414,10417,10422,10440,10456,10460,10487,10491,10520,10538,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgVolume

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/branches/OpenSceneGraph-2.8.2/src/osgVolume:10664 
        2 /OpenSceneGraph/trunk/src/osgVolume:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9932,9959,10010,10012-10014,10040-10041,10057,10076,10079-10080,10084,10088,10101-10137,10149,10208,10264,10283,10340,10417,10440,10456,10487,10491,10520,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         2/OpenSceneGraph/trunk/src/osgVolume:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10076,10079-10080,10082,10084,10088,10101-10137,10149,10161,10208,10264,10283,10340,10391-10392,10408,10414,10417,10422,10440,10456,10487,10491,10520,10538,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgWidget

    • Property svn:mergeinfo
      •  

        old new  
        11/OpenSceneGraph/branches/OpenSceneGraph-2.8.2/src/osgWidget:10664 
        2 /OpenSceneGraph/trunk/src/osgWidget:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9932,9959,10010,10012-10014,10040-10041,10057,10076,10079-10080,10084,10088,10128,10149,10182,10208,10264,10283,10340,10417,10440,10456,10487,10489,10491,10520,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10818,10853-10855,10858,10887,10891,10914,10923,10932-10933,10938,10941-10942,10945,11019,11032-11035,11056,11111,11123,11127,11131,11159,11173,11175,11180,11194,11203,11237 
         2/OpenSceneGraph/trunk/src/osgWidget:9769,9816-9818,9826-9827,9837-9843,9847,9850,9854-9857,9860-9861,9865,9869,9879-9880,9885,9895,9906,9910,9912,9932-9933,9948,9959-9960,9965,9968-9969,9990,10010,10012-10014,10030,10040-10041,10053,10057,10076,10079-10080,10082,10084,10088,10128,10149,10161,10182,10208,10264,10283,10340,10391-10392,10408,10414,10417,10422,10440,10456,10487,10489,10491,10520,10538,10622-10623,10625,10671-10672,10697,10722,10753,10758,10761,10788,10805,10809,10818,10851,10853-10855,10858,10887,10891-10892,10914,10923,10925,10932-10933,10938,10941-10942,10945,10961,11019,11032-11035,11056,11111,11123,11127,11131,11159,11165,11173,11175,11177,11180,11194,11203,11237 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgWrappers/osg/PrimitiveSet.cpp

    r9777 r11254  
    198198                              "If State is non-zero, this function releases OpenGL objects for the specified graphics context. ", 
    199199                              "Otherwise, releases OpenGL objects for all graphics contexts. "); 
     200        I_Method1(void, reserveElements, IN, unsigned int, numIndices, 
     201                  Properties::PURE_VIRTUAL, 
     202                  __void__reserveElements__unsigned_int, 
     203                  "", 
     204                  ""); 
     205        I_Method2(void, setElement, IN, unsigned, int, IN, unsigned, int, 
     206                  Properties::PURE_VIRTUAL, 
     207                  __void__setElement__unsigned__unsigned, 
     208                  "", 
     209                  ""); 
     210        I_Method1(unsigned int, getElement, IN, unsigned, int, 
     211                  Properties::PURE_VIRTUAL, 
     212                  __unsigned_int__getElement__unsigned, 
     213                  "", 
     214                  ""); 
     215        I_Method1(void, addElement, IN, unsigned, int, 
     216                  Properties::PURE_VIRTUAL, 
     217                  __void__addElement__unsigned, 
     218                  "", 
     219                  ""); 
    200220        I_SimpleProperty(osg::DrawElements *, DrawElements,  
    201221                         __DrawElements_P1__getDrawElements,