Open Inventor Release 2024.2.1
 
Loading...
Searching...
No Matches
SoVolumeWriter.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_VOLUME_WRITER_H_
25#define _SO_VOLUME_WRITER_H_
26
27#include <Inventor/fields/SoFieldContainer.h>
28#include <Inventor/SbString.h>
29#include <Inventor/SbBox.h>
30#include <Inventor/SbDataType.h>
31#include <Inventor/devices/SoBufferObject.h>
32#include <Inventor/fields/SoSFString.h>
33#include <Inventor/fields/SoSFBox3f.h>
34#include <Inventor/fields/SoSFVec3i32.h>
35#include <Inventor/fields/SoSFEnum.h>
36#include <LDM/SoLDMTileID.h>
37
38class SoVolumeReader;
39
148{
149 SO_FIELDCONTAINER_ABSTRACT_HEADER(SoVolumeWriter);
150
151public:
152
155
158
164
170
173 // Must have same values that SiFileManage::getMachineWordFormat.
174 // Note: BIG_ENDIAN and LITTLE_ENDIAN are already defined in types.h on linux
175 // but have not the right values...
178 };
179
185
193
198
209 virtual SbBool isDataConverted() const = 0;
210
220 virtual SbBool writeTile( const SoLDMTileID& tileId, SoBufferObject* buffer );
221
228 virtual SbBool writeSubSlice( int sliceIndex, const SbBox2i32& subSlice, SoBufferObject* buffer );
229
233 virtual SbBool finish();
234
235private:
236
239
241 virtual ~SoVolumeWriter();
242};
243
244#endif // _SO_VOLUME_WRITER_H_
245
246
2D box class.
Definition SbBox.h:2383
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Abstract base cl...
Abstract base class for objects that contain fields.
<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="extTGS.gif" alt="VSG extension" border="0"></a> Field containing...
Definition SoSFBox3f.h:55
Field containing an enumerated value.
Definition SoSFEnum.h:89
<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> Abstract...
<a href="IconLegend.html"><img src="extLDM.gif" alt="Large Data Management" border="0"></a> Abstract...
virtual SbBool restoreAllHandles()
Restore ressources that was closed by closeAllHandles.
virtual SbBool isDataConverted() const =0
Returns TRUE if the data is already organized in tiles for the LDM module.
virtual SbBool finish()
Finish writing the file, free ressources, ... depending on kind of writer.
WordFormat
Endianess.
virtual SbBool closeAllHandles()
Close all ressources that are locked by the writer so that someone else can read or write to them.
SoSFEnum dataType
Type of input data (that will be given in the writeXXX method) Use enum SoDataSet::DataType.
SoSFBox3f extent
Extent of dataset.
SoSFEnum wordFormat
Endianess of data.
virtual SbBool writeSubSlice(int sliceIndex, const SbBox2i32 &subSlice, SoBufferObject *buffer)
Writes the data contained in the specified subslice.
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 initialize()
Initialize writer.
SoSFVec3i32 dimension
Dimension of dataset, in voxels.
int SbBool
Boolean type.
Definition SbBase.h:87