NVIDIA Iray API
 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, 2014 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 
14 namespace mi {
15 
20 class IPolygon_connectivity :
61  public base::Interface_declare<0xebb5744c,0xf20a,0x4b54,0xa4,0x47,0xfe,0x4f,0xc4,0x94,0x6c,0x96>
62 {
63 public:
65 
66 
68  virtual Uint32 polygons_size() const = 0;
69 
74 
86  virtual Sint32 set_polygon_indices( Polygon_handle_struct p, const Uint32* indices) = 0;
87 
100  virtual Sint32 set_polygon_indices(
101  Polygon_handle_struct p, Uint32 v0, Uint32 v1, Uint32 v2) = 0;
102 
116  virtual Sint32 set_polygon_indices(
117  Polygon_handle_struct p, Uint32 v0, Uint32 v1, Uint32 v2, Uint32 v3) = 0;
118 
123  virtual Uint32 get_polygon_index( Polygon_handle_struct p, Uint32 vertex) const = 0;
124 
129  virtual bool is_valid_connectivity() const = 0;
130 
132 
134 
139  virtual bool has_attribute( Mesh_attribute_name name) const = 0;
140 
153  virtual IAttribute_vector* create_attribute_vector(
154  Mesh_attribute_name name, Uint32 dim = 1) const = 0;
155 
161  virtual const IAttribute_vector* access_attribute_vector( Mesh_attribute_name name) const = 0;
162 
173  virtual IAttribute_vector* edit_attribute_vector( Mesh_attribute_name name) = 0;
174 
189  virtual Sint32 attach_attribute_vector( IAttribute_vector* attr) = 0;
190 
192 
194 
198  virtual Connectivity_map_type get_map_type() const = 0;
199 
201  virtual bool is_hole( Polygon_handle_struct p) const = 0;
202 
204 };
205  // end group mi_neuray_leaf_nodes
207 
208 } // namespace mi
209 
210 #endif // MI_NEURAYLIB_IPOLYGON_CONNECTIVITY_H