Implementation of MOAB Interface Implementation of the MOAB Interface class. You shouldn't call functions directly on an object of type Core (use Interface instead), unless you really have to access non-API functionality. More...
#include <Core.hpp>
Classes | |
class | HONodeAddedRemoved |
function object for recieving events from MB of higher order nodes added to entities More... | |
Public Types | |
typedef unsigned long long | type_memstorage |
Public Types inherited from moab::Interface | |
enum | { INTERSECT , UNION } |
Enumerated type used in get_adjacencies() and other functions. More... | |
Public Member Functions | |
Core () | |
constructor More... | |
~Core () | |
destructor More... | |
virtual ErrorCode | query_interface_type (const std::type_info &interface_type, void *&ptr) |
Get a pointer to an internal MOAB interface. More... | |
virtual ErrorCode | release_interface_type (const std::type_info &interface_type, void *iface) |
Release reference to MB interface. More... | |
virtual int | QueryInterface (const MBuuid &uuid, UnknownInterface **iface) |
virtual float | impl_version (std::string *version_string=NULL) |
Returns the major.minor version number of the implementation. More... | |
virtual EntityType | type_from_handle (const EntityHandle handle) const |
get the type from a handle, returns type More... | |
virtual EntityID | id_from_handle (const EntityHandle handle) const |
get the id from a handle, returns id More... | |
virtual ErrorCode | handle_from_id (const EntityType type, const EntityID id, EntityHandle &handle) const |
get a handle from an id and type More... | |
virtual int | dimension_from_handle (const EntityHandle) const |
Returns the topological dimension of an entity. More... | |
virtual ErrorCode | load_mesh (const char *file_name, const int *active_block_id_list=NULL, const int num_blocks=0) |
load mesh from data in file NOTE: if there is mesh already present, the new mesh will be added More... | |
virtual ErrorCode | load_file (const char *file_name, const EntityHandle *file_set=0, const char *options=0, const char *set_tag_name=0, const int *set_tag_vals=0, int num_set_tag_vals=0) |
ErrorCode | serial_load_file (const char *file_name, const EntityHandle *file_set, const FileOptions &opts, const ReaderIface::SubsetList *subsets=0, const Tag *file_id_tag=0) |
ErrorCode | serial_read_tag (const char *file_name, const char *tag_name, const FileOptions &opts, std::vector< int > &tag_vals, const ReaderIface::SubsetList *subsets=0) |
virtual ErrorCode | write_mesh (const char *file_name, const EntityHandle *output_list=NULL, const int num_sets=0) |
Writes mesh to a file. More... | |
virtual ErrorCode | write_file (const char *file_name, const char *file_type=0, const char *options=0, const EntityHandle *output_sets=0, int num_output_sets=0, const Tag *tag_list=0, int num_tags=0) |
virtual ErrorCode | write_file (const char *file_name, const char *file_type, const char *options, const Range &output_sets, const Tag *tag_list=0, int num_tags=0) |
virtual ErrorCode | delete_mesh () |
deletes all mesh entities from this datastore More... | |
virtual ErrorCode | get_dimension (int &dim) const |
get overall geometric dimension More... | |
virtual ErrorCode | set_dimension (const int dim) |
set overall geometric dimension More... | |
virtual ErrorCode | get_vertex_coordinates (std::vector< double > &coords) const |
get blocked vertex coordinates for all vertices More... | |
virtual ErrorCode | coords_iterate (Range::const_iterator iter, Range::const_iterator end, double *&xcoords_ptr, double *&ycoords_ptr, double *&zcoords_ptr, int &count) |
get pointers to coordinate data More... | |
virtual ErrorCode | get_coords (const Range &entities, double *coords) const |
get the coordinate information for this handle if it is of type Vertex otherwise, return an error More... | |
virtual ErrorCode | get_coords (const EntityHandle *entities, const int num_entities, double *coords) const |
Gets xyz coordinate information for vector of vertices. More... | |
virtual ErrorCode | get_coords (const EntityHandle entity_handle, const double *&x, const double *&y, const double *&z) const |
virtual ErrorCode | get_coords (const Range &entities, double *x_coords, double *y_coords, double *z_coords) const |
virtual ErrorCode | set_coords (const EntityHandle *entity_handles, const int num_entities, const double *coords) |
set the coordinate information for this handle if it is of type Vertex otherwise, return an error More... | |
virtual ErrorCode | set_coords (Range entity_handles, const double *coords) |
set the coordinate information for this handle if it is of type Vertex otherwise, return an error More... | |
virtual ErrorCode | get_connectivity_by_type (const EntityType type, std::vector< EntityHandle > &connect) const |
get global connectivity array for specified entity type More... | |
virtual ErrorCode | connect_iterate (Range::const_iterator iter, Range::const_iterator end, EntityHandle *&connect, int &verts_per_entity, int &count) |
get pointer to connectivity data More... | |
virtual ErrorCode | get_connectivity (const EntityHandle *entity_handles, const int num_handles, std::vector< EntityHandle > &connectivity, bool corners_only=false, std::vector< int > *offsets=NULL) const |
Gets the connectivity for an element EntityHandle. More... | |
virtual ErrorCode | get_connectivity (const EntityHandle *entity_handles, const int num_handles, Range &connectivity, bool corners_only=false) const |
Gets the connectivity for a vector of elements. More... | |
virtual ErrorCode | get_connectivity (const Range &from_entities, Range &adj_entities, bool corners_only=false) const |
Gets the connectivity for elements. More... | |
virtual ErrorCode | get_connectivity (const EntityHandle entity_handle, const EntityHandle *&connectivity, int &number_nodes, bool corners_only=false, std::vector< EntityHandle > *storage=0) const |
Gets a pointer to constant connectivity data of entity_handle More... | |
virtual ErrorCode | set_connectivity (const EntityHandle entity_handle, EntityHandle *connect, const int num_connect) |
Sets the connectivity for an EntityHandle. For non-element handles, return an error. More... | |
virtual ErrorCode | get_adjacencies (const EntityHandle *from_entities, const int num_entities, const int to_dimension, const bool create_if_missing, std::vector< EntityHandle > &adj_entities, const int operation_type=Interface::INTERSECT) |
get the adjacencies associated with a set of entities More... | |
virtual ErrorCode | get_adjacencies (const EntityHandle *from_entities, const int num_entities, const int to_dimension, const bool create_if_missing, Range &adj_entities, const int operation_type=Interface::INTERSECT) |
Get the adjacencies associated with a vector of entities to entities of a specfied dimension. More... | |
virtual ErrorCode | get_adjacencies (const Range &from_entities, const int to_dimension, const bool create_if_missing, Range &adj_entities, const int operation_type=Interface::INTERSECT) |
Get the adjacencies associated with a range of entities to entities of a specfied dimension. More... | |
ErrorCode | adjacencies_iterate (Range::const_iterator iter, Range::const_iterator end, const std::vector< EntityHandle > **&adjs_ptr, int &count) |
Get a ptr to adjacency lists Get a pointer to adjacency lists. These lists are std::vector<EntityHandle>, which are pointed to by adjs[i]. Adjacencies are not guaranteed to be in order of increasing dimension. Only a const version of this function is given, because adjacency data is managed more carefully in MOAB and should be treated as read-only by applications. If adjacencies have not yet been initialized, adjs_ptr will be NULL (i.e. adjs_ptr == NULL). There may also be NULL entries for individual entities, i.e. adjs_ptr[i] == NULL. More... | |
virtual ErrorCode | get_vertices (const Range &from_entities, Range &vertices) |
Get all vertices for input entities. More... | |
virtual ErrorCode | get_entities_by_dimension (const EntityHandle meshset, const int dimension, Range &entities, const bool recursive=false) const |
Adds adjacencies. More... | |
virtual ErrorCode | get_entities_by_dimension (const EntityHandle meshset, const int dimension, std::vector< EntityHandle > &entities, const bool recursive=false) const |
Retrieves all entities of a given topological dimension in the database or meshset. More... | |
virtual ErrorCode | get_entities_by_type (const EntityHandle meshset, const EntityType type, Range &entities, const bool recursive=false) const |
Retrieves all entities in the data base of given type. More... | |
virtual ErrorCode | get_entities_by_type (const EntityHandle meshset, const EntityType type, std::vector< EntityHandle > &entities, const bool recursive=false) const |
Retrieves all entities in the data base of given type. More... | |
virtual ErrorCode | get_entities_by_type_and_tag (const EntityHandle meshset, const EntityType type, const Tag *tags, const void *const *values, const int num_tags, Range &entities, const int condition=Interface::INTERSECT, const bool recursive=false) const |
Retrieve entities in the database or meshset which have any or all of the tag(s) and (optionally) value(s) specified. More... | |
virtual ErrorCode | get_entities_by_handle (const EntityHandle meshset, Range &entities, const bool recursive=false) const |
Retrieves all entities in the data base. More... | |
virtual ErrorCode | get_entities_by_handle (const EntityHandle meshset, std::vector< EntityHandle > &entities, const bool recursive=false) const |
Retrieves all entities in the data base. More... | |
virtual ErrorCode | get_number_entities_by_dimension (const EntityHandle meshset, const int dimension, int &number, const bool recursive=false) const |
Retrieves all entities in the database of given dimension. More... | |
virtual ErrorCode | get_number_entities_by_type (const EntityHandle meshset, const EntityType type, int &num_entities, const bool recursive=false) const |
Retrieves all entities in the data base of given type. More... | |
virtual ErrorCode | get_number_entities_by_type_and_tag (const EntityHandle meshset, const EntityType type, const Tag *tag_handles, const void *const *values, const int num_tags, int &num_entities, const int condition=Interface::INTERSECT, const bool recursive=false) const |
Retrieve number of entities in the database or meshset which have any or all of the tag(s) and (optionally) value(s) specified. More... | |
virtual ErrorCode | get_number_entities_by_handle (const EntityHandle meshset, int &num_entities, const bool recursive=false) const |
Retrieves all entities in the data base. More... | |
virtual ErrorCode | create_element (const EntityType type, const EntityHandle *connectivity, const int num_nodes, EntityHandle &element_handle) |
Creates an element based on the type and connectivity. More... | |
virtual ErrorCode | create_vertex (const double coords[3], EntityHandle &entity_handle) |
Creates a vertex based on coordinates. More... | |
virtual ErrorCode | create_vertices (const double *coordinates, const int nverts, Range &entity_handles) |
Create a set of vertices with the specified coordinates. More... | |
virtual ErrorCode | merge_entities (EntityHandle entity_to_keep, EntityHandle entity_to_remove, bool auto_merge, bool delete_removed_entity) |
merges two entities More... | |
virtual ErrorCode | delete_entities (const EntityHandle *entities, const int num_entities) |
Removes entities in a vector from the data base. More... | |
virtual ErrorCode | delete_entities (const Range &range) |
Removes entities in a range from the data base. More... | |
virtual ErrorCode | list_entities (const Range &temp_range) const |
List entities to standard output. More... | |
virtual ErrorCode | list_entities (const EntityHandle *entities, const int num_entities) const |
List entities, or number of entities in database, to standard output. More... | |
virtual ErrorCode | list_entity (const EntityHandle entity) const |
List a single entity; no header printed. More... | |
virtual ErrorCode | convert_entities (const EntityHandle meshset, const bool mid_side, const bool mid_face, const bool mid_volume, Interface::HONodeAddedRemoved *function_object=0) |
Convert entities to higher-order elements by adding mid nodes. More... | |
virtual ErrorCode | side_number (const EntityHandle parent, const EntityHandle child, int &sd_number, int &sense, int &offset) const |
function to get the side number given two elements; returns MB_FAILURE if child not related to parent; does not create adjacencies between parent and child More... | |
virtual ErrorCode | high_order_node (const EntityHandle parent_handle, const EntityHandle *subfacet_conn, const EntityType subfacet_type, EntityHandle &hon) const |
given an entity and the connectivity and type of one of its subfacets, find the high order node on that subfacet, if any More... | |
virtual ErrorCode | side_element (const EntityHandle source_entity, const int dim, const int sd_number, EntityHandle &target_entity) const |
given an entity and a target dimension & side number, get that entity More... | |
virtual ErrorCode | tag_get_handle (const char *name, int size, DataType type, Tag &tag_handle, unsigned flags=0, const void *default_value=0, bool *created=0) |
Get a tag handle, possibly creating the tag. More... | |
virtual ErrorCode | tag_get_handle (const char *name, int size, DataType type, Tag &tag_handle, unsigned flags=0, const void *default_value=0) const |
same as non-const version, except that TAG_CREAT flag is ignored. More... | |
virtual ErrorCode | tag_get_name (const Tag tag_handle, std::string &tag_name) const |
Gets the tag name string of the tag_handle. More... | |
virtual ErrorCode | tag_get_handle (const char *tag_name, Tag &tag_handle) const |
Gets the tag handle corresponding to a name. More... | |
virtual ErrorCode | tag_get_tags_on_entity (const EntityHandle entity, std::vector< Tag > &tag_handles) const |
Get handles for all tags defined on this entity. More... | |
virtual ErrorCode | tag_get_bytes (const Tag tag, int &tag_size) const |
Get the size of the specified tag in bytes. More... | |
virtual ErrorCode | tag_get_length (const Tag tag, int &tag_size) const |
Get the array length of a tag. More... | |
virtual ErrorCode | tag_get_default_value (const Tag tag, void *def_val) const |
Get the default value of the specified tag. More... | |
virtual ErrorCode | tag_get_default_value (Tag tag, const void *&ptr, int &size) const |
Get a tag handle, possibly creating the tag. More... | |
virtual ErrorCode | tag_get_type (const Tag, TagType &tag_type) const |
get type of tag (sparse, dense, etc.; 0 = dense, 1 = sparse, 2 = bit, 3 = mesh) More... | |
virtual ErrorCode | tag_get_data_type (const Tag handle, DataType &type) const |
Get data type of tag. More... | |
virtual ErrorCode | tag_get_tags (std::vector< Tag > &tag_handles) const |
get handles for all tags defined More... | |
virtual ErrorCode | tag_get_data (const Tag tag_handle, const EntityHandle *entity_handles, const int num_entities, void *tag_data) const |
return the tag data for a given EntityHandle and Tag More... | |
virtual ErrorCode | tag_get_data (const Tag tag_handle, const Range &entity_handles, void *tag_data) const |
return the tag data for a given EntityHandle and Tag More... | |
virtual ErrorCode | tag_set_data (Tag tag_handle, const EntityHandle *entity_handles, int num_entities, const void *tag_data) |
Sets the data of a given EntityHandle and Tag. More... | |
virtual ErrorCode | tag_set_data (Tag tag_handle, const Range &entity_handles, const void *tag_data) |
set the data for given EntityHandles and Tag More... | |
virtual ErrorCode | tag_get_by_ptr (const Tag tag_handle, const EntityHandle *entity_handles, int num_entities, const void **tag_data, int *tag_sizes=0) const |
Get pointers to tag data. More... | |
virtual ErrorCode | tag_get_by_ptr (const Tag tag_handle, const Range &entity_handles, const void **tag_data, int *tag_sizes=0) const |
Get pointers to tag data. More... | |
virtual ErrorCode | tag_set_by_ptr (Tag tag_handle, const EntityHandle *entity_handles, int num_entities, void const *const *tag_data, const int *tag_sizes=0) |
Set tag data given an array of pointers to tag values. More... | |
virtual ErrorCode | tag_set_by_ptr (Tag tag_handle, const Range &entity_handles, void const *const *tag_data, const int *tag_sizes=0) |
Set tag data given an array of pointers to tag values. More... | |
virtual ErrorCode | tag_clear_data (Tag tag_handle, const Range &entity_handles, const void *tag_data, int tag_size=0) |
Set tag data given value. More... | |
virtual ErrorCode | tag_clear_data (Tag tag_handle, const EntityHandle *entity_handles, int num_entities, const void *tag_data, int tag_size=0) |
Set tag data given value. More... | |
virtual ErrorCode | tag_delete_data (Tag tag_handle, const EntityHandle *entity_handles, int num_entities) |
Delete the data of a vector of entity handles and sparse tag. More... | |
virtual ErrorCode | tag_delete_data (Tag tag_handle, const Range &entity_handles) |
Delete the data of a range of entity handles and sparse tag. More... | |
virtual ErrorCode | tag_delete (Tag tag_handle) |
Removes the tag from the database and deletes all of its associated data. More... | |
virtual ErrorCode | tag_iterate (Tag tag_handle, Range::const_iterator iter, Range::const_iterator end, int &count, void *&data_ptr, bool allocate=true) |
Access tag data via direct pointer into contiguous blocks. More... | |
virtual ErrorCode | create_meshset (const unsigned int options, EntityHandle &ms_handle, int start_id=0) |
creates a mesh set More... | |
virtual ErrorCode | clear_meshset (const EntityHandle *ms_handles, const int num_meshsets) |
Empty a vector of mesh set. More... | |
virtual ErrorCode | clear_meshset (const Range &ms_handles) |
Empty a range of mesh set. More... | |
virtual ErrorCode | get_meshset_options (const EntityHandle ms_handle, unsigned int &options) const |
get the options of a mesh set More... | |
virtual ErrorCode | set_meshset_options (const EntityHandle ms_handle, const unsigned int options) |
set the options of a mesh set More... | |
virtual ErrorCode | subtract_meshset (EntityHandle meshset1, const EntityHandle meshset2) |
subtracts meshset2 from meshset1 - modifies meshset1 More... | |
virtual ErrorCode | intersect_meshset (EntityHandle meshset1, const EntityHandle meshset2) |
intersects meshset2 with meshset1 - modifies meshset1 More... | |
virtual ErrorCode | unite_meshset (EntityHandle meshset1, const EntityHandle meshset2) |
unites meshset2 with meshset1 - modifies meshset1 More... | |
virtual ErrorCode | add_entities (EntityHandle meshset, const Range &entities) |
add entities to meshset More... | |
virtual ErrorCode | add_entities (EntityHandle meshset, const EntityHandle *entities, const int num_entities) |
add entities to meshset More... | |
virtual ErrorCode | remove_entities (EntityHandle meshset, const Range &entities) |
remove entities from meshset More... | |
virtual ErrorCode | remove_entities (EntityHandle meshset, const EntityHandle *entities, const int num_entities) |
remove entities from meshset More... | |
virtual bool | contains_entities (EntityHandle meshset, const EntityHandle *entities, int num_entities, const int operation_type=Interface::INTERSECT) |
return true if all entities are contained in set More... | |
virtual ErrorCode | replace_entities (EntityHandle meshset, const EntityHandle *old_entities, const EntityHandle *new_entities, int num_entities) |
replace entities More... | |
virtual ErrorCode | get_parent_meshsets (const EntityHandle meshset, std::vector< EntityHandle > &parents, const int num_hops=1) const |
get parent meshsets More... | |
virtual ErrorCode | get_parent_meshsets (const EntityHandle meshset, Range &parents, const int num_hops=1) const |
get parent meshsets More... | |
virtual ErrorCode | get_child_meshsets (const EntityHandle meshset, std::vector< EntityHandle > &children, const int num_hops=1) const |
get child meshsets More... | |
virtual ErrorCode | get_child_meshsets (const EntityHandle meshset, Range &children, const int num_hops=1) const |
get child meshsets More... | |
virtual ErrorCode | get_contained_meshsets (const EntityHandle meshset, std::vector< EntityHandle > &children, const int num_hops=1) const |
get contained meshsets More... | |
virtual ErrorCode | get_contained_meshsets (const EntityHandle meshset, Range &children, const int num_hops=1) const |
get contained meshsets More... | |
virtual ErrorCode | num_parent_meshsets (const EntityHandle meshset, int *number, const int num_hops=1) const |
gets number of parent meshsets More... | |
virtual ErrorCode | num_child_meshsets (const EntityHandle meshset, int *number, const int num_hops=1) const |
gets number of child meshsets More... | |
virtual ErrorCode | num_contained_meshsets (const EntityHandle meshset, int *number, const int num_hops=1) const |
gets number of contained meshsets More... | |
virtual ErrorCode | add_parent_meshset (EntityHandle meshset, const EntityHandle parent_meshset) |
add a parent meshset More... | |
virtual ErrorCode | add_parent_meshsets (EntityHandle meshset, const EntityHandle *parents, int count) |
add parent meshsets More... | |
virtual ErrorCode | add_child_meshset (EntityHandle meshset, const EntityHandle child_meshset) |
add a child meshset More... | |
virtual ErrorCode | add_child_meshsets (EntityHandle meshset, const EntityHandle *children, int count) |
add parent meshsets More... | |
virtual ErrorCode | add_parent_child (EntityHandle parent, EntityHandle child) |
adds 'parent' to child's parent list and adds 'child' to parent's child list More... | |
virtual ErrorCode | remove_parent_child (EntityHandle parent, EntityHandle child) |
removes 'parent' to child's parent list and removes 'child' to parent's child list More... | |
virtual ErrorCode | remove_parent_meshset (EntityHandle meshset, const EntityHandle parent_meshset) |
remove parent meshset More... | |
virtual ErrorCode | remove_child_meshset (EntityHandle meshset, const EntityHandle child_meshset) |
remove child meshset More... | |
Tag | material_tag () |
return various specific tag handles More... | |
Tag | neumannBC_tag () |
Tag | dirichletBC_tag () |
Tag | globalId_tag () |
Get parent mesh sets of a mesh set. More... | |
Tag | geom_dimension_tag () |
SequenceManager * | sequence_manager () |
get/set the number of nodes More... | |
const SequenceManager * | sequence_manager () const |
ErrorCode | create_scd_sequence (const HomCoord &coord_min, const HomCoord &coord_max, EntityType type, EntityID start_id_hint, EntityHandle &first_handle_out, EntitySequence *&sequence_out) |
create structured sequence More... | |
ErrorCode | add_vsequence (EntitySequence *vert_seq, EntitySequence *elem_seq, const HomCoord &p1, const HomCoord &q1, const HomCoord &p2, const HomCoord &q2, const HomCoord &p3, const HomCoord &q3, bool bb_input=false, const HomCoord *bb_min=NULL, const HomCoord *bb_max=NULL) |
AEntityFactory * | a_entity_factory () |
return the a_entity_factory pointer More... | |
const AEntityFactory * | a_entity_factory () const |
ReaderWriterSet * | reader_writer_set () |
return set of registered IO tools More... | |
void | print (const EntityHandle handle, const char *prefix, bool first_call=true) const |
ErrorCode | print_entity_tags (std::string indent_prefix, const EntityHandle handle, TagType tp) const |
virtual ErrorCode | get_last_error (std::string &info) const |
Return information about the last error. More... | |
virtual std::string | get_error_string (const ErrorCode code) const |
Return string representation of given error code. More... | |
ErrorCode | check_adjacencies () |
check all adjacencies for consistency More... | |
ErrorCode | check_adjacencies (const EntityHandle *ents, int num_ents) |
check some adjacencies for consistency More... | |
bool | is_valid (const EntityHandle this_ent) const |
return whether the input handle is valid or not More... | |
virtual ErrorCode | create_set_iterator (EntityHandle meshset, EntityType ent_type, int ent_dim, int chunk_size, bool check_valid, SetIterator *&set_iter) |
Create an iterator over the set Create a new iterator that iterates over entities with the specified type or dimension. Only one of ent_type or dim can be set; use dim=-1 or ent_type=MBMAXTYPE for the other. Iterators for list-type (ordered) sets are stable over set modification, unless entity removed or deleted is the one at the current position of the iterator. If the check_valid parameter is passed as true, entities are checked for validity before being passed back by get_next_entities function (checking entity validity can have a non-negligible cost). More... | |
ErrorCode | remove_set_iterator (SetIterator *set_iter) |
Remove the set iterator from the instance's list. More... | |
ErrorCode | get_set_iterators (EntityHandle meshset, std::vector< SetIterator * > &set_iters) |
Get all set iterators associated with the set passed in. More... | |
void | estimated_memory_use (const EntityHandle *ent_array=0, unsigned long num_ents=0, unsigned long long *total_storage=0, unsigned long long *total_amortized_storage=0, unsigned long long *entity_storage=0, unsigned long long *amortized_entity_storage=0, unsigned long long *adjacency_storage=0, unsigned long long *amortized_adjacency_storage=0, const Tag *tag_array=0, unsigned num_tags=0, unsigned long long *tag_storage=0, unsigned long long *amortized_tag_storage=0) |
Calculate amount of memory used to store MOAB data. More... | |
void | estimated_memory_use (const Range &ents, unsigned long long *total_storage=0, unsigned long long *total_amortized_storage=0, unsigned long long *entity_storage=0, unsigned long long *amortized_entity_storage=0, unsigned long long *adjacency_storage=0, unsigned long long *amortized_adjacency_storage=0, const Tag *tag_array=0, unsigned num_tags=0, unsigned long long *tag_storage=0, unsigned long long *amortized_tag_storage=0) |
Calculate amount of memory used to store MOAB data. More... | |
void | print_database () const |
Sequence Option controllers | |
virtual double | get_sequence_multiplier () const |
Interface to control memory allocation for sequences Provide a factor that controls the size of the sequence that gets allocated. This is typically useful in the parallel setting when a-priori, the number of ghost entities and the memory required for them within the same sequence as the owned entities are unknown. The default factor is 1.0 but this can be appropriately updated at runtime so that we do not have broken sequences. More... | |
virtual void | set_sequence_multiplier (double factor) |
Interface to control memory allocation for sequences Provide a factor that controls the size of the sequence that gets allocated. This is typically useful in the parallel setting when a-priori, the number of ghost entities and the memory required for them within the same sequence as the owned entities are unknown. The default factor is 1.0 but this can be appropriately updated at runtime so that we do not have broken sequences. More... | |
Public Member Functions inherited from moab::Interface | |
Interface () | |
constructor More... | |
virtual | ~Interface () |
destructor More... | |
template<class IFace > | |
ErrorCode | query_interface (IFace *&ptr) |
Get a pointer to an internal MOAB interface. More... | |
template<class IFace > | |
ErrorCode | release_interface (IFace *interface) |
constructor More... | |
virtual float | api_version (std::string *version_string=NULL) |
Release reference to MB interface. More... | |
virtual ErrorCode | add_adjacencies (const EntityHandle from_handle, const EntityHandle *to_handles, const int num_handles, bool both_ways)=0 |
Adds adjacencies between "from" and "to" entities. More... | |
virtual ErrorCode | add_adjacencies (const EntityHandle from_handle, Range &adjacencies, bool both_ways)=0 |
Adds adjacencies; same as vector-based, but with range instead. More... | |
virtual ErrorCode | remove_adjacencies (const EntityHandle from_handle, const EntityHandle *to_handles, const int num_handles)=0 |
Removes adjacencies between handles. More... | |
Public Member Functions inherited from moab::UnknownInterface | |
virtual | ~UnknownInterface () |
Private Member Functions | |
Core (const Core ©) | |
Do not allow copying. More... | |
Core & | operator= (const Core ©) |
Do not allow copying. More... | |
void | estimated_memory_use_internal (const Range *ents, unsigned long long *total_storage, unsigned long long *total_amortized_storage, unsigned long long *entity_storage, unsigned long long *amortized_entity_storage, unsigned long long *adjacency_storage, unsigned long long *amortized_adjacency_storage, const Tag *tag_array, unsigned num_tags, unsigned long long *tag_storage, unsigned long long *amortized_tag_storage) |
ErrorCode | initialize () |
database init and de-init routines More... | |
void | deinitialize () |
EntityHandle | get_root_set () |
return the entity set representing the whole mesh More... | |
void | clean_up_failed_read (const Range &initial_ents, std::vector< Tag > initial_tags) |
Clean up after a file reader returns failure. More... | |
bool | valid_tag_handle (const TagInfo *t) const |
Private Attributes | |
WriteUtil * | mMBWriteUtil |
ReadUtil * | mMBReadUtil |
ScdInterface * | scdInterface |
int | geometricDimension |
store the total number of elements defined in this interface More... | |
Tag | materialTag |
Tag | neumannBCTag |
Tag | dirichletBCTag |
Tag | geomDimensionTag |
Tag | globalIdTag |
std::list< TagInfo * > | tagList |
tag server for this interface More... | |
SequenceManager * | sequenceManager |
AEntityFactory * | aEntityFactory |
ReaderWriterSet * | readerWriterSet |
Error * | mError |
bool | mpiFinalize |
int | writeMPELog |
bool | initErrorHandlerInCore |
std::vector< SetIterator * > | setIterators |
list of iterators More... | |
Friends | |
class | SetIterator |
Implementation of MOAB Interface Implementation of the MOAB Interface class. You shouldn't call functions directly on an object of type Core (use Interface instead), unless you really have to access non-API functionality.
typedef unsigned long long moab::Core::type_memstorage |
moab::Core::Core | ( | ) |
constructor
Constructor.
Definition at line 170 of file Core.cpp.
References GaussIntegration::initialize(), and MB_SUCCESS.
|
private |
Do not allow copying.
|
inline |
return the a_entity_factory pointer
Definition at line 1069 of file Core.hpp.
References aEntityFactory.
Referenced by moab::HigherOrderFactory::center_node_exist(), moab::Skinner::find_skin(), moab::WriteUtil::get_adjacencies(), moab::HigherOrderFactory::tag_for_deletion(), and moab::ReadUtil::update_adjacencies().
|
inline |
Definition at line 1073 of file Core.hpp.
References aEntityFactory.
|
virtual |
add a child meshset
Implements moab::Interface.
Definition at line 3551 of file Core.cpp.
References moab::MeshSet::add_child(), moab::get_mesh_set(), MB_ENTITY_NOT_FOUND, and MB_SUCCESS.
|
virtual |
add parent meshsets
Implements moab::Interface.
Definition at line 3561 of file Core.cpp.
References moab::MeshSet::add_child(), children, moab::get_mesh_set(), MB_ENTITY_NOT_FOUND, and MB_SUCCESS.
|
virtual |
add entities to meshset
Implements moab::Interface.
Definition at line 3352 of file Core.cpp.
References moab::MeshSet::add_entities(), entities, moab::get_mesh_set(), and MB_ENTITY_NOT_FOUND.
|
virtual |
add entities to meshset
Implements moab::Interface.
Definition at line 3343 of file Core.cpp.
References moab::MeshSet::add_entities(), entities, moab::get_mesh_set(), and MB_ENTITY_NOT_FOUND.
Referenced by moab::NestedRefine::create_hm_storage_single_level(), moab::NestedRefine::exchange_ghosts(), main(), process_partition_file(), moab::ReorderTool::update_set_contents(), and moab::NestedRefine::update_special_tags().
|
virtual |
adds 'parent' to child's parent list and adds 'child' to parent's child list
Implements moab::Interface.
Definition at line 3574 of file Core.cpp.
References moab::MeshSet::add_child(), moab::MeshSet::add_parent(), child, moab::get_mesh_set(), MB_ENTITY_NOT_FOUND, and MB_SUCCESS.
Referenced by main().
|
virtual |
add a parent meshset
Implements moab::Interface.
Definition at line 3528 of file Core.cpp.
References moab::MeshSet::add_parent(), moab::get_mesh_set(), MB_ENTITY_NOT_FOUND, and MB_SUCCESS.
|
virtual |
add parent meshsets
Implements moab::Interface.
Definition at line 3538 of file Core.cpp.
References moab::MeshSet::add_parent(), moab::get_mesh_set(), MB_ENTITY_NOT_FOUND, and MB_SUCCESS.
ErrorCode moab::Core::add_vsequence | ( | EntitySequence * | vert_seq, |
EntitySequence * | elem_seq, | ||
const HomCoord & | p1, | ||
const HomCoord & | q1, | ||
const HomCoord & | p2, | ||
const HomCoord & | q2, | ||
const HomCoord & | p3, | ||
const HomCoord & | q3, | ||
bool | bb_input = false , |
||
const HomCoord * | bb_min = NULL , |
||
const HomCoord * | bb_max = NULL |
||
) |
Definition at line 4262 of file Core.cpp.
|
virtual |
Get a ptr to adjacency lists Get a pointer to adjacency lists. These lists are std::vector<EntityHandle>, which are pointed to by adjs[i]. Adjacencies are not guaranteed to be in order of increasing dimension. Only a const version of this function is given, because adjacency data is managed more carefully in MOAB and should be treated as read-only by applications. If adjacencies have not yet been initialized, adjs_ptr will be NULL (i.e. adjs_ptr == NULL). There may also be NULL entries for individual entities, i.e. adjs_ptr[i] == NULL.
iter | Iterator to beginning of entity range desired |
end | End iterator for which adjacencies are requested |
adjs_ptr | Pointer to pointer to const std::vector<EntityHandle>; each member of that array is the vector of adjacencies for this entity |
count | Number of entities in the contiguous chunk starting from *iter |
Implements moab::Interface.
Definition at line 1804 of file Core.cpp.
References moab::EntitySequence::data(), moab::Range::const_iterator::end_of_block(), ErrorCode, moab::SequenceData::get_adjacency_data(), MB_ENTITY_NOT_FOUND, MB_SUCCESS, MB_TYPE_OUT_OF_RANGE, MBENTITYSET, moab::SequenceData::start_handle(), and moab::TYPE_FROM_HANDLE().
ErrorCode moab::Core::check_adjacencies | ( | ) |
check all adjacencies for consistency
Definition at line 3763 of file Core.cpp.
References moab::Range::begin(), moab::Range::end(), ErrorCode, MB_CHK_ERR, and MB_SUCCESS.
ErrorCode moab::Core::check_adjacencies | ( | const EntityHandle * | ents, |
int | num_ents | ||
) |
check some adjacencies for consistency
Definition at line 3777 of file Core.cpp.
References moab::Range::begin(), dim, moab::Range::end(), moab::CN::EntityTypeName(), ErrorCode, moab::Range::find(), moab::ID_FROM_HANDLE(), MB_MULTIPLE_ENTITIES_FOUND, MB_SUCCESS, MBENTITYSET, moab::TYPE_FROM_HANDLE(), and moab::Interface::UNION.
|
private |
Clean up after a file reader returns failure.
Delete all entities not contained in initial_entities and all tags not contained in initial_tags.
Definition at line 491 of file Core.cpp.
References moab::subtract().
|
virtual |
Empty a vector of mesh set.
Empty a mesh set.
ms_handles | 1d vector of handles of sets being emptied |
num_meshsets | Number of entities in 1d vector |
Implements moab::Interface.
Definition at line 3286 of file Core.cpp.
References moab::MeshSet::clear(), ErrorCode, moab::get_mesh_set(), MB_ENTITY_NOT_FOUND, and MB_SUCCESS.
Referenced by main(), process_partition_file(), moab::AEntityFactory::remove_all_adjacencies(), and moab::ReorderTool::update_set_contents().
Empty a range of mesh set.
Empty a mesh set.
ms_handles | Range of handles of sets being emptied |
Implements moab::Interface.
Definition at line 3301 of file Core.cpp.
References moab::Range::begin(), moab::MeshSet::clear(), moab::Range::end(), ErrorCode, moab::get_mesh_set(), MB_ENTITY_NOT_FOUND, and MB_SUCCESS.
|
virtual |
get pointer to connectivity data
Implements moab::Interface.
Definition at line 1682 of file Core.cpp.
References moab::EntitySequence::end_handle(), moab::Range::const_iterator::end_of_block(), ErrorCode, moab::ElementSequence::get_connectivity_array(), MB_ENTITY_NOT_FOUND, MB_SET_ERR, MB_SUCCESS, MB_TYPE_OUT_OF_RANGE, MBENTITYSET, moab::ElementSequence::nodes_per_element(), moab::EntitySequence::start_handle(), and moab::TYPE_FROM_HANDLE().
|
virtual |
return true if all entities are contained in set
Implements moab::Interface.
Definition at line 3382 of file Core.cpp.
References entities, and moab::get_mesh_set().
Referenced by moab::numAdjTriInSet().
|
virtual |
Convert entities to higher-order elements by adding mid nodes.
This function causes MB to create mid-nodes on all edges, faces, and element interiors for all entities in meshset. Higher order nodes appear in an element's connectivity array according to the algorithm described in the documentation for Mesh. If HONodeAddedRemoved function is input, this function is called to notify the application of nodes being added/removed from the mesh.
meshset | The set of entities being converted |
mid_edge | If true, mid-edge nodes are created |
mid_face | If true, mid-face nodes are created |
mid_region | If true, mid-element nodes are created |
function_object | If non-NULL, the node_added or node_removed functions on this object are called when nodes are added or removed from an entity, respectively |
Implements moab::Interface.
Definition at line 2998 of file Core.cpp.
References moab::HigherOrderFactory::convert().
Referenced by main().
|
virtual |
get pointers to coordinate data
Implements moab::Interface.
Definition at line 827 of file Core.cpp.
References moab::EntitySequence::data(), moab::EntitySequence::end_handle(), moab::Range::const_iterator::end_of_block(), ErrorCode, moab::SequenceData::get_sequence_data(), MB_ENTITY_NOT_FOUND, MB_SET_ERR, MB_SUCCESS, and moab::SequenceData::start_handle().
|
virtual |
Creates an element based on the type and connectivity.
creates an element based on the type and connectivity. returns a handle and error code
If connectivity vector is not correct for EntityType type (ie, a vector with 3 vertices is passed in to make an MBQUAD), the function returns MB_FAILURE.
type | Type of element to create. (MBTET, MBTRI, MBKNIFE, etc.) |
connectivity | Vector containing connectivity of element to create. |
handle | EntityHandle representing the newly created element in the database. |
Example:
Implements moab::Interface.
Definition at line 2640 of file Core.cpp.
References ErrorCode, MB_SUCCESS, and moab::CN::VerticesPerEntity().
Referenced by moab::AEntityFactory::get_down_adjacency_elements_poly(), moab::AEntityFactory::get_element(), main(), and obbvis_create().
|
virtual |
creates a mesh set
Implements moab::Interface.
Definition at line 3258 of file Core.cpp.
Referenced by moab::ReadUtil::create_gather_set(), moab::NestedRefine::create_hm_storage_single_level(), main(), process_partition_file(), and RuntimeContext::RuntimeContext().
ErrorCode moab::Core::create_scd_sequence | ( | const HomCoord & | coord_min, |
const HomCoord & | coord_max, | ||
EntityType | type, | ||
EntityID | start_id_hint, | ||
EntityHandle & | first_handle_out, | ||
EntitySequence *& | sequence_out | ||
) |
create structured sequence
Definition at line 4239 of file Core.cpp.
References ErrorCode, moab::ScdBox::get_element(), moab::ScdBox::get_vertex(), MB_CHK_ERR, and MBVERTEX.
|
virtual |
Create an iterator over the set Create a new iterator that iterates over entities with the specified type or dimension. Only one of ent_type or dim can be set; use dim=-1 or ent_type=MBMAXTYPE for the other. Iterators for list-type (ordered) sets are stable over set modification, unless entity removed or deleted is the one at the current position of the iterator. If the check_valid parameter is passed as true, entities are checked for validity before being passed back by get_next_entities function (checking entity validity can have a non-negligible cost).
Iterators returned by this function can be deleted using the normal C++ delete function. After creating the iterator through this function, further interactions are through methods on the SetIterator class.
meshset | The entity set associated with this iterator (use 0 for whole instance) |
ent_type | Entity type associated with this iterator |
ent_dim | Dimension associated with this iterator |
chunk_size | Chunk size of the iterator |
check_valid | If true, entities are checked for validity before being returned |
Implements moab::Interface.
Definition at line 3870 of file Core.cpp.
References ErrorCode, MB_CHK_ERR, MB_SUCCESS, and MESHSET_SET.
|
virtual |
Creates a vertex based on coordinates.
creates a vertex based on coordinates, returns a handle and error code
coordinates | Array that has 3 doubles in it. |
entity_handle | EntityHandle representing the newly created vertex in the database. |
Example:
Implements moab::Interface.
Definition at line 2659 of file Core.cpp.
Referenced by moab::HigherOrderFactory::add_mid_edge_nodes(), moab::HigherOrderFactory::add_mid_face_nodes(), and moab::HigherOrderFactory::add_mid_volume_nodes().
|
virtual |
Create a set of vertices with the specified coordinates.
coordinates | Array that has 3*n doubles in it. |
nverts | Number of vertices to create |
entity_handles | Range passed back with new vertex handles |
Implements moab::Interface.
Definition at line 2665 of file Core.cpp.
References moab::Range::clear(), ErrorCode, moab::ReadUtilIface::get_node_coords(), moab::Range::insert(), MB_CHK_ERR, MB_START_ID, MB_SUCCESS, moab::Interface::query_interface(), and moab::Interface::release_interface().
Referenced by main(), obbvis_create(), and TestErrorHandling_4().
|
private |
Definition at line 261 of file Core.cpp.
References moab::ParallelComm::get_all_pcomm(), moab::MBErrorHandler_Finalize(), MOAB_MPE_LOG, and MPE_Finish_log.
|
virtual |
Removes entities in a vector from the data base.
deletes an entity vector
If any of the entities are contained in any meshsets, it is removed from those meshsets which were created with MESHSET_TRACK_OWNER option bit set. Tags for entity< > are removed as part of this function.
entities | 1d vector of entities to delete |
num_entities | Number of entities in 1d vector |
Implements moab::Interface.
Definition at line 2793 of file Core.cpp.
References moab::Range::clear(), entities, ErrorCode, moab::get_mesh_set(), MB_SUCCESS, MB_TAG_NOT_FOUND, MBENTITYSET, and moab::TYPE_FROM_HANDLE().
Referenced by moab::HigherOrderFactory::convert_sequence(), and main().
Removes entities in a range from the data base.
deletes an entity range
If any of the entities are contained in any meshsets, it is removed from those meshsets which were created with MESHSET_TRACK_OWNER option bit set. Tags for entity< > are removed as part of this function.
entities | Range of entities to delete |
Implements moab::Interface.
Definition at line 2738 of file Core.cpp.
References moab::Range::empty(), ErrorCode, moab::get_mesh_set(), moab::Range::insert(), MB_SUCCESS, MB_TAG_NOT_FOUND, MBENTITYSET, moab::Range::rbegin(), moab::Range::rend(), moab::subtract(), and moab::TYPE_FROM_HANDLE().
|
virtual |
deletes all mesh entities from this datastore
Implements moab::Interface.
Definition at line 747 of file Core.cpp.
References ErrorCode, MB_CHK_ERR, and MB_SUCCESS.
Referenced by main().
|
virtual |
Returns the topological dimension of an entity.
Returns the topological dimension of an entity.
handle | The EntityHandle you want to find the dimension of. |
Example:
Implements moab::Interface.
Definition at line 400 of file Core.cpp.
References moab::CN::Dimension(), and moab::TYPE_FROM_HANDLE().
Referenced by moab::AEntityFactory::check_equiv_entities(), moab::AEntityFactory::create_explicit_adjs(), moab::HalfFacetRep::get_adjacencies(), moab::HalfFacetRep::get_down_adjacencies(), moab::AEntityFactory::get_element(), moab::HalfFacetRep::get_neighbor_adjacencies(), moab::HalfFacetRep::get_up_adjacencies(), and moab::HigherOrderFactory::tag_for_deletion().
Tag moab::Core::dirichletBC_tag | ( | ) |
Definition at line 2613 of file Core.cpp.
References DIRICHLET_SET_TAG_NAME, MB_TAG_CREAT, MB_TAG_SPARSE, and MB_TYPE_INTEGER.
|
virtual |
Calculate amount of memory used to store MOAB data.
This function calculates the amount of memory used to store MOAB data.
There are two possible values for each catagory of memory use. The exact value and the amortized value. The exact value is the amount of memory used to store the data for the specified entities. The amortized value includes the exact value and an amortized estimate of the memory consumed in overhead for storing the values (indexing structures, access structures, etc.)
Note: If ent_array is NULL, the total memory used by MOAB for storing data will be returned in the address pointed to by total_amortized_storage, if total_amortized_storage is not NULL.
ent_array | Array of entities for which to estimate the memory use. If NULL, estimate is done for all entities. |
num_ents | The length of ent_array. Not used if ent_rray is NULL. |
total_(amortized_)storage | The sum of the memory entity, adjacency, and all tag storage. |
(amortized_)entity_storage | The storage for the entity definitions (connectivity arrays for elements, coordinates for vertices, list storage within sets, etc.) |
(amortized_)adjacency_storage | The storage for adjacency data. |
tag_array | An array of tags for which to calculate the memory use. |
num_tags | The lenght of tag_array |
(amortized_)tag_storage | If tag_array is not NULL, then one value for each tag specifying the memory used for storing that tag. If tag_array is NULL and this value is not, the location at which to store the total memory used for all tags. |
Implements moab::Interface.
Definition at line 4074 of file Core.cpp.
References moab::Range::begin(), and moab::Range::insert().
|
virtual |
Calculate amount of memory used to store MOAB data.
This function calculates the amount of memory used to store MOAB data.
There are two possible values for each catagory of memory use. The exact value and the amortized value. The exact value is the amount of memory used to store the data for the specified entities. The amortized value includes the exact value and an amortized estimate of the memory consumed in overhead for storing the values (indexing structures, access structures, etc.)
ents | Entities for which to estimate the memory use. |
total_(amortized_)storage | The sum of the memory entity, adjacency, and all tag storage. |
(amortized_)entity_storage | The storage for the entity definitions (connectivity arrays for elements, coordinates for vertices, list storage within sets, etc.) |
(amortized_)adjacency_storage | The storage for adjacency data. |
tag_array | An array of tags for which to calculate the memory use. |
num_tags | The lenght of tag_array |
(amortized_)tag_storage | If tag_array is not NULL, then one value for each tag specifying the memory used for storing that tag. If tag_array is NULL and this value is not, the location at which to store the total memory used for all tags. |
Implements moab::Interface.
Definition at line 4112 of file Core.cpp.
|
private |
Definition at line 3923 of file Core.cpp.
References moab::TagInfo::get_memory_use(), MBMAXTYPE, and moab::TagInfo::num_tagged_entities().
Tag moab::Core::geom_dimension_tag | ( | ) |
Definition at line 2630 of file Core.cpp.
References GEOM_DIMENSION_TAG_NAME, MB_TAG_CREAT, MB_TAG_SPARSE, and MB_TYPE_INTEGER.
|
virtual |
Get the adjacencies associated with a vector of entities to entities of a specfied dimension.
Identical to vector-based get_adjacencies function, except results are returned in a range instead of a vector.
Implements moab::Interface.
Definition at line 1608 of file Core.cpp.
References moab::get_adjacencies_intersection(), moab::get_adjacencies_union(), moab::Interface::INTERSECT, and moab::Interface::UNION.
|
virtual |
get the adjacencies associated with a set of entities
from_entities | vector of EntityHandle to get adjacencies of. |
to_dimension | Dimension of desired adjacency information. |
adj_entities | Vector in which adjacent EntityHandles are returned. |
operation_type | enum of INTERSECT or UNION. Defines whether to take the intersection or union of the set of adjacencies recovered for the from_entities. |
The adjacent entities in vector adjacencies are not in any particular order.
Example:
Implements moab::Interface.
Definition at line 1513 of file Core.cpp.
References ErrorCode, moab::get_adjacencies_intersection(), moab::Interface::INTERSECT, MB_CHK_ERR, MB_SUCCESS, MBPOLYHEDRON, moab::TYPE_FROM_HANDLE(), and moab::Interface::UNION.
Referenced by moab::DualTool::check_dual_equiv_edges(), moab::AEntityFactory::check_equiv_entities(), moab::AEntityFactory::create_explicit_adjs(), moab::NestedRefine::exchange_ghosts(), moab::ReadUtil::gather_related_ents(), gather_set_stats(), get_adjacent_elems(), moab::AEntityFactory::get_down_adjacency_elements_poly(), moab::AEntityFactory::get_polyhedron_vertices(), moab::AEntityFactory::get_up_adjacency_elements(), moab::AEntityFactory::get_vertices(), hcFilter(), moab::ReorderTool::int_order_from_sets_and_adj(), laplacianFilter(), main(), moab::AEntityFactory::merge_adjust_adjacencies(), moab::numAdjTriInSet(), perform_lloyd_relaxation(), tag_depth(), and moab::HiReconstruction::vertex_get_incident_elements().
|
virtual |
Get the adjacencies associated with a range of entities to entities of a specfied dimension.
Identical to vector-based get_adjacencies function, except "from" entities specified in a range instead of a vector.
Implements moab::Interface.
Definition at line 1744 of file Core.cpp.
References moab::Range::begin(), moab::Range::end(), moab::get_adjacencies_intersection(), moab::get_adjacencies_union(), moab::Interface::INTERSECT, and moab::Interface::UNION.
|
virtual |
get child meshsets
Implements moab::Interface.
Definition at line 3447 of file Core.cpp.
References children, ErrorCode, MB_CHK_ERR, MB_ENTITY_NOT_FOUND, and MB_SUCCESS.
|
virtual |
get child meshsets
Implements moab::Interface.
Definition at line 3433 of file Core.cpp.
References children, ErrorCode, moab::MeshSetSequence::get_children(), MB_ENTITY_NOT_FOUND, and MB_SUCCESS.
Referenced by moab::ReadUtil::gather_related_ents().
|
virtual |
Gets the connectivity for a vector of elements.
get the connectivity for element /handles. For non-element handles, return an error
Same as vector-based version except range is returned (unordered!)
Implements moab::Interface.
Definition at line 1143 of file Core.cpp.
References ErrorCode, and MB_CHK_ERR.
|
virtual |
Gets the connectivity for an element EntityHandle.
get the connectivity for element /handles. For non-element handles, return an error
For non-element handles (ie, MeshSets), returns an error. Connectivity data is copied from the database into the vector connectivity. The nodes in connectivity are properly ordered.
entity_handle | EntityHandle to get connectivity of. |
connectivity | Vector in which connectivity of entity_handle is returned. Should contain MeshVertices. |
corners_only | If true, returns only corner vertices, otherwise returns all of them (including any higher-order vertices) |
Example:
Implements moab::Interface.
Definition at line 1157 of file Core.cpp.
References ErrorCode, MB_CHK_ERR, and MB_SUCCESS.
Referenced by moab::HalfFacetRep::add_cells_of_single_component(), moab::HalfFacetRep::another_halfedge(), moab::HiReconstruction::average_vertex_normal(), moab::HiReconstruction::average_vertex_tangent(), moab::HigherOrderFactory::center_node_exist(), moab::HalfFacetRep::collect_and_compare(), moab::HalfFacetRep::determine_border_vertices(), moab::HalfFacetRep::determine_incident_halfedges(), moab::HalfFacetRep::determine_incident_halffaces(), moab::HalfFacetRep::determine_incident_halfverts(), moab::HalfFacetRep::determine_sibling_halfedges(), moab::HalfFacetRep::determine_sibling_halffaces(), moab::HalfFacetRep::determine_sibling_halfverts(), moab::AEntityFactory::entities_equivalent(), moab::NestedRefine::exchange_ghosts(), moab::HalfFacetRep::find_matching_halfedge(), moab::HalfFacetRep::find_matching_halfface(), moab::HalfFacetRep::find_matching_implicit_edge_in_cell(), moab::WriteUtil::gather_nodes_from_elements(), gather_set_stats(), moab::AEntityFactory::get_adjacencies(), moab::NestedRefine::get_connectivity(), moab::HalfFacetRep::get_down_adjacencies_2d(), moab::HalfFacetRep::get_down_adjacencies_edg_3d(), moab::HalfFacetRep::get_down_adjacencies_face_3d(), moab::AEntityFactory::get_down_adjacency_elements(), moab::AEntityFactory::get_down_adjacency_elements_poly(), moab::HalfFacetRep::get_face_edges(), moab::HalfFacetRep::get_half_facet_in_comp(), moab::ReadUtil::get_ordered_vertices(), moab::AEntityFactory::get_polyhedron_vertices(), moab::HalfFacetRep::get_up_adjacencies_2d(), moab::HalfFacetRep::get_up_adjacencies_edg_3d(), moab::HalfFacetRep::get_up_adjacencies_edg_3d_comp(), moab::HalfFacetRep::get_up_adjacencies_vert_3d(), moab::AEntityFactory::get_up_adjacency_elements(), moab::AEntityFactory::get_vertices(), hcFilter(), moab::HiReconstruction::hiproj_walf_in_element(), laplacianFilter(), main(), moab::HalfFacetRep::mark_halfedges(), moab::AEntityFactory::merge_adjust_adjacencies(), moab::HiReconstruction::obtain_nring_ngbvs(), perform_laplacian_smoothing(), perform_lloyd_relaxation(), moab::ReorderTool::reorder_entities(), moab::HigherOrderFactory::tag_for_deletion(), test_spectral_quad(), moab::NestedRefine::update_global_ahf_3D(), and moab::NestedRefine::update_special_tags().
|
virtual |
Gets a pointer to constant connectivity data of entity_handle
get the connectivity for element handles. For non-element handles, return an error
Sets number_nodes equal to the number of nodes of the entity_handle . Faster then the other get_connectivity function. The nodes in 'connectivity' are properly ordered.
entity_handle | EntityHandle to get connectivity of. |
connectivity | Array in which connectivity of entity_handle is returned. Should contain MBVERTEX's. |
num_nodes | Number of MeshVertices in array connectivity. |
Example:
Example2:
Implements moab::Interface.
Definition at line 1182 of file Core.cpp.
References ErrorCode, MB_ENTITY_NOT_FOUND, MB_SUCCESS, MB_TYPE_OUT_OF_RANGE, MBENTITYSET, MBVERTEX, and moab::TYPE_FROM_HANDLE().
|
virtual |
Gets the connectivity for elements.
Same as vector-based version except range is returned (unordered!)
Implements moab::Interface.
Definition at line 1625 of file Core.cpp.
References moab::Range::begin(), moab::Range::end(), ErrorCode, moab::GeomUtil::first(), moab::Range::insert(), MB_SUCCESS, MBVERTEX, moab::Range::merge(), moab::Range::size(), and moab::TYPE_FROM_HANDLE().
|
virtual |
get global connectivity array for specified entity type
Assumes just vertices, no higher order nodes
Implements moab::Interface.
Definition at line 1120 of file Core.cpp.
References moab::Range::begin(), moab::Range::end(), ErrorCode, MB_CHK_ERR, MB_SUCCESS, moab::Range::size(), and moab::CN::VerticesPerEntity().
|
virtual |
get contained meshsets
Implements moab::Interface.
Definition at line 3475 of file Core.cpp.
References children, ErrorCode, MB_CHK_ERR, MB_SUCCESS, and MBENTITYSET.
|
virtual |
get contained meshsets
Implements moab::Interface.
Definition at line 3458 of file Core.cpp.
References children, ErrorCode, moab::MeshSetSequence::get_contained_sets(), MB_ENTITY_NOT_FOUND, MB_SUCCESS, and MBENTITYSET.
|
virtual |
Gets xyz coordinate information for vector of vertices.
Identical to range-based function, except entity handles are specified using a 1d vector and vector length.
Implements moab::Interface.
Definition at line 974 of file Core.cpp.
References moab::EntitySequence::end_handle(), entities, ErrorCode, moab::VertexSequence::get_coordinates(), moab::CN::MAX_NODES_PER_ELEMENT, MB_CHK_ERR, MB_ENTITY_NOT_FOUND, MB_SUCCESS, MBVERTEX, moab::EntitySequence::start_handle(), and moab::TYPE_FROM_HANDLE().
|
virtual |
Definition at line 1026 of file Core.cpp.
References ErrorCode, MB_ENTITY_NOT_FOUND, MB_SUCCESS, MB_TYPE_OUT_OF_RANGE, MBVERTEX, and moab::TYPE_FROM_HANDLE().
get the coordinate information for this handle if it is of type Vertex otherwise, return an error
Implements moab::Interface.
Definition at line 859 of file Core.cpp.
References moab::TypeSequenceManager::end(), moab::EntitySequence::end_handle(), entities, ErrorCode, moab::GeomUtil::first(), moab::VertexSequence::get_coordinate_arrays(), moab::TypeSequenceManager::lower_bound(), MB_CHK_ERR, MB_ENTITY_NOT_FOUND, MB_SUCCESS, MBVERTEX, moab::EntitySequence::start_handle(), and moab::TYPE_FROM_HANDLE().
Referenced by moab::HiReconstruction::average_vertex_normal(), moab::HiReconstruction::average_vertex_tangent(), RuntimeContext::compute_centroids(), moab::NestedRefine::copy_vertices_from_prev_level(), gather_set_stats(), moab::NestedRefine::get_coordinates(), moab::WriteUtil::get_node_coords(), moab::HiReconstruction::hiproj_walf_around_vertex(), moab::HiReconstruction::hiproj_walf_in_element(), main(), perform_laplacian_smoothing(), perform_lloyd_relaxation(), moab::HiReconstruction::polyfit3d_walf_curve_vertex(), moab::HiReconstruction::polyfit3d_walf_surf_vertex(), moab::ReorderTool::reorder_entities(), and test_spectral_quad().
|
virtual |
Implements moab::Interface.
Definition at line 913 of file Core.cpp.
References moab::TypeSequenceManager::end(), moab::EntitySequence::end_handle(), entities, ErrorCode, moab::GeomUtil::first(), moab::VertexSequence::get_coordinate_arrays(), moab::TypeSequenceManager::lower_bound(), MB_CHK_ERR, MB_ENTITY_NOT_FOUND, MB_SUCCESS, MBVERTEX, moab::EntitySequence::start_handle(), and moab::TYPE_FROM_HANDLE().
|
virtual |
get overall geometric dimension
Implements moab::Interface.
Definition at line 767 of file Core.cpp.
References dim, and MB_SUCCESS.
|
virtual |
Adds adjacencies.
from_handle | entities |
both_ways | add the adjacency information to both the to_handle and and the from_from :handle |
Example:
Implements moab::Interface.
Definition at line 1834 of file Core.cpp.
References entities, ErrorCode, moab::GeomUtil::first(), moab::MeshSetSequence::get_dimension(), MB_CHK_ERR, MB_SUCCESS, MBENTITYSET, and moab::CN::TypeDimensionMap.
Referenced by moab::HalfFacetRep::check_mixed_entity_type(), moab::NestedRefine::count_subentities(), moab::NestedRefine::exchange_ghosts(), moab::HalfFacetRep::initialize(), moab::HiReconstruction::initialize(), moab::ReorderTool::int_order_from_sets_and_adj(), main(), process_partition_file(), tag_depth(), test_spectral_hex(), and moab::HalfFacetRep::update_entity_ranges().
|
virtual |
Retrieves all entities of a given topological dimension in the database or meshset.
Appends entities to list passed in.
meshset | Meshset whose entities are being queried (zero if query is for entire mesh). |
dimension | Topological dimension of entities desired. |
entities | Range in which entities of dimension dimension are returned. |
recursive | If true, meshsets containing meshsets are queried recursively. Returns the contents of meshsets, but not the meshsets themselves if true. |
Example:
Implements moab::Interface.
Definition at line 1863 of file Core.cpp.
References entities, ErrorCode, moab::GeomUtil::first(), moab::MeshSetSequence::get_dimension(), MB_CHK_ERR, MB_SUCCESS, MBENTITYSET, and moab::CN::TypeDimensionMap.
|
virtual |
Retrieves all entities in the data base.
entities | Range in which entities of EntityType type are returned. |
Example:
Implements moab::Interface.
Definition at line 1992 of file Core.cpp.
References entities, ErrorCode, moab::MeshSetSequence::get_entities(), MB_CHK_ERR, MB_SUCCESS, MBENTITYSET, and MBVERTEX.
Referenced by moab::RangeSetIterator::build_pair_vec(), moab::HigherOrderFactory::convert(), moab::WriteUtil::gather_entities(), moab::ReadUtil::gather_related_ents(), get_max_volume(), main(), moab::ReorderTool::update_set_contents(), and moab::NestedRefine::update_special_tags().
|
virtual |
Retrieves all entities in the data base.
entities | Range in which entities of EntityType type are returned. |
Example:
Implements moab::Interface.
Definition at line 2012 of file Core.cpp.
References moab::Range::begin(), moab::Range::end(), entities, ErrorCode, moab::MeshSetSequence::get_entities(), MB_CHK_ERR, MB_SUCCESS, and moab::Range::size().
|
virtual |
Retrieves all entities in the data base of given type.
type | EntityType of entities desired (ie, MBHEX, MBEDGE, MBTRI, etc ) |
entities | Range in which entities of EntityType type are returned. |
Example:
Implements moab::Interface.
Definition at line 1892 of file Core.cpp.
References entities, ErrorCode, moab::MeshSetSequence::get_type(), MB_CHK_ERR, and MB_SUCCESS.
Referenced by moab::AEntityFactory::create_vert_elem_adjacencies(), dot_contained(), dot_nodes(), moab::ReadUtil::gather_related_ents(), gather_set_stats(), main(), test_spectral_quad(), and moab::ReorderTool::update_set_contents().
|
virtual |
Retrieves all entities in the data base of given type.
type | EntityType of entities desired (ie, MBHEX, MBEDGE, MBTRI, etc ) |
entities | Range in which entities of EntityType type are returned. |
Example:
Implements moab::Interface.
Definition at line 1913 of file Core.cpp.
References entities, ErrorCode, moab::MeshSetSequence::get_type(), MB_CHK_ERR, and MB_SUCCESS.
|
virtual |
Retrieve entities in the database or meshset which have any or all of the tag(s) and (optionally) value(s) specified.
meshset | Meshset whose entities are being queried (zero if query is for entire mesh). |
type | Type of entities to be returned |
tag_handles | Vector of tag handles entities must have |
values | Vector of pointers to values of tags in tag_handles |
num_tags | Number of tags and values in tag_handles and values |
entities | Range in which entities are returned. |
condition | Boolean condition, either Interface::UNION or Interface::INTERSECT |
recursive | If true, meshsets containing meshsets are queried recursively. Returns the contents of meshsets, but not the meshsets themselves. Specifying both recursive=true and type=MBENTITYSET is an error, as it would always result in an empty list. |
If Interface::UNION is specified as the condition, entities with any of the tags and values specified are returned. If Interface::INTERSECT is specified, only entities with all of the tags/values are returned.
If values is NULL, entities with the specified tags and any corresponding values are returned. Note that if values is non-NULL, it is a vector of pointers to tag values.
Example:
Implements moab::Interface.
Definition at line 1934 of file Core.cpp.
References moab::Range::empty(), entities, ErrorCode, moab::TagInfo::find_entities_with_value(), moab::TagInfo::get_tagged_entities(), moab::intersect(), moab::Interface::INTERSECT, MB_CHK_ERR, MB_SUCCESS, MB_TAG_NOT_FOUND, moab::Range::merge(), moab::subtract(), and moab::Range::swap().
Referenced by moab::HigherOrderFactory::convert_sequence(), dot_get_sets(), moab::ReadUtil::get_gather_set(), moab::ReadParallel::load_file(), main(), process_partition_file(), moab::ReorderTool::reorder_tag_data(), test_spectral_hex(), and moab::NestedRefine::update_special_tags().
|
virtual |
Return string representation of given error code.
code | Error code for which string is wanted |
Implements moab::Interface.
Definition at line 3618 of file Core.cpp.
Referenced by main().
|
virtual |
Return information about the last error.
info | std::string into which information on the last error is written. |
Implements moab::Interface.
Definition at line 3612 of file Core.cpp.
References MB_SUCCESS, and moab::MBErrorHandler_GetLastError().
Referenced by main().
|
virtual |
get the options of a mesh set
Implements moab::Interface.
Definition at line 3263 of file Core.cpp.
References moab::MeshSet::flags(), moab::get_mesh_set(), MB_ENTITY_NOT_FOUND, MB_SUCCESS, MESHSET_SET, and MESHSET_TRACK_OWNER.
Referenced by moab::ReorderTool::update_set_contents().
|
virtual |
Retrieves all entities in the database of given dimension.
get # entities of a given dimension
dimension | Dimension of entities desired. |
entities | Range in which entities of dimension dimension are returned. |
Example:
Implements moab::Interface.
Definition at line 2036 of file Core.cpp.
References dim, ErrorCode, moab::GeomUtil::first(), MB_CHK_ERR, MB_SUCCESS, moab::MeshSetSequence::num_dimension(), and moab::CN::TypeDimensionMap.
Referenced by main().
|
virtual |
Retrieves all entities in the data base.
entities | Range in which entities of EntityType type are returned. |
Example:
Implements moab::Interface.
Definition at line 2105 of file Core.cpp.
References ErrorCode, MB_CHK_ERR, MB_SUCCESS, MBMAXTYPE, MBVERTEX, and moab::MeshSetSequence::num_entities().
|
virtual |
Retrieves all entities in the data base of given type.
returns the number of entities with a given type and tag
type | EntityType of entities desired (ie, MBHEX, MBEDGE, MBTRI, etc ) |
entities | Range in which entities of EntityType type are returned. |
Example:
Implements moab::Interface.
Definition at line 2064 of file Core.cpp.
References ErrorCode, MB_CHK_ERR, MB_SUCCESS, MB_TYPE_OUT_OF_RANGE, MBENTITYSET, and moab::MeshSetSequence::num_type().
Referenced by gather_set_stats().
|
virtual |
Retrieve number of entities in the database or meshset which have any or all of the tag(s) and (optionally) value(s) specified.
Identical to get_entities_by_type_and_tag, except number instead of entities are returned
meshset | Meshset whose entities are being queried (zero if query is for entire mesh). |
type | Type of entities to be returned |
tag_handles | Vector of tag handles entities must have |
values | Vector of pointers to values of tags in tag_handles |
num_tags | Number of tags and values in tag_handles and values |
num_entities | Range in which number of entities are returned. |
recursive | If true, meshsets containing meshsets are queried recursively. Returns the contents of meshsets, but not the meshsets themselves. Specifying both recursive=true and type=MBENTITYSET is an error, as it would always result in an empty list. |
Implements moab::Interface.
Definition at line 2089 of file Core.cpp.
References ErrorCode, and moab::Range::size().
Referenced by gather_tag_counts().
|
virtual |
get parent meshsets
Implements moab::Interface.
Definition at line 3422 of file Core.cpp.
References ErrorCode, MB_CHK_ERR, MB_ENTITY_NOT_FOUND, and MB_SUCCESS.
|
virtual |
get parent meshsets
Implements moab::Interface.
Definition at line 3408 of file Core.cpp.
References ErrorCode, moab::MeshSetSequence::get_parents(), MB_ENTITY_NOT_FOUND, and MB_SUCCESS.
Referenced by dot_children(), and moab::ReadUtil::gather_related_ents().
|
privatevirtual |
return the entity set representing the whole mesh
Implements moab::Interface.
|
virtual |
Interface to control memory allocation for sequences Provide a factor that controls the size of the sequence that gets allocated. This is typically useful in the parallel setting when a-priori, the number of ghost entities and the memory required for them within the same sequence as the owned entities are unknown. The default factor is 1.0 but this can be appropriately updated at runtime so that we do not have broken sequences.
Implements moab::Interface.
ErrorCode moab::Core::get_set_iterators | ( | EntityHandle | meshset, |
std::vector< SetIterator * > & | set_iters | ||
) |
Get all set iterators associated with the set passed in.
Definition at line 3916 of file Core.cpp.
References MB_SUCCESS.
|
virtual |
get blocked vertex coordinates for all vertices
Blocked = all x, then all y, etc.
Implements moab::Interface.
Definition at line 801 of file Core.cpp.
References moab::Range::begin(), moab::Range::end(), ErrorCode, MB_CHK_ERR, MB_SUCCESS, MBVERTEX, and moab::Range::size().
Get all vertices for input entities.
Special case of get_adjacencies where to_dimension == 0 and operation_type == Interface::UNION. \Note This is not a variation of get_connectivity because the behavior is different for polyhedra.
Definition at line 1721 of file Core.cpp.
References moab::Range::all_of_dimension(), moab::Range::empty(), moab::Range::end(), moab::Range::erase(), ErrorCode, MB_CHK_ERR, MB_SUCCESS, MBVERTEX, moab::Range::merge(), moab::Range::swap(), and moab::Range::upper_bound().
|
virtual |
Get parent mesh sets of a mesh set.
If num_hops is 1, only immediate parents are returned. If num_hops is zero, all ancenstors are returned. Otherwise, num_hops specifies the maximum number of generations to traverse.
meshset | The mesh set whose parents are being queried |
parents | STL vector holding the parents returned by this function |
num_hops | Number of generations to traverse (0 = all) |
Implements moab::Interface.
Definition at line 2622 of file Core.cpp.
References GLOBAL_ID_TAG_NAME, MB_TAG_CREAT, MB_TAG_DENSE, and MB_TYPE_INTEGER.
Referenced by moab::WriteUtil::assign_ids(), and main().
|
virtual |
get a handle from an id and type
Implements moab::Interface.
Definition at line 389 of file Core.cpp.
References moab::CREATE_HANDLE(), and ErrorCode.
Referenced by moab::HalfFacetRep::fid_from_halfacet().
|
virtual |
given an entity and the connectivity and type of one of its subfacets, find the high order node on that subfacet, if any
Implements moab::Interface.
Definition at line 3134 of file Core.cpp.
References moab::CN::Dimension(), moab::dum, ErrorCode, moab::CN::HasMidNodes(), MB_CHK_ERR, MB_INDEX_OUT_OF_RANGE, MB_SUCCESS, moab::CN::mConnectivityMap, moab::CN::ConnMap::num_sub_elements, moab::CN::SideNumber(), moab::TYPE_FROM_HANDLE(), and moab::CN::VerticesPerEntity().
|
virtual |
get the id from a handle, returns id
Implements moab::Interface.
Definition at line 383 of file Core.cpp.
References moab::ID_FROM_HANDLE().
Referenced by dot_down_link(), dot_nodes(), dot_write_node(), main(), and perform_laplacian_smoothing().
|
virtual |
Returns the major.minor version number of the implementation.
iface_name | If non-NULL, will be filled in with a string, possibly containing implementation-specific information |
Implements moab::Interface.
Definition at line 366 of file Core.cpp.
References MOAB_VERSION_MAJOR, MOAB_VERSION_MINOR, and MOAB_VERSION_STRING.
|
private |
database init and de-init routines
Definition at line 193 of file Core.cpp.
References MB_MEMORY_ALLOCATION_FAILED, MB_SUCCESS, moab::MBErrorHandler_Init(), moab::MBErrorHandler_Initialized(), MPE_Init_log, and MPE_Initialized_logging.
|
virtual |
intersects meshset2 with meshset1 - modifies meshset1
Implements moab::Interface.
Definition at line 3325 of file Core.cpp.
References moab::get_mesh_set(), moab::MeshSet::intersect(), and MB_ENTITY_NOT_FOUND.
bool moab::Core::is_valid | ( | const EntityHandle | this_ent | ) | const |
return whether the input handle is valid or not
Definition at line 3863 of file Core.cpp.
References ErrorCode, and MB_SUCCESS.
Referenced by moab::RangeSetIterator::get_next_arr(), moab::VectorSetIterator::get_next_arr(), and moab::ScdBox::~ScdBox().
|
virtual |
List entities, or number of entities in database, to standard output.
Lists data pertaining to entities to standard output. If entities is NULL and num_entities is zero, lists only the number of entities of each type in the database. If entities is NULL and num_entities is non-zero, lists all information for all entities in the database.
entities | 1d vector of entities to list |
num_entities | Number of entities in 1d vector |
Implements moab::Interface.
Definition at line 2847 of file Core.cpp.
References entities, moab::CN::EntityTypeName(), ErrorCode, moab::ID_FROM_HANDLE(), MB_SUCCESS, MBMAXTYPE, MBVERTEX, and moab::TYPE_FROM_HANDLE().
List entities to standard output.
Lists all data pertaining to entities (i.e. vertex coordinates if vertices, connectivity if elements, set membership if set). Useful for debugging, but output can become quite long for large databases.
Implements moab::Interface.
Definition at line 2903 of file Core.cpp.
References moab::Range::begin(), moab::Range::end(), moab::CN::EntityTypeName(), ErrorCode, moab::ID_FROM_HANDLE(), MB_SUCCESS, and moab::TYPE_FROM_HANDLE().
Referenced by main().
|
virtual |
List a single entity; no header printed.
Lists a single entity, including its connectivity and its adjacencies. No header is printed, because calling function might print information between header and information printed by this function.
entity | The entity to be listed. |
Implements moab::Interface.
Definition at line 2919 of file Core.cpp.
References dim, moab::CN::Dimension(), moab::dum, moab::CN::EntityTypeName(), ErrorCode, moab::ID_FROM_HANDLE(), MB_CHK_ERR, MB_MULTIPLE_ENTITIES_FOUND, MB_SUCCESS, MB_TAG_DENSE, MBENTITYSET, MBVERTEX, and moab::TYPE_FROM_HANDLE().
|
virtual |
Load or import a file.
Implements moab::Interface.
Definition at line 416 of file Core.cpp.
References moab::FileOptions::all_seen(), ErrorCode, moab::FileOptions::get_int_option(), moab::FileOptions::get_option(), moab::ParallelComm::get_pcomm(), moab::FileOptions::get_unseen_option(), moab::ReadParallel::load_file(), MB_CHK_ERR, MB_ENTITY_NOT_FOUND, MB_SET_ERR, MB_SET_GLB_ERR, MB_SUCCESS, and MB_UNHANDLED_OPTION.
Referenced by RuntimeContext::load_file(), main(), TestErrorHandling_1(), TestErrorHandling_2(), TestErrorHandling_3(), TestErrorHandlingPar_1(), and TestErrorHandlingPar_2().
|
virtual |
load mesh from data in file NOTE: if there is mesh already present, the new mesh will be added
Implements moab::Interface.
Definition at line 410 of file Core.cpp.
References MATERIAL_SET_TAG_NAME.
Referenced by main(), test_spectral_hex(), and test_spectral_quad().
Tag moab::Core::material_tag | ( | ) |
return various specific tag handles
Definition at line 2597 of file Core.cpp.
References MATERIAL_SET_TAG_NAME, MB_TAG_CREAT, MB_TAG_SPARSE, and MB_TYPE_INTEGER.
|
virtual |
merges two entities
Implements moab::Interface.
Definition at line 2690 of file Core.cpp.
References moab::CN::ConnectivityMatch(), moab::CN::Dimension(), ErrorCode, MB_CHK_ERR, MB_ENTITY_NOT_FOUND, MB_SUCCESS, MB_TYPE_OUT_OF_RANGE, and moab::TYPE_FROM_HANDLE().
Tag moab::Core::neumannBC_tag | ( | ) |
Definition at line 2605 of file Core.cpp.
References MB_TAG_CREAT, MB_TAG_SPARSE, MB_TYPE_INTEGER, and NEUMANN_SET_TAG_NAME.
|
virtual |
gets number of child meshsets
Implements moab::Interface.
Definition at line 3501 of file Core.cpp.
References ErrorCode, MB_ENTITY_NOT_FOUND, MB_SUCCESS, and moab::MeshSetSequence::num_children().
|
virtual |
gets number of contained meshsets
Implements moab::Interface.
Definition at line 3513 of file Core.cpp.
References ErrorCode, MB_ENTITY_NOT_FOUND, MB_SUCCESS, MBENTITYSET, and moab::MeshSetSequence::num_contained_sets().
|
virtual |
gets number of parent meshsets
Implements moab::Interface.
Definition at line 3489 of file Core.cpp.
References ErrorCode, MB_ENTITY_NOT_FOUND, MB_SUCCESS, and moab::MeshSetSequence::num_parents().
void moab::Core::print | ( | const EntityHandle | handle, |
const char * | prefix, | ||
bool | first_call = true |
||
) | const |
Definition at line 3623 of file Core.cpp.
References moab::Range::begin(), moab::Range::clear(), moab::Range::empty(), moab::Range::end(), entities, moab::ID_FROM_HANDLE(), MB_TAG_SPARSE, and MBENTITYSET.
void moab::Core::print_database | ( | ) | const |
Definition at line 4129 of file Core.cpp.
References moab::TypeSequenceManager::begin(), dashes(), moab::EntitySequence::data(), moab::TypeSequenceManager::empty(), moab::TypeSequenceManager::end(), moab::EntitySequence::end_handle(), moab::SequenceData::end_handle(), moab::CN::EntityTypeName(), ErrorCode, moab::VertexSequence::get_coordinates(), moab::ID_FROM_HANDLE(), MB_SUCCESS, MBEDGE, MBENTITYSET, MBMAXTYPE, MBVERTEX, moab::ElementSequence::nodes_per_element(), moab::EntitySequence::start_handle(), moab::SequenceData::start_handle(), and moab::TYPE_FROM_HANDLE().
ErrorCode moab::Core::print_entity_tags | ( | std::string | indent_prefix, |
const EntityHandle | handle, | ||
TagType | tp | ||
) | const |
Definition at line 3684 of file Core.cpp.
References ErrorCode, MB_SUCCESS, MB_TAG_SPARSE, MB_TYPE_BIT, MB_TYPE_DOUBLE, MB_TYPE_HANDLE, MB_TYPE_INTEGER, MB_TYPE_OPAQUE, NAME_TAG_SIZE, and TagType.
|
virtual |
Get a pointer to an internal MOAB interface.
Implements moab::Interface.
Definition at line 306 of file Core.cpp.
References MB_SUCCESS.
|
virtual |
Implements moab::UnknownInterface.
Definition at line 355 of file Core.cpp.
References moab::IDD_MBCore, moab::IDD_MBUnknown, and iface.
Referenced by moab::ComponentFactory::QueryInterface().
|
inline |
return set of registered IO tools
Definition at line 1090 of file Core.hpp.
References readerWriterSet.
|
virtual |
Release reference to MB interface.
Implements moab::Interface.
Definition at line 343 of file Core.cpp.
References iface, and MB_SUCCESS.
|
virtual |
remove child meshset
Implements moab::Interface.
Definition at line 3604 of file Core.cpp.
References moab::get_mesh_set(), MB_ENTITY_NOT_FOUND, MB_SUCCESS, and moab::MeshSet::remove_child().
|
virtual |
remove entities from meshset
remove a vector of entities from a meshset
Implements moab::Interface.
Definition at line 3372 of file Core.cpp.
References entities, moab::get_mesh_set(), MB_ENTITY_NOT_FOUND, and moab::MeshSet::remove_entities().
|
virtual |
remove entities from meshset
remove a range of entities from a meshset
Implements moab::Interface.
Definition at line 3362 of file Core.cpp.
References entities, moab::get_mesh_set(), MB_ENTITY_NOT_FOUND, and moab::MeshSet::remove_entities().
Referenced by main(), moab::AEntityFactory::remove_adjacency(), moab::ReorderTool::update_set_contents(), and moab::NestedRefine::update_special_tags().
|
virtual |
removes 'parent' to child's parent list and removes 'child' to parent's child list
Implements moab::Interface.
Definition at line 3585 of file Core.cpp.
References child, moab::get_mesh_set(), MB_ENTITY_NOT_FOUND, MB_SUCCESS, moab::MeshSet::remove_child(), and moab::MeshSet::remove_parent().
|
virtual |
remove parent meshset
Implements moab::Interface.
Definition at line 3596 of file Core.cpp.
References moab::get_mesh_set(), MB_ENTITY_NOT_FOUND, MB_SUCCESS, and moab::MeshSet::remove_parent().
ErrorCode moab::Core::remove_set_iterator | ( | SetIterator * | set_iter | ) |
Remove the set iterator from the instance's list.
Remove the set iterator from the instance's list This function is called from the SetIterator destructor, and should not be called directly from anywhere else.
set_iter | Set iterator being removed |
Definition at line 3899 of file Core.cpp.
References MB_SET_ERR, and MB_SUCCESS.
Referenced by moab::SetIterator::~SetIterator().
|
virtual |
replace entities
Implements moab::Interface.
Definition at line 3396 of file Core.cpp.
References moab::get_mesh_set(), MB_ENTITY_NOT_FOUND, and moab::MeshSet::replace_entities().
Referenced by moab::AEntityFactory::merge_adjust_adjacencies().
|
inline |
get/set the number of nodes
get/set the number of elements return a reference to the sequence manager
Definition at line 1039 of file Core.hpp.
References sequenceManager.
Referenced by moab::HigherOrderFactory::add_mid_edge_nodes(), moab::HigherOrderFactory::add_mid_face_nodes(), moab::HigherOrderFactory::add_mid_volume_nodes(), moab::ScdInterface::construct_box(), moab::HigherOrderFactory::convert(), moab::HigherOrderFactory::convert_sequence(), moab::ReadUtil::create_entity_sets(), moab::ScdInterface::create_scd_sequence(), moab::WriteUtil::gather_nodes_from_elements(), moab::AEntityFactory::get_adjacency_ptr(), moab::ReadUtil::get_element_connect(), moab::WriteUtil::get_element_connect(), moab::ReorderTool::get_entities(), moab::WriteUtil::get_entity_list_pointers(), moab::AEntityFactory::get_memory_use(), moab::ReadUtil::get_node_coords(), moab::WriteUtil::get_node_coords(), moab::ReorderTool::handle_order_from_int_tag(), moab::ParallelComm::initialize(), moab::ReorderTool::reorder_entities(), moab::AEntityFactory::set_adjacency_ptr(), and moab::AEntityFactory::~AEntityFactory().
|
inline |
Definition at line 1043 of file Core.hpp.
References sequenceManager.
ErrorCode moab::Core::serial_load_file | ( | const char * | file_name, |
const EntityHandle * | file_set, | ||
const FileOptions & | opts, | ||
const ReaderIface::SubsetList * | subsets = 0 , |
||
const Tag * | file_id_tag = 0 |
||
) |
Load or import a file.
Definition at line 511 of file Core.cpp.
References moab::ReaderWriterSet::begin(), moab::ReaderWriterSet::end(), moab::Range::erase(), ErrorCode, moab::ReaderWriterSet::extension_from_filename(), moab::ReaderIface::load_file(), MB_CHK_ERR, MB_FILE_DOES_NOT_EXIST, MB_SET_ERR, MB_SET_GLB_ERR, MB_SUCCESS, and moab::subtract().
Referenced by moab::ReadParallel::load_file().
ErrorCode moab::Core::serial_read_tag | ( | const char * | file_name, |
const char * | tag_name, | ||
const FileOptions & | opts, | ||
std::vector< int > & | tag_vals, | ||
const ReaderIface::SubsetList * | subsets = 0 |
||
) |
Definition at line 616 of file Core.cpp.
References moab::ReaderWriterSet::begin(), moab::ReaderWriterSet::end(), ErrorCode, moab::ReaderWriterSet::get_file_extension_reader(), MB_SUCCESS, and moab::ReaderIface::read_tag_values().
|
virtual |
Sets the connectivity for an EntityHandle. For non-element handles, return an error.
set the connectivity for element handles. For non-element handles, return an error
Connectivity is stored exactly as it is ordered in vector connectivity.
entity_handle | EntityHandle to set connectivity of. |
connect | Vector containing new connectivity of entity_handle. |
num_connect | Number of vertices in connect |
Example:
Implements moab::Interface.
Definition at line 1214 of file Core.cpp.
References ErrorCode, MB_CHK_ERR, MB_ENTITY_NOT_FOUND, MB_SUCCESS, MB_TYPE_OUT_OF_RANGE, MBENTITYSET, and moab::TYPE_FROM_HANDLE().
Referenced by moab::AEntityFactory::merge_adjust_adjacencies(), and moab::ReorderTool::reorder_entities().
|
virtual |
set the coordinate information for this handle if it is of type Vertex otherwise, return an error
Implements moab::Interface.
Definition at line 1048 of file Core.cpp.
References ErrorCode, MB_SUCCESS, MB_TYPE_OUT_OF_RANGE, MBVERTEX, and moab::TYPE_FROM_HANDLE().
Referenced by main(), perform_laplacian_smoothing(), perform_lloyd_relaxation(), and moab::ReorderTool::reorder_entities().
set the coordinate information for this handle if it is of type Vertex otherwise, return an error
Implements moab::Interface.
Definition at line 1078 of file Core.cpp.
References moab::Range::begin(), moab::Range::end(), ErrorCode, MB_SUCCESS, MB_TYPE_OUT_OF_RANGE, MBVERTEX, and moab::TYPE_FROM_HANDLE().
|
virtual |
set overall geometric dimension
Returns error if setting to 3 dimensions, mesh has been created, and there are only 2 dimensions on that mesh
Implements moab::Interface.
Definition at line 777 of file Core.cpp.
References dim, and MB_SUCCESS.
|
virtual |
set the options of a mesh set
Implements moab::Interface.
Definition at line 3278 of file Core.cpp.
References moab::get_mesh_set(), MB_ENTITY_NOT_FOUND, and moab::MeshSet::set_flags().
|
virtual |
Interface to control memory allocation for sequences Provide a factor that controls the size of the sequence that gets allocated. This is typically useful in the parallel setting when a-priori, the number of ghost entities and the memory required for them within the same sequence as the owned entities are unknown. The default factor is 1.0 but this can be appropriately updated at runtime so that we do not have broken sequences.
meshset | User specified multiplier (should be greater than 1.0) |
Implements moab::Interface.
Definition at line 1111 of file Core.cpp.
|
virtual |
given an entity and a target dimension & side number, get that entity
Implements moab::Interface.
Definition at line 3205 of file Core.cpp.
References moab::CN::AdjacentSubEntities(), moab::Range::begin(), dim, moab::Range::empty(), ErrorCode, moab::Range::insert(), MB_CHK_ERR, MB_ENTITY_NOT_FOUND, MB_INDEX_OUT_OF_RANGE, MB_MULTIPLE_ENTITIES_FOUND, MB_SUCCESS, MBVERTEX, moab::CN::mConnectivityMap, moab::CN::ConnMap::target_type, and moab::TYPE_FROM_HANDLE().
Referenced by moab::HigherOrderFactory::tag_for_deletion().
|
virtual |
function to get the side number given two elements; returns MB_FAILURE if child not related to parent; does not create adjacencies between parent and child
Implements moab::Interface.
Definition at line 3011 of file Core.cpp.
References child, moab::CN::ConnectivityMatch(), moab::CN::Dimension(), ErrorCode, moab::CN::MAX_NODES_PER_ELEMENT, MB_CHK_ERR, MB_ENTITY_NOT_FOUND, MB_NOT_IMPLEMENTED, MB_SUCCESS, MBEDGE, MBPOLYGON, MBPOLYHEDRON, MBVERTEX, moab::CN::SideNumber(), and moab::TYPE_FROM_HANDLE().
|
virtual |
subtracts meshset2 from meshset1 - modifies meshset1
Implements moab::Interface.
Definition at line 3316 of file Core.cpp.
References moab::get_mesh_set(), MB_ENTITY_NOT_FOUND, and moab::MeshSet::subtract().
|
virtual |
Set tag data given value.
set the data for given EntityHandles and Tag
For a tag, set the values for a list of passed entity handles to the same, specified value.
tag_handle | The tag |
entity_handles | The entity handles for which to set tag values. |
tag_data | A pointer to the tag value. |
tag_sizes | For variable-length tags, the lenght of the tag value. This argument will be ignored for fixed-length tags. |
Implements moab::Interface.
Definition at line 2246 of file Core.cpp.
References CHECK_MESH_NULL, moab::TagInfo::clear_data(), moab::TagInfo::get_data_type(), and moab::TagInfo::size_from_data_type().
|
virtual |
Set tag data given value.
set the data for given EntityHandles and Tag
For a tag, set the values for a list of passed entity handles to the same, specified value.
tag_handle | The tag |
entity_handles | The entity handles for which to set tag values. |
tag_data | A pointer to the tag value. |
tag_sizes | For variable-length tags, the lenght of the tag value. This argument will be ignored for fixed-length tags. |
Implements moab::Interface.
Definition at line 2259 of file Core.cpp.
References moab::TagInfo::clear_data(), moab::TagInfo::get_data_type(), and moab::TagInfo::size_from_data_type().
Removes the tag from the database and deletes all of its associated data.
removes the tag from MB
Implements moab::Interface.
Definition at line 2464 of file Core.cpp.
References ErrorCode, MB_CHK_ERR, MB_SUCCESS, MB_TAG_NOT_FOUND, and moab::TagInfo::release_all_data().
Referenced by moab::HigherOrderFactory::convert_sequence(), moab::WriteUtil::gather_nodes_from_elements(), moab::ReorderTool::handle_order_from_int_tag(), moab::ReorderTool::handle_order_from_sets_and_adj(), main(), and perform_lloyd_relaxation().
|
virtual |
Delete the data of a vector of entity handles and sparse tag.
removes the tag from the entity
Delete the data of a tag on a vector of entity handles. Only sparse tag data are deleted with this function; dense tags are deleted by deleting the tag itself using tag_delete.
tag_handle | Handle of the (sparse) tag being deleted from entity |
entity_handles | 1d vector of entity handles from which the tag is being deleted |
num_handles | Number of entity handles in 1d vector |
Implements moab::Interface.
Definition at line 2449 of file Core.cpp.
References CHECK_MESH_NULL, and moab::TagInfo::remove_data().
Referenced by process_partition_file(), and moab::ReorderTool::reorder_tag_data().
Delete the data of a range of entity handles and sparse tag.
removes the tag from the entity
Delete the data of a tag on a range of entity handles. Only sparse tag data are deleted with this function; dense tags are deleted by deleting the tag itself using tag_delete.