Open Inventor Release 2023.2.3
 
Loading...
Searching...
No Matches
SoDataRange.h
Go to the documentation of this file.
1/*=======================================================================
2 *** THE CONTENT OF THIS WORK IS PROPRIETARY TO FEI S.A.S, (FEI S.A.S.), ***
3 *** AND IS DISTRIBUTED UNDER A LICENSE AGREEMENT. ***
4 *** ***
5 *** REPRODUCTION, DISCLOSURE, OR USE, IN WHOLE OR IN PART, OTHER THAN AS ***
6 *** SPECIFIED IN THE LICENSE ARE NOT TO BE UNDERTAKEN EXCEPT WITH PRIOR ***
7 *** WRITTEN AUTHORIZATION OF FEI S.A.S. ***
8 *** ***
9 *** RESTRICTED RIGHTS LEGEND ***
10 *** USE, DUPLICATION, OR DISCLOSURE BY THE GOVERNMENT OF THE CONTENT OF THIS ***
11 *** WORK OR RELATED DOCUMENTATION IS SUBJECT TO RESTRICTIONS AS SET FORTH IN ***
12 *** SUBPARAGRAPH (C)(1) OF THE COMMERCIAL COMPUTER SOFTWARE RESTRICTED RIGHT ***
13 *** CLAUSE AT FAR 52.227-19 OR SUBPARAGRAPH (C)(1)(II) OF THE RIGHTS IN ***
14 *** TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 52.227-7013. ***
15 *** ***
16 *** COPYRIGHT (C) 1996-2022 BY FEI S.A.S, ***
17 *** BORDEAUX, FRANCE ***
18 *** ALL RIGHTS RESERVED ***
19**=======================================================================*/
20/*=======================================================================
21** Author : Jerome Hummel (Oct 2006)
22**=======================================================================*/
23
24
25#ifndef _SO_DATA_RANGE__
26#define _SO_DATA_RANGE__
27
32
33#include <LDM/nodes/SoDataSet.h>
35
190class SoDataRange : public SoNode {
192
193public:
198
209
215
220
234
235private:
236 static void initClass();
237 static void exitClass();
238
243 static void mapDataRangeToIndex(
244 const SoDataSet::DataType dataTypeSrc, SoBufferObject* sourceBufferObject,
245 const SoDataSet::DataType dataTypeDst, SoBufferObject* targetBufferObject,
246 const double dataRangeMin, const double dataRangeMax, const bool dataRangeMap,
247 const double undefinedValue = std::numeric_limits<double>::quiet_NaN()
248 );
249
250
255 static void mapDataRangeToRgba(
256 const SoDataSet::DataType dataTypeSrc, SoBufferObject* sourceBufferObject,
257 const SoDataSet::DataType dataTypeDst, SoBufferObject* targetBufferObject,
258 const double dataRangeMin, const double dataRangeMax, const bool dataRangeMap,
259 SoBufferObject *rgba, const int numRgba, SoConversion::MappingMethod rgbaMapping
260 );
261
268 static void mapDataToIndex(
269 const SoDataSet::DataType dataTypeSrc, SoBufferObject* sourceBufferObject,
270 const SoDataSet::DataType dataTypeDst, SoBufferObject* targetBufferObject,
271 const int numSigBits
272 );
273
274
281 static void mapDataToRgba(
282 const SoDataSet::DataType dataTypeSrc, SoBufferObject* sourceBufferObject,
283 const SoDataSet::DataType dataTypeDst, SoBufferObject* targetBufferObject,
284 const int numSigBits,
285 SoBufferObject *rgba, const int numRgba, SoConversion::MappingMethod rgbaMapping
286 );
287
288
289private:
290 virtual void doAction( SoAction *action );
291 virtual void GLRender( SoGLRenderAction *action );
292 virtual void callback( SoCallbackAction *action );
293 virtual void getBoundingBox(SoGetBoundingBoxAction *action);
294 virtual void pick(SoPickAction *action) ;
295 virtual void write(SoWriteAction *action);
296
297private:
298 // Destructor
299 virtual ~SoDataRange();
300
301private:
302
303 static SoConversion* s_conversion;
304};
305
306#endif // _SO_DATA_RANGE__
307
308
#define SO_NODE_HEADER(className)
Definition SoSubNode.h:151
Abstract base class for all actions.
Definition SoAction.h:132
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Abstract base cl...
Performs a generic traversal of a scene graph or path.
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Type conversion ...
<a href="IconLegend.html"><img src="extLDM.gif" alt="Large Data Management" border="0"></a> Range of...
SoSFDouble min
Minimum data value of the data range.
SoSFDouble max
Maximum data value of the data range.
SoSFBool mapOnFullColorRange
Specifies how to map data values that are outside of the data range.
SoDataRange()
Constructor.
SoSFInt32 dataRangeId
This field allows the use of multiple data ranges for the same shape.
DataType
Supported data type.
Definition SoDataSet.h:604
Renders a scene graph using Open Inventor's Render Engine.
Computes bounding box of a scene.
Abstract base class for all database nodes.
Definition SoNode.h:145
Abstract base class for picking objects in a scene.
Field containing a single Boolean value.
Definition SoSFBool.h:79
Field containing a floating-point value.
Definition SoSFDouble.h:53
Field containing a int32_t integer.
Definition SoSFInt32.h:80
Writes a scene graph to a file.