NVIDIA Iray API
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Groups
Pages
ideserializer.h
Go to the documentation of this file.
1
//*****************************************************************************
2
// Copyright 1986, 2014 NVIDIA Corporation. All rights reserved.
3
//*****************************************************************************
6
//*****************************************************************************
7
8
#ifndef MI_NEURAYLIB_IDESERIALIZER_H
9
#define MI_NEURAYLIB_IDESERIALIZER_H
10
11
#include <
mi/base/interface_declare.h
>
12
#include <
mi/neuraylib/iserializer.h
>
13
14
namespace
mi {
15
20
class
IDeserializer :
29
public
base::Interface_declare<0x7052258a,0x579b,0x4861,0x9c,0x12,0x5f,0x02,0x9c,0x86,0xfb,0xce>
30
{
31
public
:
35
virtual
ISerializable*
deserialize
() = 0;
36
47
template
<
class
T>
48
T*
deserialize
()
49
{
50
ISerializable
* ptr_iserializable =
deserialize
();
51
if
( !ptr_iserializable)
52
return
0;
53
T* ptr_T =
static_cast<
T*
>
( ptr_iserializable->
get_interface
(
typename
T::IID()));
54
ptr_iserializable->
release
();
55
return
ptr_T;
56
}
57
62
virtual
bool
read
(
bool
* value,
Size
count = 1) = 0;
63
68
virtual
bool
read
(
Uint8
* value,
Size
count = 1) = 0;
69
74
virtual
bool
read
(
Uint16
* value,
Size
count = 1) = 0;
75
80
virtual
bool
read
(
Uint32
* value,
Size
count = 1) = 0;
81
86
virtual
bool
read
(
Uint64
* value,
Size
count = 1) = 0;
87
92
virtual
bool
read
(
Sint8
* value,
Size
count = 1) = 0;
93
98
virtual
bool
read
(
Sint16
* value,
Size
count = 1) = 0;
99
104
virtual
bool
read
(
Sint32
* value,
Size
count = 1) = 0;
105
110
virtual
bool
read
(
Sint64
* value,
Size
count = 1) = 0;
111
116
virtual
bool
read
(
Float32
* value,
Size
count = 1) = 0;
117
122
virtual
bool
read
(
Float64
* value,
Size
count = 1) = 0;
123
};
124
// end group mi_neuray_plugins
126
127
}
// namespace mi
128
129
#endif // MI_NEURAYLIB_IDESERIALIZER_H
mi
neuraylib
ideserializer.h
Generated on Tue Aug 12 2014 15:28:34. Build 221133.3991, Doxygen 1.8.4