Iray SDK API nvidia_logo_transpbg.gif Up
ipolygon_connectivity.h
Go to the documentation of this file.
1/***************************************************************************************************
2 * Copyright 2024 NVIDIA Corporation. All rights reserved.
3 **************************************************************************************************/
6
7#ifndef MI_NEURAYLIB_IPOLYGON_CONNECTIVITY_H
8#define MI_NEURAYLIB_IPOLYGON_CONNECTIVITY_H
9
12
13namespace mi {
14
15namespace neuraylib {
16
62 public base::Interface_declare<0xebb5744c,0xf20a,0x4b54,0xa4,0x47,0xfe,0x4f,0xc4,0x94,0x6c,0x96>
63{
64public:
66
67
69 virtual Uint32 polygons_size() const = 0;
70
75
91 virtual Sint32 set_polygon_indices( Polygon_handle_struct p, const Uint32* indices) = 0;
92
110 Polygon_handle_struct p, Uint32 v0, Uint32 v1, Uint32 v2) = 0;
111
130 Polygon_handle_struct p, Uint32 v0, Uint32 v1, Uint32 v2, Uint32 v3) = 0;
131
137
142 virtual bool is_valid_connectivity() const = 0;
143
145
147
152 virtual bool has_attribute( Mesh_attribute_name name) const = 0;
153
173 Mesh_attribute_name name, Uint32 dim = 1) const = 0;
174
181
193
209
219
221
223
228
230 virtual bool is_hole( Polygon_handle_struct p) const = 0;
231
233};
234 // end group mi_neuray_leaf_nodes
236
237} // namespace neuraylib
238
239} // namespace mi
240
241#endif // MI_NEURAYLIB_IPOLYGON_CONNECTIVITY_H
Mixin class template for deriving new interface declarations.
Definition: interface_declare.h:43
Interface representing an attribute vector for triangle meshes, polygon meshes, and subdivision surfa...
Definition: iattribute_vector.h:184
A connectivity class for polygon mesh geometry and their attributes.
Definition: ipolygon_connectivity.h:63
virtual bool has_attribute(Mesh_attribute_name name) const =0
Indicates whether the connectivity has a particular mesh attribute.
virtual Connectivity_map_type get_map_type() const =0
Returns the type of the connectivity.
virtual bool is_valid_connectivity() const =0
Indicates whether this connectivity is valid.
virtual Sint32 set_polygon_indices(Polygon_handle_struct p, Uint32 v0, Uint32 v1, Uint32 v2)=0
Sets the vertex indices of a triangle.
virtual Uint32 polygon_corners_size(Polygon_handle_struct p) const =0
Returns the number of vertices for a given polygon p.
virtual IAttribute_vector * edit_attribute_vector(Mesh_attribute_name name)=0
Detaches and returns a non-per-primitive mesh attribute.
virtual bool is_hole(Polygon_handle_struct p) const =0
Indicates whether the polygon p represents a hole.
virtual Sint32 remove_attribute_vector(Mesh_attribute_name name)=0
Removes a non-per-primitive mesh attribute.
virtual Sint32 set_polygon_indices(Polygon_handle_struct p, Uint32 v0, Uint32 v1, Uint32 v2, Uint32 v3)=0
Sets the vertex indices of a quad.
virtual const IAttribute_vector * access_attribute_vector(Mesh_attribute_name name) const =0
Returns a non-per-primitive mesh attribute.
virtual IAttribute_vector * create_attribute_vector(Mesh_attribute_name name, Uint32 dim=1) const =0
Creates a non-per-primitive mesh attribute.
virtual Sint32 attach_attribute_vector(IAttribute_vector *attr)=0
Attaches a given non-per-primitive mesh attribute to the mesh.
virtual Uint32 polygons_size() const =0
Returns the number of polygons.
virtual Sint32 set_polygon_indices(Polygon_handle_struct p, const Uint32 *indices)=0
Sets the vertex indices of a polygon.
virtual Uint32 get_polygon_index(Polygon_handle_struct p, Uint32 vertex) const =0
Returns the index at the vertex vertex of polygon p.
unsigned int Uint32
32-bit unsigned integer.
Definition: types.h:49
signed int Sint32
32-bit signed integer.
Definition: types.h:46
Mesh_attribute_name
Symbolic constants for mesh attributes.
Definition: iattribute_vector.h:60
Connectivity_map_type
Symbolic constants for different connectivity types.
Definition: iattribute_vector.h:131
Attribute vectors, used for triangle and polygon meshes.
Simple integer-based handles used by mesh interfaces.
Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH.
Definition: neuraylib.h:179
Handle class for type-safety.
Definition: identifier.h:56