ipolygon_mesh.h File Reference
Description
Scene element Polygon_mesh.
Code Example
ipolygon_mesh.h
//*****************************************************************************
// Copyright 1986, 2016 NVIDIA Corporation. All rights reserved.
//*****************************************************************************
//*****************************************************************************
#ifndef MI_NEURAYLIB_IPOLYGON_MESH_H
#define MI_NEURAYLIB_IPOLYGON_MESH_H
#include <mi/neuraylib/iattribute_vector.h>
#include <mi/neuraylib/identifier.h>
#include <mi/neuraylib/ipolygon_connectivity.h>
#include <mi/neuraylib/iscene_element.h>
#include <mi/neuraylib/typedefs.h>
#include <mi/neuraylib/version.h>
namespace mi {
namespace neuraylib {
class IPolygon_mesh :
public base::Interface_declare<0x598d264b,0x1d1f,0x40c9,0x88,0xe6,0x54,0x19,0x30,0x08,0xc7,0xb2,
neuraylib::IScene_element>
{
public:
virtual Uint32
points_size() const = 0;
virtual Uint32
points_capacity() const = 0;
virtual void reserve_points( Uint32 n) = 0;
virtual Sint32
point( Uint32 index, Float32_3_struct& p) const = 0;
virtual Sint32
point( Uint32 index, Float64_3_struct& p) const = 0;
virtual Uint32
append_point( const Float32_3_struct& p) = 0;
virtual Uint32
append_point( const Float64_3_struct& p) = 0;
virtual Sint32
set_point( Uint32 index, const Float32_3_struct& p) = 0;
virtual Sint32
set_point( Uint32 index, const Float64_3_struct& p) = 0;
virtual Uint32
polygons_size() const = 0;
virtual Uint32
polygon_corners_size( Polygon_handle_struct p) const = 0;
virtual bool is_hole( Polygon_handle_struct p) const = 0;
virtual Uint32
indices_size() const = 0;
virtual bool is_polygon_size_constant() const = 0;
virtual Polygon_handle_struct
add_polygon( Uint32 num_vertices, bool hole = false) = 0;
virtual const IPolygon_connectivity* access_mesh_connectivity() const = 0;
virtual IPolygon_connectivity* edit_mesh_connectivity() = 0;
virtual Sint32
attach_mesh_connectivity( IPolygon_connectivity* connectivity) = 0;
virtual IPolygon_connectivity* create_connectivity(
Connectivity_map_type map_type = CONNECTIVITY_MAP_GENERIC) = 0;
virtual const IPolygon_connectivity* access_connectivity( Mesh_attribute_name name) const = 0;
virtual IPolygon_connectivity* edit_connectivity( Mesh_attribute_name name) = 0;
virtual Sint32
attach_connectivity( IPolygon_connectivity* connectivity) = 0;
virtual Sint32
remove_connectivity( Mesh_attribute_name name) = 0;
virtual bool has_attribute( Mesh_attribute_name name) const = 0;
virtual IAttribute_vector* create_attribute_vector(
Mesh_attribute_name name, Uint32 dim = 1) = 0;
virtual const IAttribute_vector* access_attribute_vector(
Mesh_attribute_name name) const = 0;
virtual IAttribute_vector* edit_attribute_vector( Mesh_attribute_name name) = 0;
virtual Sint32
attach_attribute_vector( IAttribute_vector* attribute_vector) = 0;
virtual Sint32
remove_attribute_vector( Mesh_attribute_name name) = 0;
virtual const Float32_3_struct& get_bbox_min() const = 0;
virtual const Float32_3_struct& get_bbox_max() 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;
};
// end group mi_neuray_leaf_nodes
} // namespace neuraylib
#ifdef MI_NEURAYLIB_DEPRECATED_NAMESPACE_MI_TRANSITION
using neuraylib::CONNECTIVITY_MAP_GENERIC;
using neuraylib::Connectivity_map_type;
using neuraylib::IAttribute_vector;
using neuraylib::IPolygon_connectivity;
using neuraylib::IPolygon_mesh;
using neuraylib::IScene_element;
using neuraylib::Mesh_attribute_name;
using neuraylib::Polygon_handle_struct;
#endif // MI_NEURAYLIB_DEPRECATED_NAMESPACE_MI_TRANSITION
} // namespace mi
#endif // MI_NEURAYLIB_IPOLYGON_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 a polygon mesh. More...