Iray SDK API nvidia_logo_transpbg.gif Up
mi::neuraylib::ISection_object Class Referenceabstract

Section objects are used to cull parts of the scene. More...

#include <isection_object.h>

Inheritance diagram for mi::neuraylib::ISection_object:

Public Member Functions

virtual bool get_clip_light () const =0
 Indicates whether the section plane also affects lights (or only geometry). More...
 
virtual void set_clip_light (bool flag)=0
 Specifies whether the section plane also affects lights (or only geometry). More...
 
virtual Color_struct get_cap_color () const =0
 Retrieves this plane's capping color. More...
 
virtual void set_cap_color (const Color_struct &)=0
 Sets an individual section capping color for this plane. More...
 
- Public Member Functions inherited from mi::neuraylib::IScene_element
virtual Element_type get_element_type () const =0
 Indicates the actual scene element represented by interfaces derived from this interface. More...
 
- Public Member Functions inherited from mi::neuraylib::IAttribute_set
virtual IDatacreate_attribute (const char *name, const char *type)=0
 Creates a new attribute name of the type type. More...
 
template<class T>
T * create_attribute (const char *name, const char *type)
 Creates a new attribute name of the type type. More...
 
template<class T>
T * create_attribute (const char *name)
 Creates a new attribute name of the type T. More...
 
virtual bool destroy_attribute (const char *name)=0
 Destroys the attribute name. More...
 
virtual const IDataaccess_attribute (const char *name) const =0
 Returns a const pointer to the attribute name. More...
 
template<class T>
const T * access_attribute (const char *name) const
 Returns a const pointer to the attribute name. More...
 
virtual IDataedit_attribute (const char *name)=0
 Returns a mutable pointer to the attribute name. More...
 
template<class T>
T * edit_attribute (const char *name)
 Returns a mutable pointer to the attribute name. More...
 
virtual bool is_attribute (const char *name) const =0
 Indicates existence of an attribute. More...
 
virtual const char * get_attribute_type_name (const char *name) const =0
 Returns the type of an attribute. More...
 
virtual Sint32 set_attribute_propagation (const char *name, Propagation_type value)=0
 Sets the propagation type of the attribute name. More...
 
virtual Propagation_type get_attribute_propagation (const char *name) const =0
 Returns the propagation type of the attribute name. More...
 
virtual const char * enumerate_attributes (Sint32 index) const =0
 Returns the name of the attribute indicated by index. More...
 
- Public Member Functions inherited from mi::base::IInterface
virtual Uint32 retain () const =0
 Increments the reference count. More...
 
virtual Uint32 release () const =0
 Decrements the reference count. More...
 
virtual const IInterfaceget_interface (const Uuid &interface_id) const =0
 Acquires a const interface from another. More...
 
template<class T>
const T * get_interface () const
 Acquires a const interface from another. More...
 
virtual IInterfaceget_interface (const Uuid &interface_id)=0
 Acquires a mutable interface from another. More...
 
template<class T>
T * get_interface ()
 Acquires a mutable interface from another. More...
 
virtual Uuid get_iid () const =0
 Returns the interface ID of the most derived interface. More...
 

Additional Inherited Members

- Public Types inherited from mi::base::Interface_declare< 0xa89f8533, ... >
typedef Interface_declare< id1, ... > Self
 Own type. More...
 
typedef Uuid_t< id1, ... > IID
 Declares the interface ID (IID) of this interface. More...
 
- Public Types inherited from mi::base::Interface_declare< 0x8a2a4da9, ... >
typedef Interface_declare< id1, ... > Self
 Own type. More...
 
typedef Uuid_t< id1, ... > IID
 Declares the interface ID (IID) of this interface. More...
 
- Public Types inherited from mi::base::Interface_declare< 0x1bcb8d48, ... >
typedef Interface_declare< id1, ... > Self
 Own type. More...
 
typedef Uuid_t< id1, ... > IID
 Declares the interface ID (IID) of this interface. More...
 
- Public Types inherited from mi::base::IInterface
typedef Uuid_t<0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0> IID
 Declares the interface ID (IID) of this interface. More...
 
- Static Public Member Functions inherited from mi::base::Interface_declare< 0xa89f8533, ... >
static bool compare_iid (const Uuid &iid)
 Compares the interface ID iid against the interface ID of this interface and of its ancestors. More...
 
- Static Public Member Functions inherited from mi::base::Interface_declare< 0x8a2a4da9, ... >
static bool compare_iid (const Uuid &iid)
 Compares the interface ID iid against the interface ID of this interface and of its ancestors. More...
 
- Static Public Member Functions inherited from mi::base::Interface_declare< 0x1bcb8d48, ... >
static bool compare_iid (const Uuid &iid)
 Compares the interface ID iid against the interface ID of this interface and of its ancestors. More...
 
- Static Public Member Functions inherited from mi::base::IInterface
static bool compare_iid (const Uuid &iid)
 Compares the interface ID iid against the interface ID of this interface. More...
 

Detailed Description

Section objects are used to cull parts of the scene.

For now, planes are the only supported type of section objects. They are positioned at the origin of the local space. Their normal in local space points down the negative z -axis, like the camera.

Member Function Documentation

 get_cap_color()

virtual Color_struct mi::neuraylib::ISection_object::get_cap_color ( ) const
pure virtual

Retrieves this plane's capping color.

The result will be an invalid color (components < 0) if this plane has no dedicated capping color.

See also
set_cap_color

 get_clip_light()

virtual bool mi::neuraylib::ISection_object::get_clip_light ( ) const
pure virtual

Indicates whether the section plane also affects lights (or only geometry).

When the parameter is set to true, also the geometry behind the section plane occludes incoming light. The default is false.

 set_cap_color()

virtual void mi::neuraylib::ISection_object::set_cap_color ( const Color_struct )
pure virtual

Sets an individual section capping color for this plane.

If this color is set to a valid value (all components >= 0), and if section caps are enabled, objects cut by this plane will be capped with the provided color. If no color is set, or the provided color is invalid, the default capping color is used.

Note that this color does not determine whether clipped objects are capped at all. This is determined by a global control.

 set_clip_light()

virtual void mi::neuraylib::ISection_object::set_clip_light ( bool  flag)
pure virtual

Specifies whether the section plane also affects lights (or only geometry).