NVIDIA Iray API Home  Up
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ipolygon_connectivity.h
Go to the documentation of this file.
1 //*****************************************************************************
2 // Copyright 1986, 2016 NVIDIA Corporation. All rights reserved.
3 //*****************************************************************************
6 //*****************************************************************************
7 
8 #ifndef MI_NEURAYLIB_IPOLYGON_CONNECTIVITY_H
9 #define MI_NEURAYLIB_IPOLYGON_CONNECTIVITY_H
10 
12 #include <mi/neuraylib/identifier.h>
13 #include <mi/neuraylib/version.h>
14 
15 namespace mi {
16 
17 namespace neuraylib {
18 
23 class IPolygon_connectivity :
64  public base::Interface_declare<0xebb5744c,0xf20a,0x4b54,0xa4,0x47,0xfe,0x4f,0xc4,0x94,0x6c,0x96>
65 {
66 public:
68 
69 
71  virtual Uint32 polygons_size() const = 0;
72 
77 
93  virtual Sint32 set_polygon_indices( Polygon_handle_struct p, const Uint32* indices) = 0;
94 
111  virtual Sint32 set_polygon_indices(
112  Polygon_handle_struct p, Uint32 v0, Uint32 v1, Uint32 v2) = 0;
113 
131  virtual Sint32 set_polygon_indices(
132  Polygon_handle_struct p, Uint32 v0, Uint32 v1, Uint32 v2, Uint32 v3) = 0;
133 
138  virtual Uint32 get_polygon_index( Polygon_handle_struct p, Uint32 vertex) const = 0;
139 
144  virtual bool is_valid_connectivity() const = 0;
145 
147 
149 
154  virtual bool has_attribute( Mesh_attribute_name name) const = 0;
155 
174  virtual IAttribute_vector* create_attribute_vector(
175  Mesh_attribute_name name, Uint32 dim = 1) const = 0;
176 
182  virtual const IAttribute_vector* access_attribute_vector( Mesh_attribute_name name) const = 0;
183 
194  virtual IAttribute_vector* edit_attribute_vector( Mesh_attribute_name name) = 0;
195 
210  virtual Sint32 attach_attribute_vector( IAttribute_vector* attr) = 0;
211 
221 
223 
225 
229  virtual Connectivity_map_type get_map_type() const = 0;
230 
232  virtual bool is_hole( Polygon_handle_struct p) const = 0;
233 
235 };
236  // end group mi_neuray_leaf_nodes
238 
239 } // namespace neuraylib
240 
241 #ifdef MI_NEURAYLIB_DEPRECATED_NAMESPACE_MI_TRANSITION
243 using neuraylib::IAttribute_vector;
244 using neuraylib::IPolygon_connectivity;
247 #endif // MI_NEURAYLIB_DEPRECATED_NAMESPACE_MI_TRANSITION
248 
249 } // namespace mi
250 
251 #endif // MI_NEURAYLIB_IPOLYGON_CONNECTIVITY_H