ipolygon_connectivity.h File Reference
Description
Polygon connectivities and associated helper classes.
Code Example
ipolygon_connectivity.h
/***************************************************************************************************
* Copyright 2024 NVIDIA Corporation. All rights reserved.
**************************************************************************************************/
#ifndef MI_NEURAYLIB_IPOLYGON_CONNECTIVITY_H
#define MI_NEURAYLIB_IPOLYGON_CONNECTIVITY_H
#include <mi/neuraylib/iattribute_vector.h>
#include <mi/neuraylib/identifier.h>
namespace mi {
namespace neuraylib {
class IPolygon_connectivity :
public base::Interface_declare<0xebb5744c,0xf20a,0x4b54,0xa4,0x47,0xfe,0x4f,0xc4,0x94,0x6c,0x96>
{
public:
virtual Uint32
polygons_size() const = 0;
virtual Uint32
polygon_corners_size( Polygon_handle_struct p) const = 0;
virtual Sint32
set_polygon_indices( Polygon_handle_struct p, const Uint32* indices) = 0;
virtual Sint32
set_polygon_indices(
Polygon_handle_struct p, Uint32 v0, Uint32 v1, Uint32 v2) = 0;
virtual Sint32
set_polygon_indices(
Polygon_handle_struct p, Uint32 v0, Uint32 v1, Uint32 v2, Uint32 v3) = 0;
virtual Uint32
get_polygon_index( Polygon_handle_struct p, Uint32 vertex) const = 0;
virtual bool is_valid_connectivity() const = 0;
virtual bool has_attribute( Mesh_attribute_name name) const = 0;
virtual IAttribute_vector* create_attribute_vector(
Mesh_attribute_name name, Uint32 dim = 1) const = 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* attr) = 0;
virtual Sint32
remove_attribute_vector( Mesh_attribute_name name) = 0;
virtual Connectivity_map_type
get_map_type() const = 0;
virtual bool is_hole( Polygon_handle_struct p) const = 0;
};
// end group mi_neuray_leaf_nodes
} // namespace neuraylib
} // namespace mi
#endif // MI_NEURAYLIB_IPOLYGON_CONNECTIVITY_H
Namespaces
- namespace
- Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH. More...
- namespace
- Namespace for the neuray API. More...
Classes
- class
- A connectivity class for polygon mesh geometry and their attributes. More...