MeshKit  1.0
MKCore Class Reference

The core MeshKit instance. More...

#include <meshkit/MKCore.hpp>

Inheritance diagram for MKCore:

List of all members.

Public Member Functions

Constructor/destructor
 MKCore (iGeom *igeom=NULL, moab::Interface *moab=NULL, iMesh *imesh=NULL, iRel *irel=NULL, bool construct_missing_ifaces=true)
 Constructor.
virtual ~MKCore ()
 virtual destructor
Non-static MeshOp construction and query
void set_default_meshop (const char *op_name, unsigned short dims)
 Make the specified MeshOp name the default for the given dimension(s)
void set_default_meshop (unsigned op_index, unsigned short dims)
 Make the specified MeshOp the default for the given dimension(s)
void set_default_meshop (MeshOpProxy *mesh_op, unsigned short dims)
 Make the specified MeshOp the default for the given dimension(s)
MeshOpProxyget_default_meshop (unsigned dimension)
 Get default MeshOp for dimension.
void meshop_by_mesh_type (moab::EntityType tp, std::vector< MeshOpProxy * > &ops)
 Return MeshOp types that can generate or operate on the specified mesh entity type.
void meshop_by_dimension (int dim, std::vector< MeshOpProxy * > &ops)
 Return MeshOp types that can operate on geometric entities of specified dimension.
void meshop_by_modelent (ModelEnt *const ent, std::vector< MeshOpProxy * > &ops)
 Return MeshOp types that can mesh the specified ModelEnt.
MeshOpconstruct_meshop (MeshOpProxy *op_info, const MEntVector &me_vec=MEntVector())
 Construct a new MeshOp of the specified OpInfo type.
MeshOpconstruct_meshop (std::string op_name, const MEntVector &me_vec=MEntVector())
 Construct a new MeshOp of the specified name.
MeshOp construction and query
MeshOpconstruct_meshop (unsigned int dim, const MEntVector &me_vec=MEntVector())
 Construct the default type of MeshOp for the specified dimension.
Loading/saving models
void load_geometry_mesh (const char *geom_filename, const char *mesh_filename, const char *geom_options=NULL, const char *mesh_options=NULL, int geom_index=0, int mesh_index=0, int irel_index=0, bool relate_too=true, bool populate_too=true)
 Load a geometry model from a file, and populate mesh entity sets.
void load_geometry (const char *filename, const char *options=NULL, int geom_index=0, int mesh_index=0, int irel_index=0, bool relate_too=false, bool populate_too=true)
 Load a geometry model from a file, and populate mesh entity sets.
void load_mesh (const char *filename, const char *options=NULL, int geom_index=0, int mesh_index=0, int irel_index=0, bool relate_too=false, bool populate_too=true)
 Load a mesh model from a file.
void save_geometry (const char *filename, const char *options=NULL, int index=0)
 Save a geometry model to a file.
void save_mesh (const char *filename, const char *options=NULL, int index=0)
 Save a mesh model to a file.
void save_mesh_from_model_ents (const char *filename, MEntVector &ments, const char *options=NULL, int index=0)
 Save part of a model mesh to a file.
void populate_model_ents (int geom_index=0, int mesh_index=0, int irel_index=0, bool only_geom=false)
 Populate model entities for geometry and mesh Pass -1 for geom, mesh, or irel index to disable checking for entities in those interfaces (geom, mesh) or skip the check for relations (irel)
void create_mbg_model_entities (moab::EntityHandle modelRootSet, bool geometry)
Entity access
void get_entities_by_dimension (int dim, MEntVector &model_ents, int igindx=-1)
 Get model entities of a given dimension.
void get_entities_by_handle (MEntVector &model_ents)
 Get all model entities.
Interface instances
iGeomigeom_instance (unsigned index=0)
 Return the iGeom instance pointer.
unsigned int add_igeom_instance (iGeom *igeom)
 Return the index of iGeom instance added.
moab::Interface * moab_instance (unsigned index=0)
 Return the MOAB instance pointer.
iMeshimesh_instance (unsigned index=0)
 Return the iMesh instance pointer.
iRelirel_instance (unsigned index=0)
 Return the iRel instance pointer.
unsigned int add_irel_pair (iRel::PairHandle *pair)
 Return the index of irel_pair added.
iRel::PairHandleirel_pair (unsigned index=0)
 Return the iRel pair handle used to relate geometry/mesh entities.
iRel::PairHandlegroup_set_pair (unsigned index=0)
 Return the iRel pair handle used to relate geometry sets to mesh entity sets.
iGeom::TagHandle igeom_model_tag (unsigned index=0)
 Return the (iGeom) tag used to relate geometry entities to ModelEnts.
moab::Tag moab_model_tag (unsigned index=0)
 Return the (MOAB) tag used to relate mesh entities to ModelEnts.
moab::Tag moab_geom_dim_tag (unsigned index=0)
 Return the (MOAB) geometry dimension tag.
moab::Tag moab_global_id_tag (unsigned index=0)
 Return the (MOAB) global id tag.
Singleton MeshOps
VertexMeshervertex_mesher () const
 Get the (single) VertexMesher instance.
void vertex_mesher (VertexMesher *vm)
 Set the (single) VertexMesher instance.
EBMeshereb_mesher () const
 Get the (single) EBMesher instance.
void eb_mesher (EBMesher *ebm)
 Set the (single) EBMesher instance.
Sizing functions
SizingFunctionsizing_function (int index)
 Get sizing function by index If the requested index is outside the range of SizingFunction's currently registered, throws an Error.
SizingFunctionsizing_function (double size, bool create_if_missing)
 Get sizing function by size If there is no sizing function with that size and create_if_missing is true, one is constructed and registered with MKCore.
int add_sizing_function (SizingFunction *sf)
 Add sizing function to those managed by MeshKit.
void remove_sizing_function (int index, bool delete_too=true)
 Remove and, optionally, delete sizing function.
int initialize_mesh_based_geometry (iBase_EntitySetHandle modelSet)
 interpret mesh-based geometry
void remove_mesh_based_geometry (int index)
 remove mesh-based geometry instance
int number_of_igeom_instances ()
 retrieve number of iGeom instances
void delete_model_entities ()
 delete model entities
void delete_all ()
 delete all

Static Public Member Functions

static void register_meshop (MeshOpProxy *proxy)
 Register a new MeshOp factory.
static MeshOpProxymeshop_proxy (const char *op_name)
 Return the MeshOp type with the given name.
static MeshOpProxymeshop_proxy (unsigned index)
 Return the MeshOp type at the sepcified index.
static unsigned num_meshops ()
 Number of registered MeshOps.
static unsigned int meshop_index (const char *op_name)
 Return the MeshOp index given the name.

Private Member Functions

void init (bool construct_missing_ifaces)
 initialize, creating missing geom/mesh/rel interfaces if requested
void init_opsbydim ()
 Initialize the opsByDim array.

Private Attributes

std::vector< iGeom * > iGeomInstances
 Geometry api instance.
std::vector< moab::Interface * > moabInstances
 MOAB instance.
std::vector< iMesh * > iMeshInstances
 iMesh api instance, for use in iRel
std::vector< iRel * > iRelInstances
 IREL api instance.
std::vector< iRel::PairHandle * > iRelPairs
 iRel pair handle used to relate geometry/mesh entities
std::vector< iRel::PairHandle * > groupSetPairs
 iRel pair handle used to relate geometry groups to mesh entity sets
std::vector< iGeom::TagHandleiGeomModelTags
 Tag used to associate geometry entities with model entities.
std::vector< moab::Tag > moabModelTags
 Tag used to associate mesh entities with model entities.
std::vector< moab::Tag > moabGeomDimTags
 Tag used to associate existing mesh entities with model entities.
std::vector< moab::Tag > moabIDTags
 Tag used to associate existing mesh entities with model entities.
std::vector< bool > iCreatedIgeoms
 If true, the corresponding interfaces will get deleted from the destructor.
std::vector< bool > iCreatedMoabs
std::vector< bool > iCreatedImeshs
std::vector< bool > iCreatedIrels
MEntVector modelEnts [5]
 Model entities, in array by topological dimension.
VertexMeshervertexMesher
 (Single) VertexMesher scheme for this MKCore
EBMesherebMesher
 (Single) EBMesher scheme for this MKCore
MeshOpProxydefaultMeshOps [4]
 Default algorithms for each dimension.
std::vector< SizingFunction * > sizingFunctions
 SizingFunction vector.

Detailed Description

The core MeshKit instance.

The MKCore object stores MeshKit-wide data like the geometry/mesh/relations instances, and is the object through which other MeshKit class objects are accessed. Since it is a child class of MeshOp, the MKCore instance can also be a node in the MeshOp graph. By convention, the MKCore instance serves as the root of the this (directed) graph.

If the MKCore constructor is called with no arguments, then instances of the geometry, mesh, and relations databases are created inside the constructor; these instances are then deleted in the MKCore destructor. If this is not the desired behavior, either pass in non-NULL instances to the MKCore constructor, or re-set the iCreatedIgeom, iCreatedMoab, and/or iCreatedIrel flags in this class.

Examples:
example_assygen.cpp, example_basic.cpp, example_camalpaver.cpp, example_copygeom.cpp, example_copymesh.cpp, example_coregen.cpp, example_ebmesh.cpp, example_edgemesher.cpp, example_extrudemesh.cpp, example_fbgeom.cpp, example_graph.cpp, example_intassign.cpp, example_jaalquad.cpp, example_mbgeomop.cpp, example_mbsplitop.cpp, example_mbvolop.cpp, example_meshoptemplate.cpp, example_mesquiteopt.cpp, example_ngtetmesher.cpp, example_onetooneswept.cpp, example_parallelmesher.cpp, example_postbl.cpp, example_qslimmesher.cpp, example_scdmesh.cpp, example_setpnt2quad.cpp, example_tfimapping.cpp, example_trianglemesher.cpp, and example_volice.cpp.

Definition at line 45 of file MKCore.hpp.


Constructor & Destructor Documentation

MKCore ( iGeom igeom = NULL,
moab::Interface *  moab = NULL,
iMesh imesh = NULL,
iRel irel = NULL,
bool  construct_missing_ifaces = true 
)

Constructor.

Parameters:
igeomiGeom instance
moabMOAB instance
imeshiMesh instance; if non-NULL, should use/point to moab parameter
ireliRel instance
construct_missing_ifacesIf true, constructs the interfaces whose handles are passed in NULL

Definition at line 44 of file MKCore.cpp.

~MKCore ( ) [virtual]

virtual destructor

Definition at line 88 of file MKCore.cpp.


Member Function Documentation

unsigned int add_igeom_instance ( iGeom igeom)

Return the index of iGeom instance added.

Parameters:
igeomiGeom interface to be added
Examples:
example_fbgeom.cpp, and example_volice.cpp.

Definition at line 210 of file MKCore.cpp.

unsigned int add_irel_pair ( iRel::PairHandle pair) [inline]

Return the index of irel_pair added.

Parameters:
pairiRel::PairHandle pointer to be added
Examples:
example_volice.cpp.

Definition at line 575 of file MKCore.hpp.

Add sizing function to those managed by MeshKit.

The argument to this function is a SizingFunction*; once added, it is MKCore's responsibility to delete this SizingFunction. Applications can tell MKCore to delete a given SizingFunction (e.g. if it requires lots of memory) by calling delete_sizing_function.

Parameters:
sfSizingFunction* to be added
Returns:
Index of sizing function in MKCore's list of SizingFunction's

Definition at line 481 of file MKCore.cpp.

MeshOp * construct_meshop ( std::string  op_name,
const MEntVector me_vec = MEntVector() 
)

Construct a new MeshOp of the specified name.

Parameters:
op_nameMeshOp name being requested
me_vecMEntVector of entities the operation applies to
Returns:
Pointer to new MeshOp constructed

Definition at line 599 of file MKCore.cpp.

MeshOp * construct_meshop ( unsigned int  dim,
const MEntVector me_vec = MEntVector() 
)

Construct the default type of MeshOp for the specified dimension.

Parameters:
dimDimension requested
me_vecMEntVector of entities the operation applies to
Returns:
Pointer to new MeshOp constructed

Definition at line 604 of file MKCore.cpp.

void create_mbg_model_entities ( moab::EntityHandle  modelRootSet,
bool  geometry 
)

\ brief create model entities based on a set root for mesh based geometry

Parameters:
modelRootSetroot model for a complete topology model (for GeomTopoTool)
geometryflag true for FBiGeom geometry, false for simple mesh ModelEnts

Definition at line 689 of file MKCore.cpp.

void delete_all ( )

delete all

This function clears memory occupied by model entities, deletes graph, deletes mesh and geometry

Definition at line 680 of file MKCore.cpp.

delete model entities

This function clears memory occupied by model entities, and empties the vectors. more careful with the lifecycles.

Definition at line 668 of file MKCore.cpp.

EBMesher * eb_mesher ( ) const [inline]

Get the (single) EBMesher instance.

Returns:
EBMesher for this MKCore

Definition at line 631 of file MKCore.hpp.

void eb_mesher ( EBMesher ebm) [inline]

Set the (single) EBMesher instance.

Parameters:
ebmEBMesher for this MKCore

Definition at line 636 of file MKCore.hpp.

MeshOpProxy * get_default_meshop ( unsigned  dimension)

Get default MeshOp for dimension.

Get the default meshop for the specified dimension of entity. Throws excpetion if no there are no registered MeshOps that can mesh entities of the passed dimension.

Parameters:
dimensionDimension of entity to be meshed.
Returns:
pointer to proxy for MeshOp

Definition at line 543 of file MKCore.cpp.

void get_entities_by_dimension ( int  dim,
MEntVector model_ents,
int  igindx = -1 
)

Get model entities of a given dimension.

Parameters:
dimDimension of entities to get (-1 to get all model entities)
model_entsThe list these entities get appended to
igindxthe geometry instance index of the retrieved model ents (default -1 means no check on igeom instance index)
Examples:
example_basic.cpp, example_camalpaver.cpp, example_copygeom.cpp, example_ebmesh.cpp, example_edgemesher.cpp, example_intassign.cpp, example_jaalquad.cpp, example_mbgeomop.cpp, example_mbsplitop.cpp, example_mbvolop.cpp, example_mesquiteopt.cpp, example_ngtetmesher.cpp, example_onetooneswept.cpp, example_parallelmesher.cpp, example_qslimmesher.cpp, example_scdmesh.cpp, example_setpnt2quad.cpp, example_tfimapping.cpp, example_trianglemesher.cpp, and example_volice.cpp.

Definition at line 443 of file MKCore.cpp.

void get_entities_by_handle ( MEntVector model_ents)

Get all model entities.

Parameters:
model_entsThe list these entities get appended to

Definition at line 476 of file MKCore.cpp.

iRel::PairHandle * group_set_pair ( unsigned  index = 0) [inline]

Return the iRel pair handle used to relate geometry sets to mesh entity sets.

Definition at line 581 of file MKCore.hpp.

iGeom * igeom_instance ( unsigned  index = 0) [inline]

Return the iGeom instance pointer.

Parameters:
indexIndex of desired iGeom, default to first
Examples:
example_copygeom.cpp.

Definition at line 535 of file MKCore.hpp.

iGeom::TagHandle igeom_model_tag ( unsigned  index = 0) [inline]

Return the (iGeom) tag used to relate geometry entities to ModelEnts.

Definition at line 589 of file MKCore.hpp.

iMesh * imesh_instance ( unsigned  index = 0) [inline]

Return the iMesh instance pointer.

Parameters:
indexIndex of desired iMesh, default to first
Examples:
example_copymesh.cpp, example_extrudemesh.cpp, example_fbgeom.cpp, example_parallelmesher.cpp, and example_volice.cpp.

Definition at line 551 of file MKCore.hpp.

void init ( bool  construct_missing_ifaces) [private]

initialize, creating missing geom/mesh/rel interfaces if requested

Definition at line 113 of file MKCore.cpp.

void init_opsbydim ( ) [private]

Initialize the opsByDim array.

int initialize_mesh_based_geometry ( iBase_EntitySetHandle  modelSet)

interpret mesh-based geometry

This function interprets the mesh from a moab db as mesh based geometry it will create a new FBiGeom instance and populate the model ents accordingly, with the geometry implied from moab sets and tags it returns the index of FBiGeom in iGeomInstances vector

iRel * irel_instance ( unsigned  index = 0) [inline]

Return the iRel instance pointer.

Examples:
example_volice.cpp.

Definition at line 559 of file MKCore.hpp.

iRel::PairHandle * irel_pair ( unsigned  index = 0) [inline]

Return the iRel pair handle used to relate geometry/mesh entities.

Definition at line 567 of file MKCore.hpp.

void load_geometry ( const char *  filename,
const char *  options = NULL,
int  geom_index = 0,
int  mesh_index = 0,
int  irel_index = 0,
bool  relate_too = false,
bool  populate_too = true 
)

Load a geometry model from a file, and populate mesh entity sets.

Parameters:
filenameThe file to load
optionsFile options to be passed to the load function
geom_indexIndex of geometry instance to use
mesh_indexIndex of mesh instance to use
irel_indexIndex of irel instance to use
relate_tooIf true, infers all geometry-mesh relations after load
populate_tooIf true, calls populate_modelents after load and relate
Examples:
example_camalpaver.cpp, example_copygeom.cpp, example_edgemesher.cpp, example_jaalquad.cpp, example_ngtetmesher.cpp, example_parallelmesher.cpp, example_scdmesh.cpp, example_tfimapping.cpp, and example_volice.cpp.

Definition at line 384 of file MKCore.cpp.

void load_geometry_mesh ( const char *  geom_filename,
const char *  mesh_filename,
const char *  geom_options = NULL,
const char *  mesh_options = NULL,
int  geom_index = 0,
int  mesh_index = 0,
int  irel_index = 0,
bool  relate_too = true,
bool  populate_too = true 
)

Load a geometry model from a file, and populate mesh entity sets.

Parameters:
geom_filenameThe file from which to load geometry
mesh_filenameThe file from which to load mesh
geom_optionsFile options to be passed to the load_geometry function
mesh_optionsFile options to be passed to the load_mesh function
geom_indexIndex of geometry instance to use
mesh_indexIndex of mesh instance to use
irel_indexIndex of irel instance to use
relate_tooIf true, infers all geometry-mesh relations after mesh load
populate_tooIf true, calls populate_modelents after load and relate
Examples:
example_intassign.cpp, and example_onetooneswept.cpp.

Definition at line 353 of file MKCore.cpp.

void load_mesh ( const char *  filename,
const char *  options = NULL,
int  geom_index = 0,
int  mesh_index = 0,
int  irel_index = 0,
bool  relate_too = false,
bool  populate_too = true 
)

Load a mesh model from a file.

Parameters:
filenameThe file to load
optionsFile options to be passed to the load function
geom_indexIndex of geometry instance to use
mesh_indexIndex of mesh instance to use
irel_indexIndex of irel instance to use
relate_tooIf true, infers all geometry-mesh relations after load
populate_tooIf true, calls populate_modelents after load and relate
Examples:
example_ebmesh.cpp, example_mbgeomop.cpp, example_mbsplitop.cpp, example_mbvolop.cpp, example_mesquiteopt.cpp, example_qslimmesher.cpp, example_setpnt2quad.cpp, and example_trianglemesher.cpp.

Definition at line 399 of file MKCore.cpp.

void meshop_by_dimension ( int  dim,
std::vector< MeshOpProxy * > &  ops 
)

Return MeshOp types that can operate on geometric entities of specified dimension.

Parameters:
dimEntity dimension requested
opsMeshOp types returned

Definition at line 585 of file MKCore.cpp.

void meshop_by_mesh_type ( moab::EntityType  tp,
std::vector< MeshOpProxy * > &  ops 
)

Return MeshOp types that can generate or operate on the specified mesh entity type.

Parameters:
tpEntity type requested
opsMeshOp types returned

Definition at line 570 of file MKCore.cpp.

void meshop_by_modelent ( ModelEnt *const  ent,
std::vector< MeshOpProxy * > &  ops 
)

Return MeshOp types that can mesh the specified ModelEnt.

Parameters:
entModelEnt* requested
opsMeshOp types returned

Definition at line 591 of file MKCore.cpp.

unsigned int meshop_index ( const char *  op_name) [static]

Return the MeshOp index given the name.

Parameters:
op_nameOperation name requested
Returns:
OpInfo index for the corresponding MeshOp type

Definition at line 528 of file MKCore.cpp.

MeshOpProxy * meshop_proxy ( const char *  op_name) [static]

Return the MeshOp type with the given name.

Parameters:
op_nameOperation name requested
Returns:
MeshOpProxy for the corresponding MeshOp type

Definition at line 513 of file MKCore.cpp.

MeshOpProxy * meshop_proxy ( unsigned  index) [static]

Return the MeshOp type at the sepcified index.

Parameters:
indexOperation index requested
Returns:
MeshOpProxy for the corresponding MeshOp type

Definition at line 518 of file MKCore.cpp.

moab::Tag moab_geom_dim_tag ( unsigned  index = 0) [inline]

Return the (MOAB) geometry dimension tag.

Definition at line 605 of file MKCore.hpp.

moab::Tag moab_global_id_tag ( unsigned  index = 0) [inline]

Return the (MOAB) global id tag.

Definition at line 613 of file MKCore.hpp.

moab::Interface * moab_instance ( unsigned  index = 0) [inline]
moab::Tag moab_model_tag ( unsigned  index = 0) [inline]

Return the (MOAB) tag used to relate mesh entities to ModelEnts.

Definition at line 597 of file MKCore.hpp.

unsigned num_meshops ( ) [static]

Number of registered MeshOps.

Returns:
One more than largest possible MeshOp index

Definition at line 523 of file MKCore.cpp.

int number_of_igeom_instances ( ) [inline]

retrieve number of iGeom instances

This function returns number of igeom instances, to be used by some mesh operations.

Definition at line 459 of file MKCore.hpp.

void populate_model_ents ( int  geom_index = 0,
int  mesh_index = 0,
int  irel_index = 0,
bool  only_geom = false 
)

Populate model entities for geometry and mesh Pass -1 for geom, mesh, or irel index to disable checking for entities in those interfaces (geom, mesh) or skip the check for relations (irel)

Parameters:
geom_indexIndex of geometry instance to use
mesh_indexIndex of mesh instance to use
irel_indexIndex of irel instance to use
use_irelflag to create relations or not
Examples:
example_basic.cpp, and example_jaalquad.cpp.

Definition at line 235 of file MKCore.cpp.

void register_meshop ( MeshOpProxy proxy) [static]

Register a new MeshOp factory.

Parameters:
proxyclass-specific (as opposed to instance-specific) polymorphic methods

Definition at line 508 of file MKCore.cpp.

void remove_mesh_based_geometry ( int  index)

remove mesh-based geometry instance

This function removes the FBiGeom instance and clears some memory (will delete the smooth tags, among other things), but it should preserve the geom topo model intact

void remove_sizing_function ( int  index,
bool  delete_too = true 
)

Remove and, optionally, delete sizing function.

This function removes the referenced sizing function from MKCore's list (setting the corresponding SizingFunction* to NULL, to keep others at the same index position). Throws an Error if requested sizing function is NULL.

Parameters:
indexIndex of SizingFunction to be removed
delete_tooIf true, deletes the SizingFunction object too

Definition at line 487 of file MKCore.cpp.

void save_geometry ( const char *  filename,
const char *  options = NULL,
int  index = 0 
)

Save a geometry model to a file.

Parameters:
filenameThe file to save
optionsFile options to be passed to the save function
indexIndex of geometry instance to use
Examples:
example_basic.cpp, and example_meshoptemplate.cpp.

Definition at line 415 of file MKCore.cpp.

void save_mesh ( const char *  filename,
const char *  options = NULL,
int  index = 0 
)

Save a mesh model to a file.

Parameters:
filenameThe file to save
optionsFile options to be passed to the save function
indexIndex of mesh instance to use
Examples:
example_basic.cpp, example_copymesh.cpp, example_coregen.cpp, example_ebmesh.cpp, example_edgemesher.cpp, example_extrudemesh.cpp, example_intassign.cpp, example_jaalquad.cpp, example_meshoptemplate.cpp, example_mesquiteopt.cpp, example_onetooneswept.cpp, example_postbl.cpp, example_scdmesh.cpp, example_tfimapping.cpp, and example_volice.cpp.

Definition at line 421 of file MKCore.cpp.

void save_mesh_from_model_ents ( const char *  filename,
MEntVector ments,
const char *  options = NULL,
int  index = 0 
)

Save part of a model mesh to a file.

Parameters:
filenameThe file to save
mentsvector of model entities to be exported
optionsFile options to be passed to the save function
indexIndex of mesh instance to use
Examples:
example_setpnt2quad.cpp.

Definition at line 427 of file MKCore.cpp.

void set_default_meshop ( const char *  op_name,
unsigned short  dims 
)

Make the specified MeshOp name the default for the given dimension(s)

If the specified MeshOp cannot produce entities of the specified dimension, an error is thrown with type MK_BAD_INPUT.

Parameters:
op_nameMeshOp name being set
dimsBitmask, where 2^x indicates that this MeshOp should be the default for dimension x

Definition at line 533 of file MKCore.cpp.

void set_default_meshop ( unsigned  op_index,
unsigned short  dims 
)

Make the specified MeshOp the default for the given dimension(s)

If the specified MeshOp cannot produce entities of the specified dimension, an error is thrown with type MK_BAD_INPUT.

Parameters:
op_indexMeshOp index being set
dimsBitmask, where 2^x indicates that this MeshOp should be the default for dimension x

Definition at line 538 of file MKCore.cpp.

void set_default_meshop ( MeshOpProxy mesh_op,
unsigned short  dims 
)

Make the specified MeshOp the default for the given dimension(s)

If the specified MeshOp cannot produce entities of the specified dimension, an error is thrown with type MK_BAD_INPUT.

Parameters:
mesh_opMeshOp being set
dimsBitmask, where 2^x indicates that this MeshOp should be the default for dimension x

Definition at line 557 of file MKCore.cpp.

SizingFunction * sizing_function ( int  index) [inline]

Get sizing function by index If the requested index is outside the range of SizingFunction's currently registered, throws an Error.

Parameters:
indexIndex of sizing function requested
Returns:
SizingFunction* to requested sizing function, NULL of no SizingFunction with that index

Definition at line 641 of file MKCore.hpp.

SizingFunction * sizing_function ( double  size,
bool  create_if_missing 
)

Get sizing function by size If there is no sizing function with that size and create_if_missing is true, one is constructed and registered with MKCore.

Parameters:
sizeRequested size
create_if_missingIf true and no sizing function exists with the specified size, one is created.
Returns:
SizingFunction* to requested sizing function, NULL if no SizingFunction with that size

Definition at line 497 of file MKCore.cpp.

VertexMesher * vertex_mesher ( ) const [inline]

Get the (single) VertexMesher instance.

Returns:
VertexMesher for this MKCore
Examples:
example_onetooneswept.cpp, and example_volice.cpp.

Definition at line 626 of file MKCore.hpp.

void vertex_mesher ( VertexMesher vm) [inline]

Set the (single) VertexMesher instance.

Parameters:
vmVertexMesher for this MKCore

Definition at line 621 of file MKCore.hpp.


Member Data Documentation

MeshOpProxy* defaultMeshOps[4] [private]

Default algorithms for each dimension.

Definition at line 529 of file MKCore.hpp.

EBMesher* ebMesher [private]

(Single) EBMesher scheme for this MKCore

Definition at line 526 of file MKCore.hpp.

std::vector<iRel::PairHandle *> groupSetPairs [private]

iRel pair handle used to relate geometry groups to mesh entity sets

Definition at line 502 of file MKCore.hpp.

std::vector<bool> iCreatedIgeoms [private]

If true, the corresponding interfaces will get deleted from the destructor.

Definition at line 517 of file MKCore.hpp.

std::vector<bool> iCreatedImeshs [private]

Definition at line 517 of file MKCore.hpp.

std::vector<bool> iCreatedIrels [private]

Definition at line 517 of file MKCore.hpp.

std::vector<bool> iCreatedMoabs [private]

Definition at line 517 of file MKCore.hpp.

std::vector<iGeom *> iGeomInstances [private]

Geometry api instance.

Definition at line 487 of file MKCore.hpp.

std::vector<iGeom::TagHandle> iGeomModelTags [private]

Tag used to associate geometry entities with model entities.

Definition at line 505 of file MKCore.hpp.

std::vector<iMesh *> iMeshInstances [private]

iMesh api instance, for use in iRel

Definition at line 493 of file MKCore.hpp.

std::vector<iRel *> iRelInstances [private]

IREL api instance.

Definition at line 496 of file MKCore.hpp.

std::vector<iRel::PairHandle *> iRelPairs [private]

iRel pair handle used to relate geometry/mesh entities

Definition at line 499 of file MKCore.hpp.

std::vector<moab::Tag> moabGeomDimTags [private]

Tag used to associate existing mesh entities with model entities.

Definition at line 511 of file MKCore.hpp.

std::vector<moab::Tag> moabIDTags [private]

Tag used to associate existing mesh entities with model entities.

Definition at line 514 of file MKCore.hpp.

std::vector<moab::Interface *> moabInstances [private]

MOAB instance.

Definition at line 490 of file MKCore.hpp.

std::vector<moab::Tag> moabModelTags [private]

Tag used to associate mesh entities with model entities.

Definition at line 508 of file MKCore.hpp.

MEntVector modelEnts[5] [private]

Model entities, in array by topological dimension.

Definition at line 520 of file MKCore.hpp.

std::vector<SizingFunction*> sizingFunctions [private]

SizingFunction vector.

Definition at line 532 of file MKCore.hpp.

(Single) VertexMesher scheme for this MKCore

Definition at line 523 of file MKCore.hpp.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines