source: experimental/distortionNG/DistortionSet.cpp @ 379

Last change on this file since 379 was 379, checked in by Torben Dannhauer, 12 years ago
File size: 3.0 KB
Line 
1/* -*-c++-*- osgVisual - Copyright (C) 2009-2012 Torben Dannhauer
2 *
3 * This library is based on OpenSceneGraph, open source and may be redistributed and/or modified under
4 * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
5 * (at your option) any later version.  The full license is in LICENSE file
6 * included with this distribution, and on the openscenegraph.org website.
7 *
8 * osgVisual requires for some proprietary modules a license from the correspondig manufacturer.
9 * You have to aquire licenses for all used proprietary modules.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 * OpenSceneGraph Public License for more details.
15*/
16
17#include "DistortionSet.h"
18#include <osgDB/ObjectWrapper>
19#include <osgDB/InputStream>
20#include <osgDB/OutputStream>
21
22using namespace osgViewer;
23
24DistortionSet::DistortionSet()
25{
26        _dirty = false;
27
28        _distortionMeshRows = 2;
29        _distortionMeshColumns = 2;
30        //GLenum _meshType;
31       
32        _intensityMap = NULL;
33        _texUnitScene = 0;
34        _texUnitIntensityMap = 1;
35
36        _viewOffset = osg::Matrixd::identity();
37        _projectionOffset = osg::Matrixd::identity();
38
39        _showIntesityMapMapOnly = false;
40
41        _camera = NULL;
42        _distortionInternals = NULL;
43
44        _distortionInternals = new osg::Switch();
45
46}
47
48DistortionSet::~DistortionSet()
49{
50}
51
52void DistortionSet::setDistortionMesh(osg::Geometry*)
53{
54        // todo: denormalisieren und mesh dann an seine passenden Platz vom Switch packen.
55}
56
57const osg::Geometry* DistortionSet::getDistortionMesh() const
58{
59        // Todo: Normalisieren und dann zurückgeben
60        return NULL;
61}
62
63REGISTER_OBJECT_WRAPPER( osgViewer_DistortionSet,                  // The unique wrapper name
64                         new osgViewer::DistortionSet,             // The proto
65                         osgViewer::DistortionSet,                 // The class typename
66                         "osg::Object osgViewer::DistortionSet" )  // The inheritance relations
67{
68    // Serializers for different members
69        ADD_INT_SERIALIZER( DistortionMeshRows, 1 );    //int _distortionMeshRows;
70        ADD_INT_SERIALIZER( DistortionMeshColumns, 1 ); //int _distortionMeshColumns;
71        ADD_OBJECT_SERIALIZER( DistortionMesh, osg::Geometry, NULL );   // Normalisiertes Mesh
72
73    ADD_GLENUM_SERIALIZER( MeshType, GLenum, GL_QUAD_STRIP );  //osg::PrimitiveSet::Mode _MeshType
74       
75        ADD_IMAGE_SERIALIZER( IntensityMap, osg::Image, NULL );  //osg::ref_ptr<osg::Image> _intensityMap;
76
77        ADD_UINT_SERIALIZER( TexUnitScene, 0 ); //unsigned int _texUnitScene;
78        ADD_UINT_SERIALIZER( TexUnitIntensityMap, 1 );  //unsigned int _texUnitIntensityMap;
79
80        ADD_MATRIX_SERIALIZER( ViewOffset, osg::Matrix() );     //osg::Matrix _viewOffset;
81        ADD_MATRIX_SERIALIZER( ProjectionOffset, osg::Matrix() );       //osg::Matrix _projectionOffset;
82
83        ADD_BOOL_SERIALIZER( ShowIntensityMapOnly, false );     //bool _showIntesityMapMapOnly
84}
Note: See TracBrowser for help on using the repository browser.