neuray API Programmer's Manual

idecal.h File Reference

Description

Scene element Decal.

Code Example

idecal.h

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

#ifndef MI_NEURAYLIB_IDECAL_H
#define MI_NEURAYLIB_IDECAL_H

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

namespace mi {

namespace neuraylib {












enum Decal_face_mode {
    DECAL_ON_FRONT_FACE,
    DECAL_ON_BACK_FACE,
    DECAL_ON_FRONT_AND_BACK_FACE,
    DECAL_FACE_MODE_FORCE_32_BIT = 0xffffffffU
};

mi_static_assert( sizeof( Decal_face_mode) == sizeof( Uint32));

class IDecal :
    public base::Interface_declare<0x6a21efd3,0xa858,0x41c5,0xa4,0xea,0x4b,0x93,0x94,0xf5,0x43,0x67,
                                   neuraylib::IScene_element>
{
public:
    virtual Bbox3_struct 
               get_clipping_box() const = 0;

    virtual void set_clipping_box( const Bbox3_struct& clipping_box) = 0;

    virtual Bbox3_struct 
               get_uvw_clipping_box() const = 0;

    virtual void set_uvw_clipping_box( const Bbox3_struct& uvw_clipping_box) = 0;

    virtual const char* get_projector() const = 0;

    virtual Uint32 
               set_projector( const char* name) = 0;

    virtual Uint32 
               get_texture_space() const = 0;

    virtual void set_texture_space( Uint32 index) = 0;

    virtual Sint32 
               get_priority() const = 0;

    virtual void set_priority( Sint32 priority) = 0;

    virtual Decal_face_mode 
               get_face_mode() const = 0;

    virtual void set_face_mode( Decal_face_mode face_mode) = 0;
};
 // end group mi_neuray_misc

} // namespace neuraylib

} // namespace mi

#endif // MI_NEURAYLIB_IDECAL_H

Namespaces

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

Classes

class 
Decals are sticker-like objects that can be applied to other geometry objects. More...

Enumerations

enum  {DECAL_ON_FRONT_FACE, DECAL_ON_BACK_FACE, DECAL_ON_FRONT_AND_BACK_FACE, DECAL_FACE_MODE_FORCE_32_BIT = 0xffffffffU }
This enum controls whether the decal is applied on the front face, back face, or both faces of the object. More...