Coin Logo http://www.sim.no
http://www.coin3d.org

SoVRMLSound.h
1/**************************************************************************\
2 *
3 * This file is part of the Coin 3D visualization library.
4 * Copyright (C) 1998-2007 by Systems in Motion. All rights reserved.
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License
8 * ("GPL") version 2 as published by the Free Software Foundation.
9 * See the file LICENSE.GPL at the root directory of this source
10 * distribution for additional information about the GNU GPL.
11 *
12 * For using Coin with software that can not be combined with the GNU
13 * GPL, and for taking advantage of the additional benefits of our
14 * support services, please contact Systems in Motion about acquiring
15 * a Coin Professional Edition License.
16 *
17 * See http://www.coin3d.org/ for more information.
18 *
19 * Systems in Motion, Postboks 1283, Pirsenteret, 7462 Trondheim, NORWAY.
20 * http://www.sim.no/ sales@sim.no coin-support@coin3d.org
21 *
22\**************************************************************************/
23
24#ifndef COIN_SOVRMLSOUND_H
25#define COIN_SOVRMLSOUND_H
26
27#include <Inventor/nodes/SoSubNode.h>
28#include <Inventor/fields/SoSFNode.h>
29#include <Inventor/fields/SoSFBool.h>
30#include <Inventor/fields/SoSFFloat.h>
31#include <Inventor/fields/SoSFVec3f.h>
32#include <Inventor/SbTime.h>
33
34class SoVRMLSoundP;
35class SoPath;
36
37class COIN_DLL_API SoVRMLSound : public SoNode
38{
39 typedef SoNode inherited;
40 SO_NODE_HEADER(SoVRMLSound);
41
42public:
43 static void initClass(void);
44 SoVRMLSound(void);
45
56
57 void setDopplerVelocity(float velocity);
58 float getDopplerVelocity();
59 void setDopplerFactor(float factor);
60 float getDopplerFactor();
61
62 void startPlaying(SoPath *path, void *userdataptr);
63 void stopPlaying(SoPath *path, void *userdataptr);
64
65 static void setDefaultBufferingProperties(int bufferLength, int numBuffers,
66 SbTime sleepTime);
67 void setBufferingProperties(int bufferLength, int numBuffers,
68 SbTime sleepTime);
69 void getBufferingProperties(int &bufferLength, int &numBuffers,
70 SbTime &sleepTime);
71
72 virtual void audioRender(SoAudioRenderAction *action);
73
74protected:
75 virtual ~SoVRMLSound(void);
76
77private:
78 SoVRMLSoundP *pimpl;
79 friend class SoVRMLSoundP;
80};
81
82#endif // ! COIN_SOVRMLSOUND_H
The SbTime class instances represents time values.
Definition: SbTime.h:41
The SoAudioRenderAction class renders the aural parts of the scene graph.
Definition: SoAudioRenderAction.h:30
The SoNode class is the base class for nodes used in scene graphs.
Definition: SoNode.h:47
virtual void audioRender(SoAudioRenderAction *action)
Definition: SoNode.cpp:1255
The SoPath class is a container class for traversal path descriptions.
Definition: SoPath.h:43
The SoSFBool class is a container for an SbBool value.
Definition: SoSFBool.h:30
The SoSFFloat class is a container for a floating point value.
Definition: SoSFFloat.h:30
The SoSFNode class is a container for a single node.
Definition: SoSFNode.h:38
The SoSFVec3f class is a container for an SbVec3f vector.
Definition: SoSFVec3f.h:31
The SoVRMLSound class is used to represent a sound source.
Definition: SoVRMLSound.h:38
SoSFFloat priority
Definition: SoVRMLSound.h:48
SoSFFloat maxBack
Definition: SoVRMLSound.h:54
SoSFVec3f direction
Definition: SoVRMLSound.h:50
SoSFFloat intensity
Definition: SoVRMLSound.h:47
SoSFFloat minFront
Definition: SoVRMLSound.h:51
SoSFNode source
Definition: SoVRMLSound.h:46
SoSFFloat maxFront
Definition: SoVRMLSound.h:52
SoSFFloat minBack
Definition: SoVRMLSound.h:53
SoSFVec3f location
Definition: SoVRMLSound.h:49
SoSFBool spatialize
Definition: SoVRMLSound.h:55

Copyright © 1998-2007 by Systems in Motion AS. All rights reserved.

Generated on Wed Jan 18 2023 for Coin by Doxygen. 1.9.6