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 { 0xf728830e, 0x1dd1, 0x11b2, { 0x95, 0x98, 0xfb, 0x9f, 0x41, 0x4f, 0x24, 0x65 } }
74 #define MB_INTERFACE_VERSION "2.0.0"
78 static const MBuuid IDD_MBCore =
MBuuid( 0x8956e0a, 0xc300, 0x4005, 0xbd, 0xf6, 0xc3, 0x4e, 0xf7, 0x1f, 0x5a, 0x52 );
85 #if defined( XPCOM_MB )
86 class NS_NO_VTABLE
Interface :
public nsISupports
95 NS_DEFINE_STATIC_IID_ACCESSOR( MBINTERFACE_IID )
117 template <
class IFace >
121 ErrorCode result = query_interface_type(
typeid( IFace ), tmp_ptr );
122 ptr =
reinterpret_cast< IFace*
>( tmp_ptr );
129 template <
class IFace >
132 return release_interface_type(
typeid( IFace ), interface );
142 virtual float api_version( std::string* version_string = NULL );
230 const int* active_block_id_list = NULL,
231 const int num_blocks = 0 ) = 0;
270 const char* options = 0,
271 const char* set_tag_name = 0,
272 const int* set_tag_values = 0,
273 int num_set_tag_values = 0 ) = 0;
289 const int num_sets = 0 ) = 0;
317 const char* file_type = 0,
318 const char* options = 0,
320 int num_output_sets = 0,
321 const Tag* tag_list = 0,
322 int num_tags = 0 ) = 0;
349 const char* file_type,
351 const Range& output_sets,
352 const Tag* tag_list = 0,
353 int num_tags = 0 ) = 0;
385 double*& xcoords_ptr,
387 double*& ycoords_ptr,
389 double*& zcoords_ptr,
414 const int num_entities,
415 double* coords )
const = 0;
433 double* z_coords )
const = 0;
446 const int num_entities,
447 const double* coords ) = 0;
491 int& verts_per_entity,
509 const int num_handles,
511 bool corners_only =
false )
const = 0;
518 bool corners_only =
false )
const = 0;
535 const int num_handles,
536 std::vector< EntityHandle >& connectivity,
537 bool corners_only =
false,
538 std::vector< int >* offsets = NULL )
const = 0;
574 bool corners_only =
false,
575 std::vector< EntityHandle >* storage = 0 )
const = 0;
589 const int num_connect ) = 0;
622 const int num_entities,
623 const int to_dimension,
624 const bool create_if_missing,
625 std::vector< EntityHandle >& adj_entities,
634 const int num_entities,
635 const int to_dimension,
636 const bool create_if_missing,
645 const int to_dimension,
646 const bool create_if_missing,
659 const int num_handles,
660 bool both_ways ) = 0;
673 const int num_handles ) = 0;
689 const std::vector< EntityHandle >**& adjs_ptr,
721 const bool recursive =
false )
const = 0;
739 std::vector< EntityHandle >& entities,
740 const bool recursive =
false )
const = 0;
759 const EntityType type,
761 const bool recursive =
false )
const = 0;
780 const EntityType type,
781 std::vector< EntityHandle >& entities,
782 const bool recursive =
false )
const = 0;
816 const EntityType type,
817 const Tag* tag_handles,
818 const void*
const* values,
822 const bool recursive =
false )
const = 0;
839 const bool recursive =
false )
const = 0;
855 std::vector< EntityHandle >& entities,
856 const bool recursive =
false )
const = 0;
867 const bool recursive =
false )
const = 0;
880 const EntityType type,
882 const bool recursive =
false )
const = 0;
899 const EntityType type,
900 const Tag* tag_handles,
901 const void*
const* values,
905 const bool recursive =
false )
const = 0;
916 const bool recursive =
false )
const = 0;
941 const int num_vertices,
977 bool delete_removed_entity ) = 0;
1071 unsigned long num_ents = 0,
1072 unsigned long long* total_storage = 0,
1073 unsigned long long* total_amortized_storage = 0,
1074 unsigned long long* entity_storage = 0,
1075 unsigned long long* amortized_entity_storage = 0,
1076 unsigned long long* adjacency_storage = 0,
1077 unsigned long long* amortized_adjacency_storage = 0,
1078 const Tag* tag_array = 0,
1079 unsigned num_tags = 0,
1080 unsigned long long* tag_storage = 0,
1081 unsigned long long* amortized_tag_storage = 0 ) = 0;
1111 unsigned long long* total_storage = 0,
1112 unsigned long long* total_amortized_storage = 0,
1113 unsigned long long* entity_storage = 0,
1114 unsigned long long* amortized_entity_storage = 0,
1115 unsigned long long* adjacency_storage = 0,
1116 unsigned long long* amortized_adjacency_storage = 0,
1117 const Tag* tag_array = 0,
1118 unsigned num_tags = 0,
1119 unsigned long long* tag_storage = 0,
1120 unsigned long long* amortized_tag_storage = 0 ) = 0;
1165 const bool mid_edge,
1166 const bool mid_face,
1167 const bool mid_region,
1190 int& offset )
const = 0;
1204 const EntityType subfacet_type,
1290 const void* default_value = 0,
1291 bool* created = 0 ) = 0;
1299 const void* default_value = 0 )
const = 0;
1397 void* tag_data )
const = 0;
1422 const void* tag_data ) = 0;
1449 const void** tag_data,
1450 int* tag_sizes = 0 )
const = 0;
1465 const Range& entity_handles,
1466 const void** tag_data,
1467 int* tag_sizes = 0 )
const = 0;
1486 void const*
const* tag_data,
1487 const int* tag_sizes = 0 ) = 0;
1502 const Range& entity_handles,
1503 void const*
const* tag_data,
1504 const int* tag_sizes = 0 ) = 0;
1519 const Range& entity_handles,
1521 int value_size = 0 ) = 0;
1537 int num_entity_handles,
1539 int value_size = 0 ) = 0;
1609 bool allocate =
true ) = 0;
1755 int num_entities ) = 0;
1770 std::vector< EntityHandle >& parents,
1771 const int num_hops = 1 )
const = 0;
1782 const int num_hops = 1 )
const = 0;
1792 std::vector< EntityHandle >& children,
1793 const int num_hops = 1 )
const = 0;
1804 const int num_hops = 1 )
const = 0;
1818 std::vector< EntityHandle >& contained,
1819 const int num_hops = 1 )
const = 0;
1834 const int num_hops = 1 )
const = 0;
1860 const int num_hops = 1 )
const = 0;
1878 int num_parent_meshsets ) = 0;
1896 int num_child_meshsets ) = 0;
1956 EntityType ent_type,
2048 if( NULL != version_string )