Open Inventor Release 2025.1.0
 
Loading...
Searching...
No Matches
SoVRMrcFileReader.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-2023 BY FEI S.A.S, ***
17*** BORDEAUX, FRANCE ***
18*** ALL RIGHTS RESERVED ***
19=================================================================================*/
20
21#pragma once
22
23#include <LDM/readers/SoVolumeReader.h>
24#include <Inventor/SbPImpl.h>
25
26SO_PIMPL_BASE_PUBLIC_DECLARATION(SoVRMrcFileReader);
27
69{
70
71 SO_FIELDCONTAINER_HEADER(SoVRMrcFileReader);
72 SO_PIMPL_BASE_PUBLIC_HEADER(SoVRMrcFileReader);
73
74public:
75
78
82 virtual int setFilename( const SbString& filename ) override;
83
87 virtual ReadError getDataChar( SbBox3f& size, SoDataSet::DataType& type, SbVec3i32& dim ) override;
88
92 virtual void getSubSlice( const SbBox2i32& subSlice, int sliceNumber, void* data ) override;
93
97 virtual void getSubSlice( const SbBox2i32& subSlice, int sliceNumber, SoBufferObject* dataBuffer ) override;
98
103 {
104 return MRC;
105 }
106
110 virtual SbBool isThreadSafe() const override;
111
112private:
113
115 virtual ~SoVRMrcFileReader();
116};
117
2D box class.
Definition SbBox.h:2383
3D box class.
Definition SbBox.h:649
Class for smart character strings.
Definition SbString.h:202
3D vector class.
Definition SbVec.h:1517
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Abstract base cl...
DataType
Supported data type.
Definition SoDataSet.h:664
<a href="IconLegend.html"><img src="extVR.gif" alt="VolumeViz" border="0"></a> MRC file reader.
virtual SbBool isThreadSafe() const override
Return true as this reader is thread safe.
SoVRMrcFileReader()
Constructor.
virtual void getSubSlice(const SbBox2i32 &subSlice, int sliceNumber, SoBufferObject *dataBuffer) override
Same as getSubSlice( const SbBox2i32& subSlice, int sliceNumber, void * data ) but using an SoBufferO...
virtual SoVolumeReader::ReaderType getReaderType() override
Returns the reader type.
virtual ReadError getDataChar(SbBox3f &size, SoDataSet::DataType &type, SbVec3i32 &dim) override
Gets the characteristics (file header) of the data volume.
virtual int setFilename(const SbString &filename) override
Specifies the path of the file.
virtual void getSubSlice(const SbBox2i32 &subSlice, int sliceNumber, void *data) override
Must copy the rectangular part defined by subSlice of the XY slice sliceNumber to the memory refe...
SoVolumeReader()
Constructor.
ReaderType
Available reader type.
ReadError
Read error.
int SbBool
Boolean type.
Definition SbBase.h:87