37 #ifndef MOAB_INTERFACE_HPP
38 #define MOAB_INTERFACE_HPP
42 #define MOAB_API_VERSION 1.01
43 #define MOAB_API_VERSION_STRING "1.01"
59 #ifndef __gen_nsISupports_h__
60 #include "nsISupports.h"
67 #define MBINTERFACE_IID_STR "f728830e-1dd1-11b2-9598-fb9f414f2465"
69 #define MBINTERFACE_IID \
71 0xf728830e, 0x1dd1, 0x11b2, \
73 0x95, 0x98, 0xfb, 0x9f, 0x41, 0x4f, 0x24, 0x65 \
80 #define MB_INTERFACE_VERSION "2.0.0"
84 static const MBuuid IDD_MBCore =
MBuuid( 0x8956e0a, 0xc300, 0x4005, 0xbd, 0xf6, 0xc3, 0x4e, 0xf7, 0x1f, 0x5a, 0x52 );
91 #if defined( XPCOM_MB )
92 class NS_NO_VTABLE
Interface :
public nsISupports
101 NS_DEFINE_STATIC_IID_ACCESSOR( MBINTERFACE_IID )
123 template <
class IFace >
127 ErrorCode result = query_interface_type(
typeid( IFace ), tmp_ptr );
128 ptr =
reinterpret_cast< IFace*
>( tmp_ptr );
135 template <
class IFace >
138 return release_interface_type(
typeid( IFace ), interface );
148 virtual float api_version( std::string* version_string = NULL );
236 const int* active_block_id_list = NULL,
237 const int num_blocks = 0 ) = 0;
276 const char* options = 0,
277 const char* set_tag_name = 0,
278 const int* set_tag_values = 0,
279 int num_set_tag_values = 0 ) = 0;
295 const int num_sets = 0 ) = 0;
323 const char* file_type = 0,
324 const char* options = 0,
326 int num_output_sets = 0,
327 const Tag* tag_list = 0,
328 int num_tags = 0 ) = 0;
355 const char* file_type,
357 const Range& output_sets,
358 const Tag* tag_list = 0,
359 int num_tags = 0 ) = 0;
391 double*& xcoords_ptr,
393 double*& ycoords_ptr,
395 double*& zcoords_ptr,
420 const int num_entities,
421 double* coords )
const = 0;
439 double* z_coords )
const = 0;
452 const int num_entities,
453 const double* coords ) = 0;
497 int& verts_per_entity,
515 const int num_handles,
517 bool corners_only =
false )
const = 0;
524 bool corners_only =
false )
const = 0;
541 const int num_handles,
542 std::vector< EntityHandle >& connectivity,
543 bool corners_only =
false,
544 std::vector< int >* offsets = NULL )
const = 0;
580 bool corners_only =
false,
581 std::vector< EntityHandle >* storage = 0 )
const = 0;
595 const int num_connect ) = 0;
628 const int num_entities,
629 const int to_dimension,
630 const bool create_if_missing,
631 std::vector< EntityHandle >& adj_entities,
640 const int num_entities,
641 const int to_dimension,
642 const bool create_if_missing,
651 const int to_dimension,
652 const bool create_if_missing,
665 const int num_handles,
666 bool both_ways ) = 0;
679 const int num_handles ) = 0;
695 const std::vector< EntityHandle >**& adjs_ptr,
727 const bool recursive =
false )
const = 0;
745 std::vector< EntityHandle >&
entities,
746 const bool recursive =
false )
const = 0;
765 const EntityType type,
767 const bool recursive =
false )
const = 0;
786 const EntityType type,
787 std::vector< EntityHandle >&
entities,
788 const bool recursive =
false )
const = 0;
822 const EntityType type,
823 const Tag* tag_handles,
824 const void*
const* values,
828 const bool recursive =
false )
const = 0;
845 const bool recursive =
false )
const = 0;
861 std::vector< EntityHandle >&
entities,
862 const bool recursive =
false )
const = 0;
873 const bool recursive =
false )
const = 0;
886 const EntityType type,
888 const bool recursive =
false )
const = 0;
905 const EntityType type,
906 const Tag* tag_handles,
907 const void*
const* values,
911 const bool recursive =
false )
const = 0;
922 const bool recursive =
false )
const = 0;
947 const int num_vertices,
983 bool delete_removed_entity ) = 0;
1077 unsigned long num_ents = 0,
1078 unsigned long long* total_storage = 0,
1079 unsigned long long* total_amortized_storage = 0,
1080 unsigned long long* entity_storage = 0,
1081 unsigned long long* amortized_entity_storage = 0,
1082 unsigned long long* adjacency_storage = 0,
1083 unsigned long long* amortized_adjacency_storage = 0,
1084 const Tag* tag_array = 0,
1085 unsigned num_tags = 0,
1086 unsigned long long* tag_storage = 0,
1087 unsigned long long* amortized_tag_storage = 0 ) = 0;
1117 unsigned long long* total_storage = 0,
1118 unsigned long long* total_amortized_storage = 0,
1119 unsigned long long* entity_storage = 0,
1120 unsigned long long* amortized_entity_storage = 0,
1121 unsigned long long* adjacency_storage = 0,
1122 unsigned long long* amortized_adjacency_storage = 0,
1123 const Tag* tag_array = 0,
1124 unsigned num_tags = 0,
1125 unsigned long long* tag_storage = 0,
1126 unsigned long long* amortized_tag_storage = 0 ) = 0;
1171 const bool mid_edge,
1172 const bool mid_face,
1173 const bool mid_region,
1196 int& offset )
const = 0;
1210 const EntityType subfacet_type,
1296 const void* default_value = 0,
1297 bool* created = 0 ) = 0;
1305 const void* default_value = 0 )
const = 0;
1403 void* tag_data )
const = 0;
1428 const void* tag_data ) = 0;
1455 const void** tag_data,
1456 int* tag_sizes = 0 )
const = 0;
1471 const Range& entity_handles,
1472 const void** tag_data,
1473 int* tag_sizes = 0 )
const = 0;
1492 void const*
const* tag_data,
1493 const int* tag_sizes = 0 ) = 0;
1508 const Range& entity_handles,
1509 void const*
const* tag_data,
1510 const int* tag_sizes = 0 ) = 0;
1525 const Range& entity_handles,
1527 int value_size = 0 ) = 0;
1543 int num_entity_handles,
1545 int value_size = 0 ) = 0;
1615 bool allocate =
true ) = 0;
1761 int num_entities ) = 0;
1776 std::vector< EntityHandle >& parents,
1777 const int num_hops = 1 )
const = 0;
1788 const int num_hops = 1 )
const = 0;
1798 std::vector< EntityHandle >&
children,
1799 const int num_hops = 1 )
const = 0;
1810 const int num_hops = 1 )
const = 0;
1824 std::vector< EntityHandle >& contained,
1825 const int num_hops = 1 )
const = 0;
1840 const int num_hops = 1 )
const = 0;
1866 const int num_hops = 1 )
const = 0;
1884 int num_parent_meshsets ) = 0;
1902 int num_child_meshsets ) = 0;
1962 EntityType ent_type,
2054 if( NULL != version_string )