neuray API Programmer's Manual

ion_demand_mesh.h File Reference

Description

Scene element On_demand_mesh.

Code Example

ion_demand_mesh.h

‎/***************************************************************************************************
 * Copyright 2024 NVIDIA Corporation. All rights reserved.
 **************************************************************************************************/

#ifndef MI_NEURAYLIB_ION_DEMAND_MESH_H
#define MI_NEURAYLIB_ION_DEMAND_MESH_H

#include <mi/neuraylib/iscene_element.h>
#include <mi/neuraylib/typedefs.h>

namespace mi {

namespace neuraylib {

class ITransaction;

class IOn_demand_mesh_callback;
class ISimple_mesh;




















class IOn_demand_mesh :
    public base::Interface_declare<0x0c1cb14f,0x985a,0x426e,0xa3,0x79,0xa7,0xf5,0x62,0x60,0xd6,0x8d,
                                   neuraylib::IScene_element>
{
public:
    virtual void set_callback( IOn_demand_mesh_callback* callback) = 0;

    virtual const IOn_demand_mesh_callback* get_callback() const = 0;



    virtual void set_bbox( const Bbox3_struct& bbox) = 0;

    virtual Bbox3_struct 
               get_bbox() const = 0;

    virtual Bbox3_struct 
               get_tight_bbox( const Float64_4_4_struct& transformation_matrix) const = 0;




    virtual void set_maximum_displacement( Float32 displacement) = 0;

    virtual Float32 
               get_maximum_displacement() const = 0;

};

class IOn_demand_mesh_callback :
    public base::Interface_declare<0x7cadfdf7,0xd26f,0x48ac,0x91,0x18,0x2d,0x6d,0x6f,0x7a,0x78,0xf4>
{
public:
    virtual const ISimple_mesh* call() const = 0;
};
 // end group mi_neuray_leaf_nodes

} // namespace neuraylib

} // namespace mi

#endif // MI_NEURAYLIB_ION_DEMAND_MESH_H

Namespaces

namespace 
Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH. More...
namespace 
Namespace for the neuray API. More...

Classes

class 
Interface representing an on-demand mesh. More...
class 
Abstract interface for callbacks used by on-demand meshes. More...