Open Inventor Release 2024.1.3
 
Loading...
Searching...
No Matches
SoVRLdmFileWriter.h
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-2024 BY FEI S.A.S, ***
17 *** BORDEAUX, FRANCE ***
18 *** ALL RIGHTS RESERVED ***
19**=======================================================================*/
20/*=======================================================================
21** Author : Thibaut Andrieu (Jun 2011)
22**=======================================================================*/
23
24#if !defined _SO_VR_LDM_FILE_WRITER_H_
25#define _SO_VR_LDM_FILE_WRITER_H_
26
27#include <LDM/writers/SoVolumeWriter.h>
28#include <LDM/converters/SoLDMWriter.h>
29#include <Inventor/fields/SoSFUInt32.h>
30#include <Inventor/fields/SoSFVec3i32.h>
31#include <Inventor/fields/SoSFBool.h>
32#include <Inventor/fields/SoSFDouble.h>
33#include <Inventor/fields/SoSFVec2d.h>
34#include <Inventor/fields/SoMFFloat.h>
35#include <LDM/readers/SoVolumeReader.h>
36
37#ifdef _MSC_VER
38#pragma warning( push )
39#pragma warning(disable:4251)
40#endif // ! _MSC_VER
41
42
152{
153 SO_FIELDCONTAINER_HEADER( SoVRLdmFileWriter );
154
155public:
156
159
162
166
169
172
181
185
193
197
211
218
225
232
242
258
261
264
273
277
280
283
286
289
297
298
301
305
311
314
316 virtual SbBool isDataConverted() const;
317
319 virtual SbBool writeTile( const SoLDMTileID& tileId, SoBufferObject* buffer );
320
324 virtual SbBool finish();
325
326private:
327
334 SoSFBool forceAlwaysUpdateLowRes;
335
337 virtual void notify(SoNotList *);
338
339private:
340
342 virtual ~SoVRLdmFileWriter();
343
344private:
345
347 bool m_isInitialized;
348
351 SoLDMWriter m_ldmWriter;
352
354 std::vector<char*> m_writerParameters;
355
356};
357
358#ifdef _MSC_VER
359#pragma warning(pop)
360#endif
361
362#endif // _SO_VR_LDM_FILE_WRITER_H_
363
364
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Abstract base cl...
<a href="IconLegend.html"><img src="extLDM.gif" alt="Large Data Management" border="0"></a> Tile ID
Definition SoLDMTileID.h:63
<a href="IconLegend.html"><img src="extLDM.gif" alt="Large Data Management" border="0"></a> Write da...
Multiple-value field containing any number of floating point values.
Definition SoMFFloat.h:90
Field containing a single Boolean value.
Definition SoSFBool.h:79
Field containing a floating-point value.
Definition SoSFDouble.h:53
Field containing an enumerated value.
Definition SoSFEnum.h:89
Field containing a int32_t integer.
Definition SoSFInt32.h:80
Field containing a string.
Definition SoSFString.h:117
Field containing a two-dimensional vector.
Definition SoSFVec2d.h:53
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Field containing...
Definition SoSFVec3i32.h:48
<a href="IconLegend.html"><img src="extLDM.gif" alt="Large Data Management" border="0"></a> Write da...
SoSFBool headerOnly
Generate only header file.
SoMFFloat coordinatesY
Rectilinear coordinates along Y.
SoSFString dataFilename
Data Filename.
SoSFBool verbose
verbose.
SoSFBool enableTileMinMax
Specify if tile min/max should be computed even if enableHistogram is false.
SoSFString headerFilename
Header Filename.
SoSFBool isRGBA
true if RGBA mode (output will be unsigned int32 RGBA values).
SoSFVec3i32 tileDimension
Tile dimension.
SoSFString originalFilename
Filename of original file.
SoSFDouble undefinedValue
Set the undefined value.
virtual SbBool closeAllHandles()
Close all opened files (ldm, data and completion file) so that someone else can access them for readi...
SoSFDouble bitSetThreashold
Set the bitset threshold value.
SoSFVec2d inputDataRange
Range of input datas ((min, max) of data).
SoMFFloat coordinatesZ
Rectilinear coordinates along Z.
virtual SbBool writeTile(const SoLDMTileID &tileId, SoBufferObject *buffer)
Given a tileID, writes a tile if the data is organized in tiles (see SoLDMTileID).
virtual SbBool isDataConverted() const
Return TRUE, as ldm format is organized in tiles.
virtual SbBool finish()
Finalize creation of files.
SoSFBool enableHistogram
Specify if the histogram must be computed or not.
SoSFEnum coordinateType
Use enum CoordinateType.
SoSFInt32 lowResAlgorithm
Specifies the algorithm used to build low resolution tiles.
SoSFBool crcCheck
Set CRC32 check on compression.
SoSFInt32 compressionLevel
Set compression level.
SoSFBool saveAsBitSet
Save the data as a bitSet (8 values per byte).
SoSFDouble defaultValue
Set the default value.
SoVRLdmFileWriter()
Constructor.
SoSFString compressionName
Compression name.
virtual SbBool initialize()
Initialize writer from current parameters.
virtual SbBool restoreAllHandles()
Re-open ldm, data and completion file that was closed by the closeAllHandles() method.
SoMFFloat coordinatesX
Rectilinear coordinates along X.
CoordinateType
Coordinate type used by this data set.
@ COORDINATES_UNIFORM
Uniform grid spacing along each axis.
@ COORDINATES_RECTILINEAR
Grid spacing defined by x, y, z values.
SoSFBool doMultiResolution
Auto compute sub-resolution tiles when finish writing.
@ COORDINATES_UNIFORM
Uniform grid spacing along each axis.
@ COORDINATES_RECTILINEAR
Grid spacing defined by x, y, z values.
<a href="IconLegend.html"><img src="extLDM.gif" alt="Large Data Management" border="0"></a> Abstract...
int SbBool
Boolean type.
Definition SbBase.h:87