NVIDIA Iray API
Home
Up
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, 2016 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
#include <
mi/neuraylib/version.h
>
14
15
namespace
mi {
16
17
namespace
neuraylib {
18
25
class
IDeserializer :
34
public
base::Interface_declare<0x7052258a,0x579b,0x4861,0x9c,0x12,0x5f,0x02,0x9c,0x86,0xfb,0xce>
35
{
36
public
:
40
virtual
ISerializable*
deserialize
() = 0;
41
52
template
<
class
T>
53
T*
deserialize
()
54
{
55
ISerializable
* ptr_iserializable =
deserialize
();
56
if
( !ptr_iserializable)
57
return
0;
58
T* ptr_T =
static_cast<
T*
>
( ptr_iserializable->
get_interface
(
typename
T::IID()));
59
ptr_iserializable->
release
();
60
return
ptr_T;
61
}
62
68
virtual
bool
read
(
bool
* value,
Size
count = 1) = 0;
69
75
virtual
bool
read
(
Uint8
* value,
Size
count = 1) = 0;
76
82
virtual
bool
read
(
Uint16
* value,
Size
count = 1) = 0;
83
89
virtual
bool
read
(
Uint32
* value,
Size
count = 1) = 0;
90
96
virtual
bool
read
(
Uint64
* value,
Size
count = 1) = 0;
97
103
virtual
bool
read
(
Sint8
* value,
Size
count = 1) = 0;
104
110
virtual
bool
read
(
Sint16
* value,
Size
count = 1) = 0;
111
117
virtual
bool
read
(
Sint32
* value,
Size
count = 1) = 0;
118
124
virtual
bool
read
(
Sint64
* value,
Size
count = 1) = 0;
125
131
virtual
bool
read
(
Float32
* value,
Size
count = 1) = 0;
132
138
virtual
bool
read
(
Float64
* value,
Size
count = 1) = 0;
139
145
virtual
bool
read
(
Tag_struct
* value,
Size
count = 1) = 0;
146
};
147
// end group mi_neuray_plugins / mi_neuray_dice
149
150
}
// namespace neuraylib
151
152
#ifdef MI_NEURAYLIB_DEPRECATED_NAMESPACE_MI_TRANSITION
153
using
neuraylib::IDeserializer;
154
using
neuraylib::ISerializable;
155
using
neuraylib::Tag_struct;
156
#endif // MI_NEURAYLIB_DEPRECATED_NAMESPACE_MI_TRANSITION
157
158
}
// namespace mi
159
160
#endif // MI_NEURAYLIB_IDESERIALIZER_H
mi
neuraylib
ideserializer.h
Generated on Fri Mar 4 2016 19:53:39. Build 250909.11169, Doxygen 1.8.4