Iray SDK API nvidia_logo_transpbg.gif Up
ion_demand_mesh.h
Go to the documentation of this file.
1/***************************************************************************************************
2 * Copyright 2024 NVIDIA Corporation. All rights reserved.
3 **************************************************************************************************/
6
7#ifndef MI_NEURAYLIB_ION_DEMAND_MESH_H
8#define MI_NEURAYLIB_ION_DEMAND_MESH_H
9
12
13namespace mi {
14
15namespace neuraylib {
16
17class ITransaction;
18
19class IOn_demand_mesh_callback;
20class ISimple_mesh;
21
46 public base::Interface_declare<0x0c1cb14f,0x985a,0x426e,0xa3,0x79,0xa7,0xf5,0x62,0x60,0xd6,0x8d,
47 neuraylib::IScene_element>
48{
49public:
54 virtual void set_callback( IOn_demand_mesh_callback* callback) = 0;
55
57 virtual const IOn_demand_mesh_callback* get_callback() const = 0;
58
60
61
63 virtual void set_bbox( const Bbox3_struct& bbox) = 0;
64
69 virtual Bbox3_struct get_bbox() const = 0;
70
78 virtual Bbox3_struct get_tight_bbox( const Float64_4_4_struct& transformation_matrix) const = 0;
79
81
83
88 virtual void set_maximum_displacement( Float32 displacement) = 0;
89
93 virtual Float32 get_maximum_displacement() const = 0;
94
96};
97
102 public base::Interface_declare<0x7cadfdf7,0xd26f,0x48ac,0x91,0x18,0x2d,0x6d,0x6f,0x7a,0x78,0xf4>
103{
104public:
113 virtual const ISimple_mesh* call() const = 0;
114};
115 // end group mi_neuray_leaf_nodes
117
118} // namespace neuraylib
119
120} // namespace mi
121
122#endif // MI_NEURAYLIB_ION_DEMAND_MESH_H
Mixin class template for deriving new interface declarations.
Definition: interface_declare.h:43
Abstract interface for callbacks used by on-demand meshes.
Definition: ion_demand_mesh.h:103
virtual const ISimple_mesh * call() const =0
Returns the mesh represented by this callback.
Interface representing an on-demand mesh.
Definition: ion_demand_mesh.h:48
virtual void set_bbox(const Bbox3_struct &bbox)=0
Sets the bounding box of the on-demand mesh.
virtual Bbox3_struct get_tight_bbox(const Float64_4_4_struct &transformation_matrix) const =0
Returns the bounding box of the on-demand mesh after transformation.
virtual Bbox3_struct get_bbox() const =0
Returns the bounding box of the on-demand mesh.
virtual void set_maximum_displacement(Float32 displacement)=0
Sets the maximum displacement of the on-demand mesh.
virtual void set_callback(IOn_demand_mesh_callback *callback)=0
Sets the callback that returns the actual mesh.
virtual const IOn_demand_mesh_callback * get_callback() const =0
Returns the stored callback.
virtual Float32 get_maximum_displacement() const =0
Returns the maximum displacement of the on-demand mesh.
Interface representing the geometry of on-demand meshes.
Definition: isimple_mesh.h:45
float Float32
32-bit float.
Definition: types.h:51
Base class for all scene elements.
Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH.
Definition: neuraylib.h:179
Storage class for an axis-aligned N-dimensional bounding box class template of fixed dimension.
Definition: bbox.h:47
Storage class for a NxM-dimensional matrix class template of fixed dimensions.
Definition: matrix.h:90
Typedefs for types from the math API.