MOAB: Mesh Oriented datABase  (version 5.5.0)
FBiGeom_MOAB.cpp File Reference
#include <iostream>
#include <map>
#include "FBiGeom_MOAB.hpp"
#include "moab/GeomTopoTool.hpp"
#include "moab/OrientedBoxTreeTool.hpp"
#include "moab/CartVect.hpp"
#include "moab/FileOptions.hpp"
#include "MBTagConventions.hpp"
#include <cstdlib>
#include <cstring>
#include <cassert>
+ Include dependency graph for FBiGeom_MOAB.cpp:

Go to the source code of this file.

Macros

#define COPY_RANGE(r, vec)
 
#define TAG_HANDLE(tagh)   reinterpret_cast< Tag >( tagh )
 
#define COPY_DOUBLEVEC(r, vec)
 

Functions

static int compare_no_case1 (const char *str1, const char *str2, size_t n)
 
static std::string filter_options1 (const char *begin, const char *end)
 
void FBiGeom_getDescription (FBiGeom_Instance instance, char *descr, int descr_len)
 Get a description of the error returned from the last FBiGeom call. More...
 
void FBiGeom_getErrorType (FBiGeom_Instance instance, int *error_type)
 Get the error type returned from the last FBiGeom function. More...
 
void FBiGeom_newGeom (char const *options, FBiGeom_Instance *instance_out, int *err, int options_len)
 Construct a new FBiGeom instance. More...
 
void FBiGeom_dtor (FBiGeom_Instance instance, int *err)
 Construct a new FBiGeom instance. More...
 
void FBiGeom_newGeomFromMesh (iMesh_Instance mesh, iBase_EntitySetHandle set, const char *options, FBiGeom_Instance *geom, int *err, int)
 
void FBiGeom_dtor2 (FBiGeom_Instance instance, int *err)
 
void FBiGeom_load (FBiGeom_Instance instance, char const *name, char const *options, int *err, int, int options_len)
 Load a geom from a file. More...
 
void FBiGeom_save (FBiGeom_Instance instance, char const *name, char const *options, int *err, int name_len, int options_len)
 Save a geom to a file. More...
 
void FBiGeom_getRootSet (FBiGeom_Instance instance, iBase_EntitySetHandle *root_set, int *err)
 Get handle of the root set for this instance. More...
 
void FBiGeom_getBoundBox (FBiGeom_Instance instance, double *, double *, double *, double *, double *, double *, int *err)
 Get the bounding box of the entire model. More...
 
void FBiGeom_getEntities (FBiGeom_Instance instance, iBase_EntitySetHandle set_handle, int entity_type, iBase_EntityHandle **entity_handles, int *entity_handles_allocated, int *entity_handles_size, int *err)
 Get entities of specific type in set or instance. More...
 
void FBiGeom_getNumOfType (FBiGeom_Instance instance, iBase_EntitySetHandle set_handle, int entity_type, int *num_out, int *err)
 Get the number of entities with the specified type in the instance or set. More...
 
void FBiGeom_getEntType (FBiGeom_Instance instance, iBase_EntityHandle entity_handle, int *type, int *err)
 Get the entity type for the specified entity. More...
 
void FBiGeom_getArrType (FBiGeom_Instance instance, iBase_EntityHandle const *entity_handles, int entity_handles_size, int **type, int *type_allocated, int *type_size, int *err)
 Get the entity type for the specified entities. More...
 
void FBiGeom_getEntAdj (FBiGeom_Instance instance, iBase_EntityHandle entity_handle, int to_dimension, iBase_EntityHandle **adj_entities, int *adj_entities_allocated, int *adj_entities_size, int *err)
 Get entities of specified type adjacent to an entity. More...
 
void FBiGeom_getArrAdj (FBiGeom_Instance instance, iBase_EntityHandle const *entity_handles, int entity_handles_size, int requested_entity_type, iBase_EntityHandle **adj_entity_handles, int *adj_entity_handles_allocated, int *adj_entity_handles_size, int **offset, int *offset_allocated, int *offset_size, int *err)
 Get entities of specified type adjacent to entities. More...
 
void FBiGeom_getEnt2ndAdj (FBiGeom_Instance instance, iBase_EntityHandle entity_handle, int bridge_dimension, int to_dimension, iBase_EntityHandle **adjacent_entities, int *adjacent_entities_allocated, int *adjacent_entities_size, int *err)
 Get "2nd order" adjacencies to an entity. More...
 
void FBiGeom_getArr2ndAdj (FBiGeom_Instance instance, iBase_EntityHandle const *, int, int, int, iBase_EntityHandle **, int *, int *, int **, int *, int *, int *err)
 Get "2nd order" adjacencies to an array of entities. More...
 
void FBiGeom_isEntAdj (FBiGeom_Instance instance, iBase_EntityHandle entity_handle1, iBase_EntityHandle entity_handle2, int *are_adjacent, int *err)
 Return whether two entities are adjacent. More...
 
void FBiGeom_isArrAdj (FBiGeom_Instance instance, iBase_EntityHandle const *entity_handles_1, int entity_handles_1_size, iBase_EntityHandle const *entity_handles_2, int entity_handles_2_size, int **is_adjacent_info, int *is_adjacent_info_allocated, int *is_adjacent_info_size, int *err)
 Return whether entity pairs are adjacent. More...
 
void FBiGeom_getEntClosestPt (FBiGeom_Instance instance, iBase_EntityHandle entity_handle, double near_x, double near_y, double near_z, double *on_x, double *on_y, double *on_z, int *err)
 Get closest point to an entity. More...
 
void FBiGeom_getArrClosestPt (FBiGeom_Instance instance, iBase_EntityHandle const *entity_handles, int entity_handles_size, int storage_order, double const *near_coordinates, int near_coordinates_size, double **on_coordinates, int *on_coordinates_allocated, int *on_coordinates_size, int *err)
 Get closest point for an array of entities and points For surfaces, it made sure the closest point in on surface. Get closest point for an array of entities and points. If either the number of entities or number of coordinate triples is unity, then all points or entities are queried for that entity or point, respectively, otherwise each point corresponds to each entity. storage_order should be a value in the iBase_StorageOrder enum. More...
 
void FBiGeom_getEntNrmlXYZ (FBiGeom_Instance instance, iBase_EntityHandle entity_handle, double x, double y, double z, double *nrml_i, double *nrml_j, double *nrml_k, int *err)
 Get the normal vector on an entity at the given position Get the normal vector on an entity at the given position. More...
 
void FBiGeom_getArrNrmlXYZ (FBiGeom_Instance instance, iBase_EntityHandle const *entity_handles, int entity_handles_size, int storage_order, double const *coordinates, int coordinates_size, double **normals, int *normals_allocated, int *normals_size, int *err)
 Get the normal vector on an entity(ies) at given position(s) More...
 
void FBiGeom_getEntNrmlPlXYZ (FBiGeom_Instance instance, iBase_EntityHandle entity_handle, double x, double y, double z, double *pt_x, double *pt_y, double *pt_z, double *nrml_i, double *nrml_j, double *nrml_k, int *err)
 Get the normal vector AND closest point on an entity at given position. More...
 
void FBiGeom_getArrNrmlPlXYZ (FBiGeom_Instance instance, iBase_EntityHandle const *entity_handles, int entity_handles_size, int storage_order, double const *near_coordinates, int near_coordinates_size, double **on_coordinates, int *on_coordinates_allocated, int *on_coordinates_size, double **normals, int *normals_allocated, int *normals_size, int *err)
 Get the normal vector AND closest point on an entity(ies) at given position(s) More...
 
void FBiGeom_getEntTgntXYZ (FBiGeom_Instance instance, iBase_EntityHandle, double, double, double, double *, double *, double *, int *err)
 Get the tangent vector on an entity at given position. More...
 
void FBiGeom_getArrTgntXYZ (FBiGeom_Instance instance, iBase_EntityHandle const *, int, int, double const *, int, double **, int *, int *, int *err)
 Get the tangent vector on an entity(ies) at given position(s) More...
 
void FBiGeom_getEntBoundBox (FBiGeom_Instance instance, iBase_EntityHandle entity_handle, double *min_x, double *min_y, double *min_z, double *max_x, double *max_y, double *max_z, int *err)
 Get the bounding box of the specified entity. More...
 
void FBiGeom_getArrBoundBox (FBiGeom_Instance instance, iBase_EntityHandle const *entity_handles, int entity_handles_size, int storage_order, double **min_corner, int *min_corner_allocated, int *min_corner_size, double **max_corner, int *max_corner_allocated, int *max_corner_size, int *err)
 Get the bounding box of the specified entities. More...
 
void FBiGeom_getVtxCoord (FBiGeom_Instance instance, iBase_EntityHandle vertex_handle, double *x, double *y, double *z, int *err)
 Get coordinates of specified vertex. More...
 
void FBiGeom_getVtxArrCoords (FBiGeom_Instance instance, iBase_EntityHandle const *entity_handles, int entity_handles_size, int storage_order, double **coordinates, int *coordinates_allocated, int *coordinates_size, int *err)
 Get coordinates of specified vertices. More...
 
void FBiGeom_getPntRayIntsct (FBiGeom_Instance instance, double x, double y, double z, double dir_x, double dir_y, double dir_z, iBase_EntityHandle **intersect_entity_handles, int *intersect_entity_handles_allocated, int *intersect_entity_handles_size, int storage_order, double **intersect_coords, int *intersect_coords_allocated, int *intersect_coords_size, double **param_coords, int *param_coords_allocated, int *param_coords_size, int *err)
 Intersect a ray with the model. More...
 
void FBiGeom_getPntArrRayIntsct (FBiGeom_Instance instance, int, const double *, int, const double *, int, iBase_EntityHandle **, int *, int *, int **, int *, int *, double **, int *, int *, double **, int *, int *, int *err)
 Intersect an array of rays with the model. More...
 
void FBiGeom_getEntNrmlSense (FBiGeom_Instance instance, iBase_EntityHandle face, iBase_EntityHandle region, int *sense_out, int *err)
 Get the sense of a face with respect to a region. More...
 
void FBiGeom_getArrNrmlSense (FBiGeom_Instance instance, iBase_EntityHandle const *, int, iBase_EntityHandle const *, int, int **, int *, int *, int *err)
 Get the senses of an array of faces with respect to an array of regions. More...
 
void FBiGeom_getEgFcSense (FBiGeom_Instance instance, iBase_EntityHandle edge, iBase_EntityHandle face, int *sense_out, int *err)
 Get the sense of an edge with respect to a face Get the sense of an edge with respect to a face. Sense returned is -1, 0, or 1, representing "reversed", "both", or "forward". "both" sense indicates that edge bounds the face once with each sense. More...
 
void FBiGeom_getEgFcArrSense (FBiGeom_Instance instance, iBase_EntityHandle const *, int, iBase_EntityHandle const *, int, int **, int *, int *, int *err)
 Get the senses of an array of edges with respect to an array of faces. More...
 
void FBiGeom_getEgVtxSense (FBiGeom_Instance instance, iBase_EntityHandle edge, iBase_EntityHandle vertex1, iBase_EntityHandle vertex2, int *sense_out, int *err)
 Get the sense of a vertex pair with respect to an edge. More...
 
void FBiGeom_getEgVtxArrSense (FBiGeom_Instance instance, iBase_EntityHandle const *, int, iBase_EntityHandle const *, int, iBase_EntityHandle const *, int, int **, int *, int *, int *err)
 Get the senses of vertex pair with respect to a edges. More...
 
void FBiGeom_measure (FBiGeom_Instance instance, iBase_EntityHandle const *entity_handles, int entity_handles_size, double **measures, int *measures_allocated, int *measures_size, int *err)
 Return the measure (length, area, or volume) of entities. More...
 
void FBiGeom_getFaceType (FBiGeom_Instance instance, iBase_EntityHandle, char *face_type, int *err, int *face_type_length)
 Get the geometric type of a face. More...
 
void FBiGeom_getParametric (FBiGeom_Instance instance, int *is_parametric, int *err)
 Return whether interface has information about parameterization. More...
 
void FBiGeom_isEntParametric (FBiGeom_Instance instance, iBase_EntityHandle entity_handle, int *parametric, int *err)
 Return whether an entity has a parameterization. More...
 
void FBiGeom_isArrParametric (FBiGeom_Instance instance, iBase_EntityHandle const *, int, int **, int *, int *, int *err)
 Return whether entities have parameterizations. More...
 
void FBiGeom_getEntUVtoXYZ (FBiGeom_Instance instance, iBase_EntityHandle, double, double, double *, double *, double *, int *err)
 Return coordinate position at specified parametric position on entity. More...
 
void FBiGeom_getArrUVtoXYZ (FBiGeom_Instance instance, iBase_EntityHandle const *, int, int, double const *, int, double **, int *, int *, int *err)
 Return coordinate positions at specified parametric position(s) on entity(ies) More...
 
void FBiGeom_getEntUtoXYZ (FBiGeom_Instance instance, iBase_EntityHandle entity_handle, double u, double *x, double *y, double *z, int *err)
 Return coordinate position at specified parametric position on entity. More...
 
void FBiGeom_getArrUtoXYZ (FBiGeom_Instance instance, iBase_EntityHandle const *, int, double const *, int, int, double **, int *, int *, int *err)
 Return coordinate positions at specified parametric position(s) on entity(ies) More...
 
void FBiGeom_getEntXYZtoUV (FBiGeom_Instance instance, iBase_EntityHandle, double, double, double, double *, double *, int *err)
 Return parametric position at specified spatial position on entity. More...
 
void FBiGeom_getEntXYZtoU (FBiGeom_Instance instance, iBase_EntityHandle, double, double, double, double *, int *err)
 Return parametric position at specified spatial position on entity. More...
 
void FBiGeom_getArrXYZtoUV (FBiGeom_Instance instance, iBase_EntityHandle const *, int, int, double const *, int, double **, int *, int *, int *err)
 Return parametric positions at specified spatial position(s) on entity(ies) Return parametric positions at specified spatial position(s) on entity(ies). If either the number of entities or number of spatial coordinate triples is unity, then all points or entities are queried for that entity or point, respectively, otherwise each point corresponds to each entity. storage_order should be a value in the iBase_StorageOrder enum. More...
 
void FBiGeom_getArrXYZtoU (FBiGeom_Instance instance, iBase_EntityHandle const *, int, int, double const *, int, double **, int *, int *, int *err)
 Return spatial positions at specified parametric position(s) on entity(ies) More...
 
void FBiGeom_getEntXYZtoUVHint (FBiGeom_Instance instance, iBase_EntityHandle, double, double, double, double *, double *, int *err)
 Return parametric position at specified spatial position on entity, based on parametric position hint. More...
 
void FBiGeom_getArrXYZtoUVHint (FBiGeom_Instance instance, iBase_EntityHandle const *, int, int, double const *, int, double **, int *, int *, int *err)
 Return parametric positions at specified spatial position(s) on entity(ies), based on parametric position hints Return parametric positions at specified spatial position(s) on entity(ies), based on parametric position hints. If either the number of entities or number of spatial coordinate triples is unity, then all points or entities are queried for that entity or point, respectively, otherwise each point corresponds to each entity. storage_order should be a value in the iBase_StorageOrder enum. More...
 
void FBiGeom_getEntUVRange (FBiGeom_Instance instance, iBase_EntityHandle, double *, double *, double *, double *, int *err)
 Get parametric range of entity. More...
 
void FBiGeom_getEntURange (FBiGeom_Instance instance, iBase_EntityHandle entity_handle, double *u_min, double *u_max, int *err)
 Get parametric range of entity. More...
 
void FBiGeom_getArrUVRange (FBiGeom_Instance instance, iBase_EntityHandle const *, int, int, double **, int *, int *, double **, int *, int *, int *err)
 Get parametric range of entities. More...
 
void FBiGeom_getArrURange (FBiGeom_Instance instance, iBase_EntityHandle const *, int, double **, int *, int *, double **, int *, int *, int *err)
 Get parametric range of entities. More...
 
void FBiGeom_getEntUtoUV (FBiGeom_Instance instance, iBase_EntityHandle, iBase_EntityHandle, double, double *, double *, int *err)
 Return the face parametric coordinates for a parametric position on a bounding edge. More...
 
void FBiGeom_getVtxToUV (FBiGeom_Instance instance, iBase_EntityHandle, iBase_EntityHandle, double *, double *, int *err)
 Return parametric coordinates on face of vertex position. More...
 
void FBiGeom_getVtxToU (FBiGeom_Instance instance, iBase_EntityHandle, iBase_EntityHandle, double *, int *err)
 Return parametric coordinates on edge of vertex position. More...
 
void FBiGeom_getArrUtoUV (FBiGeom_Instance instance, iBase_EntityHandle const *, int, iBase_EntityHandle const *, int, double const *, int, int, double **, int *, int *, int *err)
 Return the face parametric coordinates for a parametric position on bounding edges. More...
 
void FBiGeom_getVtxArrToUV (FBiGeom_Instance instance, iBase_EntityHandle const *, int, iBase_EntityHandle const *, int, int, double **, int *, int *, int *err)
 Return parametric coordinates on faces of vertex positions. More...
 
void FBiGeom_getVtxArrToU (FBiGeom_Instance instance, iBase_EntityHandle const *, int, iBase_EntityHandle const *, int, double **, int *, int *, int *err)
 Return parametric coordinates on edges of vertex positions. More...
 
void FBiGeom_getEntNrmlUV (FBiGeom_Instance instance, iBase_EntityHandle, double, double, double *, double *, double *, int *err)
 Return the normal at a specified parametric position. More...
 
void FBiGeom_getArrNrmlUV (FBiGeom_Instance instance, iBase_EntityHandle const *, int, int, double const *, int, double **, int *, int *, int *err)
 Return the normals at specified parametric positions. More...
 
void FBiGeom_getEntTgntU (FBiGeom_Instance instance, iBase_EntityHandle entity_handle, double u, double *tgnt_i, double *tgnt_j, double *tgnt_k, int *err)
 Return the tangent at a specified parametric position. More...
 
void FBiGeom_getArrTgntU (FBiGeom_Instance instance, iBase_EntityHandle const *, int, int, double const *, int, double **, int *, int *, int *err)
 Return the tangents at specified parametric positions. More...
 
void FBiGeom_getEnt1stDrvt (FBiGeom_Instance instance, iBase_EntityHandle, double, double, double **, int *, int *, double **, int *, int *, int *err)
 Get the first derivative of a face at specified parametric position. More...
 
void FBiGeom_getArr1stDrvt (FBiGeom_Instance instance, iBase_EntityHandle const *, int, int, double const *, int, double **, int *, int *, int **, int *, int *, double **, int *, int *, int **, int *, int *, int *err)
 Get the first derivatives of faces at specified parametric positions. More...
 
void FBiGeom_getEnt2ndDrvt (FBiGeom_Instance instance, iBase_EntityHandle, double, double, double **, int *, int *, double **, int *, int *, double **, int *, int *, int *err)
 Get the second derivative of a face at specified parametric position. More...
 
void FBiGeom_getArr2ndDrvt (FBiGeom_Instance instance, iBase_EntityHandle const *, int, int, double const *, int, double **, int *, int *, int **, int *, int *, double **, int *, int *, int **, int *, int *, double **, int *, int *, int **, int *, int *, int *err)
 Get the second derivatives of faces at specified parametric positions. More...
 
void FBiGeom_getFcCvtrUV (FBiGeom_Instance instance, iBase_EntityHandle, double, double, double *, double *, double *, double *, double *, double *, int *err)
 Get the two principle curvature vectors for a face at a parametric position. More...
 
void FBiGeom_getFcArrCvtrUV (FBiGeom_Instance instance, iBase_EntityHandle const *, int, int, double const *, int, double **, int *, int *, double **, int *, int *, int *err)
 Get the curvature(s) on face(s) at given parametric position(s) More...
 
void FBiGeom_isEntPeriodic (FBiGeom_Instance, iBase_EntityHandle, int *in_u, int *in_v, int *err)
 Return whether an entity is periodic. More...
 
void FBiGeom_isArrPeriodic (FBiGeom_Instance instance, iBase_EntityHandle const *, int, int **, int *, int *, int *err)
 Return whether entities are periodic. More...
 
void FBiGeom_isFcDegenerate (FBiGeom_Instance instance, iBase_EntityHandle, int *, int *err)
 Return whether a face is degenerate. More...
 
void FBiGeom_isFcArrDegenerate (FBiGeom_Instance instance, iBase_EntityHandle const *, int, int **, int *, int *, int *err)
 Return whether faces are degenerate. More...
 
void FBiGeom_initEntIter (FBiGeom_Instance instance, iBase_EntitySetHandle, int, iBase_EntityIterator *, int *err)
 Initialize an iterator over specified entity type. More...
 
void FBiGeom_initEntArrIter (FBiGeom_Instance instance, iBase_EntitySetHandle, int, int, iBase_EntityArrIterator *, int *err)
 Initialize an array iterator over specified entity type and size. More...
 
void FBiGeom_getNextEntIter (FBiGeom_Instance instance, iBase_EntityIterator, iBase_EntityHandle *, int *, int *err)
 Get entity corresponding to an iterator and increment iterator. More...
 
void FBiGeom_getNextEntArrIter (FBiGeom_Instance instance, iBase_EntityArrIterator, iBase_EntityHandle **, int *, int *, int *, int *err)
 Get entities contained in array iterator and increment iterator. More...
 
void FBiGeom_resetEntIter (FBiGeom_Instance instance, iBase_EntityIterator, int *err)
 Reset the iterator. More...
 
void FBiGeom_resetEntArrIter (FBiGeom_Instance instance, iBase_EntityArrIterator, int *err)
 Reset the array iterator. More...
 
void FBiGeom_endEntIter (FBiGeom_Instance instance, iBase_EntityIterator, int *err)
 Destroy the specified iterator. More...
 
void FBiGeom_endEntArrIter (FBiGeom_Instance instance, iBase_EntityArrIterator, int *err)
 Destroy the specified array iterator. More...
 
void FBiGeom_copyEnt (FBiGeom_Instance instance, iBase_EntityHandle, iBase_EntityHandle *, int *err)
 Make a copy of the specified entity. More...
 
void FBiGeom_sweepEntAboutAxis (FBiGeom_Instance instance, iBase_EntityHandle, double, double, double, double, iBase_EntityHandle *, int *err)
 Sweep (extrude) an entity about an axis. More...
 
void FBiGeom_deleteAll (FBiGeom_Instance instance, int *err)
 Delete all entities and sets. More...
 
void FBiGeom_deleteEnt (FBiGeom_Instance instance, iBase_EntityHandle, int *err)
 Delete specified entity. More...
 
void FBiGeom_createSphere (FBiGeom_Instance instance, double, iBase_EntityHandle *, int *err)
 Create a sphere. More...
 
void FBiGeom_createPrism (FBiGeom_Instance instance, double, int, double, double, iBase_EntityHandle *, int *err)
 Create a prism. More...
 
void FBiGeom_createBrick (FBiGeom_Instance instance, double, double, double, iBase_EntityHandle *, int *err)
 Create an axis-oriented box. More...
 
void FBiGeom_createCylinder (FBiGeom_Instance instance, double, double, double, iBase_EntityHandle *, int *err)
 Create a cylinder. More...
 
void FBiGeom_createCone (FBiGeom_Instance instance, double, double, double, double, iBase_EntityHandle *, int *err)
 Create a cone or tapered cylinder. More...
 
void FBiGeom_createTorus (FBiGeom_Instance instance, double, double, iBase_EntityHandle *, int *err)
 Create a torus. More...
 
void FBiGeom_moveEnt (FBiGeom_Instance instance, iBase_EntityHandle, double, double, double, int *err)
 Move an entity by the given vector. More...
 
void FBiGeom_rotateEnt (FBiGeom_Instance instance, iBase_EntityHandle, double, double, double, double, int *err)
 Rotate an entity about an axis. More...
 
void FBiGeom_reflectEnt (FBiGeom_Instance instance, iBase_EntityHandle, double, double, double, double, double, double, int *err)
 Reflect an entity across a plane. More...
 
void FBiGeom_scaleEnt (FBiGeom_Instance instance, iBase_EntityHandle, double, double, double, double, double, double, int *err)
 Scale an entity in the x, y, and z directions. More...
 
void FBiGeom_uniteEnts (FBiGeom_Instance instance, iBase_EntityHandle const *, int, iBase_EntityHandle *, int *err)
 Geometrically unite entities. More...
 
void FBiGeom_subtractEnts (FBiGeom_Instance instance, iBase_EntityHandle, iBase_EntityHandle, iBase_EntityHandle *, int *err)
 Geometrically subtract one entity from another. More...
 
void FBiGeom_intersectEnts (FBiGeom_Instance instance, iBase_EntityHandle, iBase_EntityHandle, iBase_EntityHandle *, int *err)
 Geometrically intersect a pair of entities. More...
 
void FBiGeom_sectionEnt (FBiGeom_Instance instance, iBase_EntityHandle, double, double, double, double, int, iBase_EntityHandle *, int *err)
 Section (cut) a region with a plane. More...
 
void FBiGeom_imprintEnts (FBiGeom_Instance instance, iBase_EntityHandle const *, int, int *err)
 Imprint entities. More...
 
void FBiGeom_mergeEnts (FBiGeom_Instance instance, iBase_EntityHandle const *, int, double, int *err)
 Merge ents. More...
 
void FBiGeom_createEntSet (FBiGeom_Instance instance, int isList, iBase_EntitySetHandle *entity_set_created, int *err)
 Create an entity set. More...
 
void FBiGeom_destroyEntSet (FBiGeom_Instance instance, iBase_EntitySetHandle, int *err)
 Destroy an entity set. More...
 
void FBiGeom_isList (FBiGeom_Instance instance, iBase_EntitySetHandle, int *, int *err)
 Return whether a specified set is ordered or unordered. More...
 
void FBiGeom_getNumEntSets (FBiGeom_Instance instance, iBase_EntitySetHandle entity_set_handle, int, int *num_sets, int *err)
 Get the number of entity sets contained in a set or interface. More...
 
void FBiGeom_getEntSets (FBiGeom_Instance instance, iBase_EntitySetHandle entity_set_handle, int, iBase_EntitySetHandle **contained_set_handles, int *contained_set_handles_allocated, int *contained_set_handles_size, int *err)
 Get the entity sets contained in a set or interface. More...
 
void FBiGeom_addEntToSet (FBiGeom_Instance instance, iBase_EntityHandle entity_handle, iBase_EntitySetHandle entity_set, int *err)
 Add an entity to a set. More...
 
void FBiGeom_rmvEntFromSet (FBiGeom_Instance instance, iBase_EntityHandle entity_handle, iBase_EntitySetHandle entity_set, int *err)
 Remove an entity from a set. More...
 
void FBiGeom_addEntArrToSet (FBiGeom_Instance instance, const iBase_EntityHandle *entity_handles, int entity_handles_size, iBase_EntitySetHandle entity_set, int *err)
 Add an array of entities to a set. More...
 
void FBiGeom_rmvEntArrFromSet (FBiGeom_Instance instance, const iBase_EntityHandle *entity_handles, int entity_handles_size, iBase_EntitySetHandle entity_set, int *err)
 Remove an array of entities from a set. More...
 
void FBiGeom_addEntSet (FBiGeom_Instance instance, iBase_EntitySetHandle entity_set_to_add, iBase_EntitySetHandle entity_set_handle, int *err)
 Add an entity set to a set. More...
 
void FBiGeom_rmvEntSet (FBiGeom_Instance instance, iBase_EntitySetHandle entity_set_to_remove, iBase_EntitySetHandle entity_set_handle, int *err)
 Remove an entity set from a set. More...
 
void FBiGeom_isEntContained (FBiGeom_Instance instance, iBase_EntitySetHandle containing_entity_set, iBase_EntityHandle contained_entity, int *is_contained, int *err)
 Return whether an entity is contained in another set. More...
 
void FBiGeom_isEntArrContained (FBiGeom_Instance instance, iBase_EntitySetHandle containing_set, const iBase_EntityHandle *entity_handles, int num_entity_handles, int **is_contained, int *is_contained_allocated, int *is_contained_size, int *err)
 Return whether entities are contained in a set. More...
 
void FBiGeom_isEntSetContained (FBiGeom_Instance instance, iBase_EntitySetHandle containing_entity_set, iBase_EntitySetHandle contained_entity_set, int *is_contained, int *err)
 Return whether an entity set is contained in another set. More...
 
void FBiGeom_addPrntChld (FBiGeom_Instance instance, iBase_EntitySetHandle parent_entity_set, iBase_EntitySetHandle child_entity_set, int *err)
 Add parent/child links between two sets. More...
 
void FBiGeom_rmvPrntChld (FBiGeom_Instance instance, iBase_EntitySetHandle parent_entity_set, iBase_EntitySetHandle child_entity_set, int *err)
 Remove parent/child links between two sets. More...
 
void FBiGeom_isChildOf (FBiGeom_Instance instance, iBase_EntitySetHandle parent_entity_set, iBase_EntitySetHandle child_entity_set, int *is_child, int *err)
 Return whether two sets are related by parent/child links. More...
 
void FBiGeom_getNumChld (FBiGeom_Instance instance, iBase_EntitySetHandle entity_set, int num_hops, int *num_child, int *err)
 Get the number of child sets linked from a specified set. More...
 
void FBiGeom_getNumPrnt (FBiGeom_Instance instance, iBase_EntitySetHandle entity_set, int num_hops, int *num_parent, int *err)
 Get the number of parent sets linked from a specified set. More...
 
void FBiGeom_getChldn (FBiGeom_Instance instance, iBase_EntitySetHandle from_entity_set, int num_hops, iBase_EntitySetHandle **entity_set_handles, int *entity_set_handles_allocated, int *entity_set_handles_size, int *err)
 Get the child sets linked from a specified set. More...
 
void FBiGeom_getPrnts (FBiGeom_Instance instance, iBase_EntitySetHandle from_entity_set, int num_hops, iBase_EntitySetHandle **entity_set_handles, int *entity_set_handles_allocated, int *entity_set_handles_size, int *err)
 Get the parent sets linked from a specified set. More...
 
void FBiGeom_createTag (FBiGeom_Instance instance, const char *tag_name, int tag_size, int tag_type, iBase_TagHandle *tag_handle, int *err, int tag_name_len)
 Create a tag with specified name, size, and type. More...
 
void FBiGeom_destroyTag (FBiGeom_Instance instance, iBase_TagHandle tag_handle, int, int *err)
 Destroy a tag. More...
 
void FBiGeom_getTagName (FBiGeom_Instance instance, iBase_TagHandle tag_handle, char *name, int *err, int name_len)
 Get the name for a given tag handle. More...
 
void FBiGeom_getTagSizeValues (FBiGeom_Instance instance, iBase_TagHandle tag_handle, int *tag_size, int *err)
 Get size of a tag in units of numbers of tag data type. More...
 
void FBiGeom_getTagSizeBytes (FBiGeom_Instance instance, iBase_TagHandle tag_handle, int *tag_size, int *err)
 Get size of a tag in units of bytes. More...
 
void FBiGeom_getTagHandle (FBiGeom_Instance instance, const char *tag_name, iBase_TagHandle *tag_handle, int *err, int tag_name_len)
 Get a the handle of an existing tag with the specified name. More...
 
void FBiGeom_getTagType (FBiGeom_Instance instance, iBase_TagHandle tag_handle, int *tag_type, int *err)
 Get the data type of the specified tag handle. More...
 
void FBiGeom_setEntSetData (FBiGeom_Instance instance, iBase_EntitySetHandle entity_set_handle, iBase_TagHandle tag_handle, const void *tag_value, int tag_value_size, int *err)
 Set a tag value of arbitrary type on an entity set. More...
 
void FBiGeom_setEntSetIntData (FBiGeom_Instance instance, iBase_EntitySetHandle entity_set, iBase_TagHandle tag_handle, int tag_value, int *err)
 Set a tag value of integer type on an entity set. More...
 
void FBiGeom_setEntSetDblData (FBiGeom_Instance instance, iBase_EntitySetHandle entity_set, iBase_TagHandle tag_handle, double tag_value, int *err)
 Set a tag value of double type on an entity set. More...
 
void FBiGeom_setEntSetEHData (FBiGeom_Instance instance, iBase_EntitySetHandle entity_set, iBase_TagHandle tag_handle, iBase_EntityHandle tag_value, int *err)
 Set a tag value of entity handle type on an entity set. More...
 
void FBiGeom_setEntSetESHData (FBiGeom_Instance instance, iBase_EntitySetHandle entity_set, iBase_TagHandle tag_handle, iBase_EntitySetHandle tag_value, int *err)
 Set a tag value of entity set handle type on an entity set. More...
 
void FBiGeom_getEntSetData (FBiGeom_Instance instance, iBase_EntitySetHandle entity_set_handle, iBase_TagHandle tag_handle, void **tag_value, int *tag_value_allocated, int *tag_value_size, int *err)
 Get the value of a tag of arbitrary type on an entity set. More...
 
void FBiGeom_getEntSetIntData (FBiGeom_Instance instance, iBase_EntitySetHandle entity_set, iBase_TagHandle tag_handle, int *out_data, int *err)
 Get the value of a tag of integer type on an entity set. More...
 
void FBiGeom_getEntSetDblData (FBiGeom_Instance instance, iBase_EntitySetHandle entity_set, iBase_TagHandle tag_handle, double *out_data, int *err)
 Get the value of a tag of double type on an entity set. More...
 
void FBiGeom_getEntSetEHData (FBiGeom_Instance instance, iBase_EntitySetHandle entity_set, iBase_TagHandle tag_handle, iBase_EntityHandle *out_data, int *err)
 Get the value of a tag of entity handle type on an entity set. More...
 
void FBiGeom_getEntSetESHData (FBiGeom_Instance instance, iBase_EntitySetHandle entity_set, iBase_TagHandle tag_handle, iBase_EntitySetHandle *out_data, int *err)
 Get the value of a tag of entity set handle type on an entity set. More...
 
void FBiGeom_getAllEntSetTags (FBiGeom_Instance instance, iBase_EntitySetHandle entity_set_handle, iBase_TagHandle **tag_handles, int *tag_handles_allocated, int *tag_handles_size, int *err)
 Get all the tags associated with a specified entity set. More...
 
void FBiGeom_rmvEntSetTag (FBiGeom_Instance instance, iBase_EntitySetHandle entity_set_handle, iBase_TagHandle tag_handle, int *err)
 Remove a tag value from an entity set. More...
 
void FBiGeom_getArrData (FBiGeom_Instance instance, const iBase_EntityHandle *entity_handles, int entity_handles_size, iBase_TagHandle tag_handle, void **tag_values, int *tag_values_allocated, int *tag_values_size, int *err)
 Get tag values of arbitrary type for an array of entities. More...
 
void FBiGeom_getIntArrData (FBiGeom_Instance instance, const iBase_EntityHandle *entity_handles, int entity_handles_size, iBase_TagHandle tag_handle, int **tag_values, int *tag_values_allocated, int *tag_values_size, int *err)
 Get tag values of integer type for an array of entities. More...
 
void FBiGeom_getDblArrData (FBiGeom_Instance instance, const iBase_EntityHandle *entity_handles, int entity_handles_size, iBase_TagHandle tag_handle, double **tag_values, int *tag_values_allocated, int *tag_values_size, int *err)
 Get tag values of double type for an array of entities. More...
 
void FBiGeom_getEHArrData (FBiGeom_Instance instance, const iBase_EntityHandle *entity_handles, int entity_handles_size, iBase_TagHandle tag_handle, iBase_EntityHandle **tag_value, int *tag_value_allocated, int *tag_value_size, int *err)
 Get tag values of entity handle type for an array of entities. More...
 
void FBiGeom_getESHArrData (FBiGeom_Instance instance, const iBase_EntityHandle *entity_handles, int entity_handles_size, iBase_TagHandle tag_handle, iBase_EntitySetHandle **tag_value, int *tag_value_allocated, int *tag_value_size, int *err)
 Get tag values of entity set handle type for an array of entities. More...
 
void FBiGeom_setArrData (FBiGeom_Instance instance, const iBase_EntityHandle *entity_handles, int entity_handles_size, iBase_TagHandle tag_handle, const void *tag_values, int tag_values_size, int *err)
 Set tag values of arbitrary type on an array of entities. More...
 
void FBiGeom_setIntArrData (FBiGeom_Instance instance, const iBase_EntityHandle *entity_handles, int entity_handles_size, iBase_TagHandle tag_handle, const int *tag_values, int tag_values_size, int *err)
 Set tag values of integer type on an array of entities. More...
 
void FBiGeom_setDblArrData (FBiGeom_Instance instance, const iBase_EntityHandle *entity_handles, int entity_handles_size, iBase_TagHandle tag_handle, const double *tag_values, const int tag_values_size, int *err)
 Set tag values of double type on an array of entities. More...
 
void FBiGeom_setEHArrData (FBiGeom_Instance instance, const iBase_EntityHandle *entity_handles, int entity_handles_size, iBase_TagHandle tag_handle, const iBase_EntityHandle *tag_values, int tag_values_size, int *err)
 Set tag values of entity handle type on an array of entities. More...
 
void FBiGeom_setESHArrData (FBiGeom_Instance instance, const iBase_EntityHandle *entity_handles, int entity_handles_size, iBase_TagHandle tag_handle, const iBase_EntitySetHandle *tag_values, int tag_values_size, int *err)
 Set tag values of entity set handle type on an array of entities. More...
 
void FBiGeom_rmvArrTag (FBiGeom_Instance instance, const iBase_EntityHandle *entity_handles, int entity_handles_size, iBase_TagHandle tag_handle, int *err)
 Remove a tag value from an array of entities. More...
 
void FBiGeom_getData (FBiGeom_Instance instance, iBase_EntityHandle entity_handle, iBase_TagHandle tag_handle, void **tag_value, int *tag_value_allocated, int *tag_value_size, int *err)
 Get the value of a tag of arbitrary type on an entity. More...
 
void FBiGeom_getIntData (FBiGeom_Instance instance, iBase_EntityHandle entity_handle, iBase_TagHandle tag_handle, int *out_data, int *err)
 Get the value of a tag of integer type on an entity. More...
 
void FBiGeom_getDblData (FBiGeom_Instance instance, const iBase_EntityHandle entity_handle, const iBase_TagHandle tag_handle, double *out_data, int *err)
 Get the value of a tag of double type on an entity. More...
 
void FBiGeom_getEHData (FBiGeom_Instance instance, iBase_EntityHandle entity_handle, iBase_TagHandle tag_handle, iBase_EntityHandle *out_data, int *err)
 Get the value of a tag of entity handle type on an entity. More...
 
void FBiGeom_getESHData (FBiGeom_Instance instance, iBase_EntityHandle entity_handle, iBase_TagHandle tag_handle, iBase_EntitySetHandle *out_data, int *err)
 Get the value of a tag of entity set handle type on an entity. More...
 
void FBiGeom_setData (FBiGeom_Instance instance, iBase_EntityHandle entity_handle, iBase_TagHandle tag_handle, const void *tag_value, int tag_value_size, int *err)
 Set a tag value of arbitrary type on an entity. More...
 
void FBiGeom_setIntData (FBiGeom_Instance instance, iBase_EntityHandle entity_handle, iBase_TagHandle tag_handle, int tag_value, int *err)
 Set a tag value of integer type on an entity. More...
 
void FBiGeom_setDblData (FBiGeom_Instance instance, iBase_EntityHandle entity_handle, iBase_TagHandle tag_handle, double tag_value, int *err)
 Set a tag value of double type on an entity. More...
 
void FBiGeom_setEHData (FBiGeom_Instance instance, iBase_EntityHandle entity_handle, iBase_TagHandle tag_handle, iBase_EntityHandle tag_value, int *err)
 Set a tag value of entity handle type on an entity. More...
 
void FBiGeom_setESHData (FBiGeom_Instance instance, iBase_EntityHandle entity_handle, iBase_TagHandle tag_handle, iBase_EntitySetHandle tag_value, int *err)
 Set a tag value of entity set handle type on an entity. More...
 
void FBiGeom_getAllTags (FBiGeom_Instance instance, iBase_EntityHandle entity_handle, iBase_TagHandle **tag_handles, int *tag_handles_allocated, int *tag_handles_size, int *err)
 Get all the tags associated with a specified entity handle. More...
 
void FBiGeom_rmvTag (FBiGeom_Instance instance, iBase_EntityHandle entity_handle, iBase_TagHandle tag_handle, int *err)
 Remove a tag value from an entity. More...
 
void FBiGeom_subtract (FBiGeom_Instance instance, iBase_EntitySetHandle, iBase_EntitySetHandle, iBase_EntitySetHandle *, int *err)
 Subtract contents of one entity set from another. More...
 
void FBiGeom_intersect (FBiGeom_Instance instance, iBase_EntitySetHandle, iBase_EntitySetHandle, iBase_EntitySetHandle *, int *err)
 Intersect contents of one entity set with another. More...
 
void FBiGeom_unite (FBiGeom_Instance instance, iBase_EntitySetHandle, iBase_EntitySetHandle, iBase_EntitySetHandle *, int *err)
 Unite contents of one entity set with another. More...
 
void FBiGeom_getEntClosestPtTrimmed (FBiGeom_Instance instance, iBase_EntityHandle, double, double, double, double *, double *, double *, int *err)
 Get closest point for an array of entities and points For surfaces, closest point could be on the void space inside it. Get closest point for an array of entities and points. If either the number of entities or number of coordinate triples is unity, then all points or entities are queried for that entity or point, respectively, otherwise each point corresponds to each entity. storage_order should be a value in the iBase_StorageOrder enum. More...
 
void FBiGeom_getFcCvtrXYZ (FBiGeom_Instance instance, iBase_EntityHandle, double, double, double, double *, double *, double *, double *, double *, double *, int *err)
 Get the two principle curvature vectors for a face at a point. More...
 
void FBiGeom_getEgCvtrXYZ (FBiGeom_Instance instance, iBase_EntityHandle, double, double, double, double *, double *, double *, int *err)
 Get the principle curvature vector for an edge at a point. More...
 
void FBiGeom_getEntArrCvtrXYZ (FBiGeom_Instance instance, iBase_EntityHandle const *, int, int, double const *, int, double **, int *, int *, double **, int *, int *, int *err)
 Get the curvature(s) on an entity(ies) at given position(s) More...
 
void FBiGeom_getEgEvalXYZ (FBiGeom_Instance instance, iBase_EntityHandle edge, double x, double y, double z, double *on_x, double *on_y, double *on_z, double *tngt_i, double *tngt_j, double *tngt_k, double *cvtr_i, double *cvtr_j, double *cvtr_k, int *err)
 Get closest point, tangent, and curvature of edge. More...
 
void FBiGeom_getFcEvalXYZ (FBiGeom_Instance instance, iBase_EntityHandle face_handle, double x, double y, double z, double *on_x, double *on_y, double *on_z, double *nrml_i, double *nrml_j, double *nrml_k, double *cvtr1_i, double *cvtr1_j, double *cvtr1_k, double *cvtr2_i, double *cvtr2_j, double *cvtr2_k, int *err)
 Get closest point, tangent, and curvature of face. More...
 
void FBiGeom_getArrEgEvalXYZ (FBiGeom_Instance instance, iBase_EntityHandle const *, int, int, double const *, int, double **, int *, int *, double **, int *, int *, double **, int *, int *, int *err)
 Get the closest point(s), tangent(s), and curvature(s) on an entity(ies) at given position(s) More...
 
void FBiGeom_getArrFcEvalXYZ (FBiGeom_Instance instance, iBase_EntityHandle const *, int, int, double const *, int, double **, int *, int *, double **, int *, int *, double **, int *, int *, double **, int *, int *, int *err)
 Get the closest point(s), tangent(s), and curvature(s) on an entity(ies) at given position(s) More...
 
void FBiGeom_getPntClsf (FBiGeom_Instance instance, double, double, double, iBase_EntityHandle *, int *err)
 Get the entity on which a point is located. More...
 
void FBiGeom_getPntArrClsf (FBiGeom_Instance instance, int, double const *, int, iBase_EntityHandle **, int *, int *, int *err)
 Get the entities on which points are located. More...
 
void FBiGeom_getFacets (FBiGeom_Instance instance, iBase_EntityHandle, double, double, int, int, int, int, int, int *err)
 
void FBiGeom_getEntTolerance (FBiGeom_Instance instance, iBase_EntityHandle, double *, int *err)
 Get the tolerance of the specified entity. More...
 
void FBiGeom_getArrTolerance (FBiGeom_Instance instance, iBase_EntityHandle const *, int, double **, int *, int *, int *err)
 Get the tolerances of the specified entities. More...
 
void FBiGeom_getTolerance (FBiGeom_Instance instance, int *, double *, int *err)
 Get the tolerance of the instance. More...
 

Variables

bool debug_igeom = false
 
bool Debug_surf_eval = false
 

Macro Definition Documentation

◆ COPY_DOUBLEVEC

#define COPY_DOUBLEVEC (   r,
  vec 
)
Value:
{ \
double* tmp_ptr = reinterpret_cast< double* >( vec ); \
std::copy( ( r ).begin(), ( r ).end(), tmp_ptr ); \
}

Definition at line 58 of file FBiGeom_MOAB.cpp.

◆ COPY_RANGE

#define COPY_RANGE (   r,
  vec 
)
Value:
{ \
EntityHandle* tmp_ptr = reinterpret_cast< EntityHandle* >( vec ); \
std::copy( ( r ).begin(), ( r ).end(), tmp_ptr ); \
}

Definition at line 50 of file FBiGeom_MOAB.cpp.

◆ TAG_HANDLE

#define TAG_HANDLE (   tagh)    reinterpret_cast< Tag >( tagh )

Definition at line 56 of file FBiGeom_MOAB.cpp.

Function Documentation

◆ compare_no_case1()

static int compare_no_case1 ( const char *  str1,
const char *  str2,
size_t  n 
)
static

Definition at line 16 of file FBiGeom_MOAB.cpp.

17 {
18  for( size_t i = 1; i != n && *str1 && toupper( *str1 ) == toupper( *str2 ); ++i, ++str1, ++str2 )
19  ;
20  return toupper( *str2 ) - toupper( *str1 );
21 }

Referenced by filter_options1().

◆ FBiGeom_addEntArrToSet()

void FBiGeom_addEntArrToSet ( FBiGeom_Instance  instance,
const iBase_EntityHandle entity_handles,
int  entity_handles_size,
iBase_EntitySetHandle  entity_set,
int *  err 
)

Add an array of entities to a set.

Add an array of entities to a set

Parameters
instanceFBiGeom instance handle
entity_handlesArray of entities being added
entity_handles_sizeNumber of entities in entity_handles array
entity_setPointer to the set being added to
*errPointer to error type returned from function

Definition at line 1871 of file FBiGeom_MOAB.cpp.

1876 {
1877  iMesh_addEntArrToSet( IMESH_INSTANCE( instance ), entity_handles, entity_handles_size, entity_set, err );
1878 }

References iMesh_addEntArrToSet, and IMESH_INSTANCE.

◆ FBiGeom_addEntSet()

void FBiGeom_addEntSet ( FBiGeom_Instance  instance,
iBase_EntitySetHandle  entity_set_to_add,
iBase_EntitySetHandle  entity_set_handle,
int *  err 
)

Add an entity set to a set.

Add an entity set to a set

Parameters
instanceFBiGeom instance handle
entity_set_to_addThe entity set being added
entity_set_handlePointer to the set being added to
*errPointer to error type returned from function

Definition at line 1889 of file FBiGeom_MOAB.cpp.

1893 {
1894  iMesh_addEntSet( IMESH_INSTANCE( instance ), entity_set_to_add, entity_set_handle, err );
1895 }

References iMesh_addEntSet, and IMESH_INSTANCE.

◆ FBiGeom_addEntToSet()

void FBiGeom_addEntToSet ( FBiGeom_Instance  instance,
iBase_EntityHandle  entity_handle,
iBase_EntitySetHandle  entity_set,
int *  err 
)

Add an entity to a set.

Add an entity to a set

Parameters
instanceFBiGeom instance handle
entity_handleThe entity being added
entity_setPointer to the set being added to
*errPointer to error type returned from function

Definition at line 1855 of file FBiGeom_MOAB.cpp.

1859 {
1860  iMesh_addEntToSet( IMESH_INSTANCE( instance ), entity_handle, entity_set, err );
1861 }

References iMesh_addEntToSet, and IMESH_INSTANCE.

◆ FBiGeom_addPrntChld()

void FBiGeom_addPrntChld ( FBiGeom_Instance  instance,
iBase_EntitySetHandle  parent_entity_set,
iBase_EntitySetHandle  child_entity_set,
int *  err 
)

Add parent/child links between two sets.

Add parent/child links between two sets. Makes parent point to child and child point to parent.

Parameters
instanceFBiGeom instance handle
parent_entity_setPointer to parent set
child_entity_setPointer to child set
*errPointer to error type returned from function

Definition at line 1937 of file FBiGeom_MOAB.cpp.

1941 {
1942  iMesh_addPrntChld( IMESH_INSTANCE( instance ), parent_entity_set, child_entity_set, err );
1943 }

References iMesh_addPrntChld, and IMESH_INSTANCE.

◆ FBiGeom_copyEnt()

void FBiGeom_copyEnt ( FBiGeom_Instance  instance,
iBase_EntityHandle  source,
iBase_EntityHandle copy,
int *  err 
)

Make a copy of the specified entity.

Make a copy of the specified entity

Parameters
instanceFBiGeom instance handle
sourceentity to be copied
copythe newly-created entity
*errPointer to error type returned from function

Definition at line 1638 of file FBiGeom_MOAB.cpp.

1639 {
1641 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_createBrick()

void FBiGeom_createBrick ( FBiGeom_Instance  instance,
double  x,
double  y,
double  z,
iBase_EntityHandle geom_entity,
int *  err 
)

Create an axis-oriented box.

Create an axis-oriented box of the given dimensions, centered at the origin.

Parameters
instanceFBiGeom instance handle
xx dimension of new box
yy dimension of new box
zz dimension of new box
geom_entityPointer to new entity handle returned from function
*errPointer to error type returned from function

Definition at line 1676 of file FBiGeom_MOAB.cpp.

1677 {
1679 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_createCone()

void FBiGeom_createCone ( FBiGeom_Instance  instance,
double  height,
double  major_rad_base,
double  minor_rad_base,
double  rad_top,
iBase_EntityHandle geom_entity,
int *  err 
)

Create a cone or tapered cylinder.

Create a cone parallel to the z-axis and centered at the origin (so that its z-coordinate extents are +height/2 and -height/2). The 'base' of the cylinder is at z = -height/2, and the top is at +height/2.

Parameters
instanceFBiGeom instance handle
heightThe height of the cone.
major_rad_baseThe x-axis radius at the base of the cylinder
minor_rad_baseThe y-axis radius at the base. If minor_rad_base is 0, the cylinder will be circular (as if minor_rad_base == major_rad_base)
rad_topThe x-axis radius at the top of the cone. The y-axis radius at the top of the cone will be inferred to keep the aspect ratio of the top of the cone the same as the bottom. If rad_top is 0, the cone terminates at a point.
geom_entityPointer to new entity handle returned from function
*errPointer to error type returned from function

Definition at line 1686 of file FBiGeom_MOAB.cpp.

1687 {
1689 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_createCylinder()

void FBiGeom_createCylinder ( FBiGeom_Instance  instance,
double  height,
double  major_rad,
double  minor_rad,
iBase_EntityHandle geom_entity,
int *  err 
)

Create a cylinder.

Create a cylinder parallel to the z-axis and centered at the origin (so that its z-coordinate extents are +height/2 and -height/2).

Parameters
instanceFBiGeom instance handle
heightThe height of the cylinder.
major_radThe x-axis radius
minor_radThe y-axis radius. If minor_rad is 0, the cylinder will be circular (as if minor_rad == major_rad).
geom_entityPointer to new entity handle returned from function
*errPointer to error type returned from function

Definition at line 1681 of file FBiGeom_MOAB.cpp.

1682 {
1684 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_createEntSet()

void FBiGeom_createEntSet ( FBiGeom_Instance  instance,
int  isList,
iBase_EntitySetHandle entity_set_created,
int *  err 
)

Create an entity set.

Create an entity set, either ordered (isList=1) or unordered (isList=0). Unordered entity sets can contain a given entity or set only once.

Parameters
instanceFBiGeom instance handle
isListIf non-zero, an ordered list is created, otherwise an unordered set is created.
entity_set_createdEntity set created by function
*errPointer to error type returned from function

Definition at line 1779 of file FBiGeom_MOAB.cpp.

1780 {
1781  iMesh_createEntSet( IMESH_INSTANCE( instance ), isList, entity_set_created, err );
1782  FWDERR();
1783 }

References FWDERR, iMesh_createEntSet, and IMESH_INSTANCE.

◆ FBiGeom_createPrism()

void FBiGeom_createPrism ( FBiGeom_Instance  instance,
double  height,
int  n_sides,
double  major_rad,
double  minor_rad,
iBase_EntityHandle geom_entity,
int *  err 
)

Create a prism.

Create a prism parallel to the z-axis and centered at the origin (so that its z-coordinate extents are +height/2 and -height/2).

Parameters
instanceFBiGeom instance handle
heightheight of new prism
n_sidesnumber of sides of new prism
major_radmajor radius of new prism
minor_radminor radius of new prism
geom_entityPointer to new entity handle returned from function
*errPointer to error type returned from function

Definition at line 1671 of file FBiGeom_MOAB.cpp.

1672 {
1674 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_createSphere()

void FBiGeom_createSphere ( FBiGeom_Instance  instance,
double  radius,
iBase_EntityHandle geom_entity,
int *  err 
)

Create a sphere.

Create a sphere of the specified radius centered on the origin.

Parameters
instanceFBiGeom instance handle
radiusradius of the sphere
geom_entityPointer to new entity handle returned from function
*errPointer to error type returned from function

Definition at line 1666 of file FBiGeom_MOAB.cpp.

1667 {
1669 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_createTag()

void FBiGeom_createTag ( FBiGeom_Instance  instance,
const char *  tag_name,
int  tag_size,
int  tag_type,
iBase_TagHandle tag_handle,
int *  err,
int  tag_name_len 
)

Create a tag with specified name, size, and type.

Create a tag with specified name, size, and type. Tag size is in units of size of tag_type data types. Value input for tag type must be value in iBase_TagType enumeration.

Parameters
instanceFBiGeom instance handle
tag_nameCharacter string indicating tag name
tag_sizeSize of each tag value, in units of number of tag_type entities
tag_typeData type for data stored in this tag
tag_handlePointer to tag handle returned from function
*errPointer to error type returned from function
tag_name_lenLength of tag name string

Definition at line 2004 of file FBiGeom_MOAB.cpp.

2011 {
2012 
2013  iMesh_createTag( IMESH_INSTANCE( instance ), tag_name, tag_size, tag_type, tag_handle, err, tag_name_len );
2014 }

References iMesh_createTag, and IMESH_INSTANCE.

◆ FBiGeom_createTorus()

void FBiGeom_createTorus ( FBiGeom_Instance  instance,
double  major_rad,
double  minor_rad,
iBase_EntityHandle geom_entity,
int *  err 
)

Create a torus.

Create a torus centered on the origin and encircling the z-axis.

Parameters
instanceFBiGeom instance handle
major_radThe distance from the origin to the center of the torus's circular cross-section.
minor_radThe radius of the cross-section.
geom_entityPointer to new entity handle returned from function
*errPointer to error type returned from function

Definition at line 1691 of file FBiGeom_MOAB.cpp.

1692 {
1694 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_deleteAll()

void FBiGeom_deleteAll ( FBiGeom_Instance  instance,
int *  err 
)

Delete all entities and sets.

Delete all entities and sets

Parameters
instanceFBiGeom instance handle
*errPointer to error type returned from function

Definition at line 1655 of file FBiGeom_MOAB.cpp.

1656 {
1657  // it means deleting some sets from moab db ; is this what we want?
1659 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_deleteEnt()

void FBiGeom_deleteEnt ( FBiGeom_Instance  instance,
iBase_EntityHandle  entity_handle,
int *  err 
)

Delete specified entity.

Delete specified entity

Parameters
instanceFBiGeom instance handle
entity_handleEntity to be deleted
*errPointer to error type returned from function

Definition at line 1661 of file FBiGeom_MOAB.cpp.

1662 {
1664 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_destroyEntSet()

void FBiGeom_destroyEntSet ( FBiGeom_Instance  instance,
iBase_EntitySetHandle  entity_set,
int *  err 
)

Destroy an entity set.

Destroy an entity set

Parameters
instanceFBiGeom instance handle
entity_setEntity set to be destroyed
*errPointer to error type returned from function

Definition at line 1785 of file FBiGeom_MOAB.cpp.

1786 {
1788 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_destroyTag()

void FBiGeom_destroyTag ( FBiGeom_Instance  instance,
iBase_TagHandle  tag_handle,
int  forced,
int *  err 
)

Destroy a tag.

Destroy a tag. If forced is non-zero and entities still have values set for this tag, tag is deleted anyway and those values disappear, otherwise tag is not deleted.

Parameters
instanceFBiGeom instance handle
tag_handleHandle of tag to be deleted
forcedIf non-zero, delete the tag even if entities have values set for that tag
*errPointer to error type returned from function

Definition at line 2016 of file FBiGeom_MOAB.cpp.

2017 {
2018  ErrorCode rval = MBI->tag_delete( TAG_HANDLE( tag_handle ) );CHKERR( rval, "Failed to delete tag" );
2019  RETURN( iBase_SUCCESS );
2020 }

References CHKERR, ErrorCode, iBase_SUCCESS, MBI, RETURN, and TAG_HANDLE.

◆ FBiGeom_dtor()

void FBiGeom_dtor ( FBiGeom_Instance  instance,
int *  err 
)

Construct a new FBiGeom instance.

Construct a new FBiGeom instance, using an existing moab iMesh instance and a root set that encapsulates the topological model

Parameters
meshiMesh_Instance
setroot set for the mesh based geometry
optionsPointer to implementation-specific options string
instancePointer to FBiGeom instance handle returned from function
*errPointer to error type returned from function
options_lenLength of the character string pointed to by options

Destroy an FBiGeom instance

Destroy an FBiGeom instance

Parameters
instanceFBiGeom instance to be destroyed
*errPointer to error type returned from function

Definition at line 87 of file FBiGeom_MOAB.cpp.

88 {
89  MBiGeom** mbigeom = reinterpret_cast< MBiGeom** >( &instance );
90  if( *mbigeom ) delete *mbigeom;
91  *err = iBase_SUCCESS;
92 }

References iBase_SUCCESS.

◆ FBiGeom_dtor2()

void FBiGeom_dtor2 ( FBiGeom_Instance  instance,
int *  err 
)

Definition at line 119 of file FBiGeom_MOAB.cpp.

120 {
121  moab::FBEngine* fbe = FBE_cast( instance );
122  if( fbe )
123  {
124  moab::GeomTopoTool* gtt = fbe->get_gtt();
125  if( gtt ) delete gtt;
126  delete fbe;
127  }
128  MBiGeom** mbigeom = reinterpret_cast< MBiGeom** >( &instance );
129  if( *mbigeom ) delete *mbigeom;
130  *err = iBase_SUCCESS;
131 }

References FBE_cast(), moab::FBEngine::get_gtt(), and iBase_SUCCESS.

Referenced by shutdown_test2().

◆ FBiGeom_endEntArrIter()

void FBiGeom_endEntArrIter ( FBiGeom_Instance  instance,
iBase_EntityArrIterator  entArr_iterator,
int *  err 
)

Destroy the specified array iterator.

Destroy the specified array iterator

Parameters
instanceFBiGeom instance handle
entArr_iteratorIterator which gets destroyed
*errPointer to error type returned from function

Definition at line 1633 of file FBiGeom_MOAB.cpp.

1634 {
1636 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_endEntIter()

void FBiGeom_endEntIter ( FBiGeom_Instance  instance,
iBase_EntityIterator  entity_iterator,
int *  err 
)

Destroy the specified iterator.

Destroy the specified iterator

Parameters
instanceFBiGeom instance handle
entity_iteratorIterator which gets destroyed
*errPointer to error type returned from function

Definition at line 1628 of file FBiGeom_MOAB.cpp.

1629 {
1631 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getAllEntSetTags()

void FBiGeom_getAllEntSetTags ( FBiGeom_Instance  instance,
iBase_EntitySetHandle  entity_set_handle,
iBase_TagHandle **  tag_handles,
int *  tag_handles_allocated,
int *  tag_handles_size,
int *  err 
)

Get all the tags associated with a specified entity set.

Get all the tags associated with a specified entity set

Parameters
instanceFBiGeom instance handle
entity_set_handleEntity being queried
*tag_handlesPointer to array of tag_handles returned from function
*tag_handles_allocatedPointer to allocated size of tag_handles array
*tag_handles_sizePointer to occupied size of tag_handles array
*errPointer to error type returned from function

Definition at line 2145 of file FBiGeom_MOAB.cpp.

2151 {
2152  iMesh_getAllEntSetTags( IMESH_INSTANCE( instance ), entity_set_handle, tag_handles, tag_handles_allocated,
2153  tag_handles_size, err );
2154 }

References iMesh_getAllEntSetTags, and IMESH_INSTANCE.

◆ FBiGeom_getAllTags()

void FBiGeom_getAllTags ( FBiGeom_Instance  instance,
iBase_EntityHandle  entity_handle,
iBase_TagHandle **  tag_handles,
int *  tag_handles_allocated,
int *  tag_handles_size,
int *  err 
)

Get all the tags associated with a specified entity handle.

Get all the tags associated with a specified entity handle

Parameters
instanceFBiGeom instance handle
entity_handleEntity being queried
*tag_handlesPointer to array of tag_handles returned from function
*tag_handles_allocatedPointer to allocated size of tag_handles array
*tag_handles_sizePointer to occupied size of tag_handles array
*errPointer to error type returned from function

Definition at line 2392 of file FBiGeom_MOAB.cpp.

2398 {
2399  iMesh_getAllTags( IMESH_INSTANCE( instance ), entity_handle, tag_handles, tag_handles_allocated, tag_handles_size,
2400  err );
2401 }

References iMesh_getAllTags, and IMESH_INSTANCE.

◆ FBiGeom_getArr1stDrvt()

void FBiGeom_getArr1stDrvt ( FBiGeom_Instance  instance,
iBase_EntityHandle const *  entity_handles,
int  entity_handles_size,
int  storage_order,
double const *  uv,
int  uv_size,
double **  dvrt_u,
int *  dvrt_u_allocated,
int *  dvrt_u_size,
int **  u_offset,
int *  u_offset_allocated,
int *  u_offset_size,
double **  dvrt_v,
int *  dvrt_v_allocated,
int *  dvrt_v_size,
int **  v_offset,
int *  v_offset_allocated,
int *  v_offset_size,
int *  err 
)

Get the first derivatives of faces at specified parametric positions.

Get the first derivatives of faces at specified parametric positions. storage_order should be a value in the iBase_StorageOrder enum.

Parameters
instanceFBiGeom instance handle
entity_handlesArray of entity handles being queried
entity_handles_sizeNumber of entities in entity_handles array
storage_orderStorage order of coordinates input and output
uvParametric coordinates being queried
uv_sizeNumber of coordinates in array
dvrt_uPointer to array of coordinates of derivative with respect to u at specified position returned from function
dvrt_u_allocatedAllocated size of dvrt_u array
dvrt_u_sizeOccupied size of dvrt_u array
u_offsetPointer to array of offsets for dvrt_u returned from function
u_offset_allocatedPointer to allocated size of u_offset array
u_offset_sizePointer to occupied size of u_offset array
dvrt_vPointer to array of coordinates of derivative with respect to v at specified position returned from function
dvrt_v_allocatedAllocated size of dvrt_v array
dvrt_v_sizeOccupied size of dvrt_v array
v_offsetPointer to array of offsets for dvrt_v returned from function
v_offset_allocatedPointer to allocated size of v_offset array
v_offset_sizePointer to occupied size of v_offset array
*errPointer to error type returned from function

Definition at line 1466 of file FBiGeom_MOAB.cpp.

1485 {
1487 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getArr2ndAdj()

void FBiGeom_getArr2ndAdj ( FBiGeom_Instance  instance,
iBase_EntityHandle const *  entity_handles,
int  entity_handles_size,
int  order_adjacent_key,
int  requested_entity_type,
iBase_EntityHandle **  adj_entity_handles,
int *  adj_entity_handles_allocated,
int *  adj_entity_handles_size,
int **  offset,
int *  offset_allocated,
int *  offset_size,
int *  err 
)

Get "2nd order" adjacencies to an array of entities.

Get "2nd order" adjacencies to an array of entities, that is, from each entity, through other entities of a specified "bridge" dimension, to other entities of another specified "to" dimension.

Parameters
instanceFBiGeom instance handle
entity_handlesEntities from which adjacencies are requested
entity_handles_sizeNumber of entities whose adjacencies are requested
bridge_dimensionBridge dimension for 2nd order adjacencies
to_dimensionDimension of adjacent entities returned
adj_entity_handlesAdjacent entities
adj_entity_handles_allocatedAllocated size of returned array
adj_entity_handles_sizeOccupied size of returned array
offsetOffset[i] is offset into adj_entity_handles of 2nd order adjacencies of ith entity in entity_handles
offset_allocatedAllocated size of offset array
offset_sizeOccupied size of offset array
*errPointer to error type returned from function

Definition at line 388 of file FBiGeom_MOAB.cpp.

400 {
401  // not implemented
402  // who would need this monster, anyway?
404 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getArr2ndDrvt()

void FBiGeom_getArr2ndDrvt ( FBiGeom_Instance  instance,
iBase_EntityHandle const *  entity_handles,
int  entity_handles_size,
int  storage_order,
double const *  uv,
int  uv_size,
double **  dvtr_uu,
int *  dvrt_uu_allocated,
int *  dvrt_uu_size,
int **  uu_offset,
int *  uu_offset_allocated,
int *  uu_offset_size,
double **  dvtr_vv,
int *  dvrt_vv_allocated,
int *  dvrt_vv_size,
int **  vv_offset,
int *  vv_offset_allocated,
int *  vv_offset_size,
double **  dvrt_uv,
int *  dvrt_uv_allocated,
int *  dvrt_uv_size,
int **  uv_offset,
int *  uv_offset_allocated,
int *  uv_offset_size,
int *  err 
)

Get the second derivatives of faces at specified parametric positions.

Get the second derivatives of faces at specified parametric positions. storage_order should be a value in the iBase_StorageOrder enum.

Parameters
instanceFBiGeom instance handle
entity_handlesArray of entity handles being queried
entity_handles_sizeNumber of entities in entity_handles array
storage_orderStorage order of coordinates input and output
uvParametric coordinates being queried
uv_sizeNumber of coordinates in array
dvrt_uuPointer to array of coordinates of derivative with respect to u at specified position returned from function
dvrt_uu_allocatedAllocated size of dvrt_uu array
dvrt_uu_sizeOccupied size of dvrt_uu array
uu_offsetPointer to array of offsets for dvrt_uu returned from function
uu_offset_allocatedPointer to allocated size of uu_offset array
uu_offset_sizePointer to occupied size of uu_offset array
dvrt_vvPointer to array of coordinates of derivative with respect to v at specified position returned from function
dvrt_vv_allocatedAllocated size of dvrt_vv array
dvrt_vv_sizeOccupied size of dvrt_vv array
vv_offsetPointer to array of offsets for dvrt_vv returned from function
vv_offset_allocatedPointer to allocated size of vv_offset array
vv_offset_sizePointer to occupied size of vv_offset array
dvrt_uvPointer to array of coordinates of derivative with respect to u and v at specified position returned from function
dvrt_uv_allocatedAllocated size of dvrt_uv array
dvrt_uv_sizeOccupied size of dvrt_uv array
uv_offsetPointer to array of offsets for dvrt_uv returned from function
uv_offset_allocatedPointer to allocated size of uv_offset array
uv_offset_sizePointer to occupied size of uv_offset array
*errPointer to error type returned from function

Definition at line 1505 of file FBiGeom_MOAB.cpp.

1530 {
1532 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getArrAdj()

void FBiGeom_getArrAdj ( FBiGeom_Instance  instance,
iBase_EntityHandle const *  entity_handles,
int  entity_handles_size,
int  requested_entity_type,
iBase_EntityHandle **  adj_entity_handles,
int *  adj_entity_handles_allocated,
int *  adj_entity_handles_size,
int **  offset,
int *  offset_allocated,
int *  offset_size,
int *  err 
)

Get entities of specified type adjacent to entities.

Get entities of specified type adjacent to entities. Specified type must be value in the iBase_EntityType enumeration. offset(i) is index of first entity in adjacentEntityHandles array adjacent to entity_handles[i].

Parameters
instanceFBiGeom instance handle
entity_handlesArray of entity handles being queried
entity_handles_sizeNumber of entities in entity_handles array
entity_type_requestedType of adjacent entities requested
*adjacentEntityHandlesPointer to array of adjacentEntityHandles returned from function
*adjacentEntityHandles_allocatedPointer to allocated size of adjacentEntityHandles array
*adj_entity_handles_sizePointer to occupied size of adjacentEntityHandles array
*offsetPointer to array of offsets returned from function
*offset_allocatedPointer to allocated size of offset array
*offset_sizePointer to occupied size of offset array
*errPointer to error type returned from function

Definition at line 312 of file FBiGeom_MOAB.cpp.

323 {
324  // check offset array size
325  Range temp_range, total_range;
326  CHECK_SIZE( *offset, *offset_allocated, entity_handles_size + 1, int, NULL );
327  *offset_size = entity_handles_size + 1;
328 
329  // get adjacent entities
330  for( int i = 0; i < entity_handles_size; ++i )
331  {
332  ( *offset )[i] = total_range.size();
333  temp_range.clear();
334  ErrorCode rval =
335  FBE_cast( instance )->getEntAdj( MBH_cast( entity_handles[i] ), requested_entity_type, temp_range );CHKERR( rval, "Failed to get adjacent entities in FBiGeom_getArrAdj." );
336  total_range.merge( temp_range );
337  }
338  int nTot = total_range.size();
339  ( *offset )[entity_handles_size] = nTot;
340 
341  // copy adjacent entities
342  CHECK_SIZE( *adj_entity_handles, *adj_entity_handles_allocated, nTot, iBase_EntityHandle, NULL );
343  COPY_RANGE( total_range, *adj_entity_handles );
344  *adj_entity_handles_size = nTot;
345 
347 }

References CHECK_SIZE, CHKERR, moab::Range::clear(), COPY_RANGE, ErrorCode, FBE_cast(), moab::FBEngine::getEntAdj(), iBase_SUCCESS, MBH_cast(), moab::Range::merge(), RETURN, and moab::Range::size().

◆ FBiGeom_getArrBoundBox()

void FBiGeom_getArrBoundBox ( FBiGeom_Instance  instance,
iBase_EntityHandle const *  entity_handles,
int  entity_handles_size,
int  storage_order,
double **  min_corner,
int *  min_corner_allocated,
int *  min_corner_size,
double **  max_corner,
int *  max_corner_allocated,
int *  max_corner_size,
int *  err 
)

Get the bounding box of the specified entities.

Get the bounding box of the specified entities. Storage order passed in should be a member of iBase_StorageOrder enum.

Parameters
instanceFBiGeom instance handle
entity_handlesEntity handles being queried
enttiy_handles_sizeNumber of entities being queried
storage_orderStorage order of coordinates passed back
min_cornerMinimum coordinates of bounding boxes
min_corner_allocatedAllocated size of minimum coordinates array
min_corner_sizeOccupied size of minimum coordinates array
max_cornerMaximum coordinates of bounding boxes
max_corner_allocatedAllocated size of maximum coordinates array
max_corner_sizeOccupied size of maximum coordinates array
*errPointer to error type returned from function

Definition at line 853 of file FBiGeom_MOAB.cpp.

864 {
865  // check or pre-allocate the coordinate arrays
866  CHECK_SIZE( *min_corner, *min_corner_allocated, 3 * entity_handles_size, double, NULL );
867  CHECK_SIZE( *max_corner, *max_corner_allocated, 3 * entity_handles_size, double, NULL );
868 
869  size_t step, init;
870  if( storage_order == iBase_BLOCKED )
871  {
872  step = 1;
873  init = entity_handles_size;
874  }
875  else
876  {
877  step = 3;
878  init = 1;
879  }
880  double *min_x, *min_y, *min_z, *max_x, *max_y, *max_z;
881  min_x = *min_corner;
882  max_x = *max_corner;
883  min_y = min_x + init;
884  max_y = max_x + init;
885  min_z = min_y + init;
886  max_z = max_y + init;
887 
888  for( int i = 0; i < entity_handles_size; ++i )
889  {
890  FBiGeom_getEntBoundBox( instance, entity_handles[i], min_x, min_y, min_z, max_x, max_y, max_z, err );
891  FWDERR();
892 
893  min_x += step;
894  max_x += step;
895  min_y += step;
896  max_y += step;
897  min_z += step;
898  max_z += step;
899  }
900  *min_corner_size = 3 * entity_handles_size;
901  *max_corner_size = 3 * entity_handles_size;
903 }

References CHECK_SIZE, FBiGeom_getEntBoundBox(), FWDERR, iBase_BLOCKED, iBase_SUCCESS, init(), and RETURN.

◆ FBiGeom_getArrClosestPt()

void FBiGeom_getArrClosestPt ( FBiGeom_Instance  instance,
iBase_EntityHandle const *  entity_handles,
int  entity_handles_size,
int  storage_order,
double const *  near_coordinates,
int  near_coordinates_size,
double **  on_coordinates,
int *  on_coordinates_allocated,
int *  on_coordinates_size,
int *  err 
)

Get closest point for an array of entities and points For surfaces, it made sure the closest point in on surface. Get closest point for an array of entities and points. If either the number of entities or number of coordinate triples is unity, then all points or entities are queried for that entity or point, respectively, otherwise each point corresponds to each entity. storage_order should be a value in the iBase_StorageOrder enum.

Parameters
instanceFBiGeom instance handle
entity_handlesEntity(ies) being queried
entity_handles_sizeNumber of entities being queried
storage_orderStorage order of input points
near_coordinatesCoordinates of starting point(s)
near_coordinates_sizeNumber of values in near_coordinates array
on_coordinatesCoordinates of closest points
on_coordinates_allocatedAllocated size of closest point array
on_coordinates_sizeOccupied size of closest point array
*errPointer to error type returned from function

Definition at line 494 of file FBiGeom_MOAB.cpp.

504 {
505  CHECK_SIZE( *on_coordinates, *on_coordinates_allocated, near_coordinates_size, double, NULL );
506 
507  for( int i = 0; i < entity_handles_size; i++ )
508  {
509  if( storage_order == iBase_INTERLEAVED )
510  {
511  FBiGeom_getEntClosestPt( instance, entity_handles[i], near_coordinates[3 * i], near_coordinates[3 * i + 1],
512  near_coordinates[3 * i + 2], on_coordinates[3 * i], on_coordinates[3 * i + 1],
513  on_coordinates[3 * i + 2], err );
514  }
515  else if( storage_order == iBase_BLOCKED )
516  {
517  FBiGeom_getEntClosestPt( instance, entity_handles[i], near_coordinates[i],
518  near_coordinates[i + entity_handles_size],
519  near_coordinates[i + 2 * entity_handles_size], on_coordinates[i],
520  on_coordinates[i + entity_handles_size],
521  on_coordinates[i + 2 * entity_handles_size], err );
522  }
523  FWDERR();
524  }
525  *on_coordinates_size = near_coordinates_size;
526 
528 }

References CHECK_SIZE, FBiGeom_getEntClosestPt(), FWDERR, iBase_BLOCKED, iBase_INTERLEAVED, iBase_SUCCESS, and RETURN.

◆ FBiGeom_getArrData()

void FBiGeom_getArrData ( FBiGeom_Instance  instance,
const iBase_EntityHandle entity_handles,
int  entity_handles_size,
iBase_TagHandle  tag_handle,
void **  tag_values,
int *  tag_values_allocated,
int *  tag_values_size,
int *  err 
)

Get tag values of arbitrary type for an array of entities.

Get tag values of arbitrary type for an array of entities. Tag data is returned as void*. tag_values_size specifies the size of the memory pointed to by tag_values in terms of bytes. Applications may use this function to get data of any type, not just iBase_BYTES. However, because this function supports data of arbitrary type, in all cases the size specified by tag_values_size always in terms of bytes.

Parameters
instanceFBiGeom instance handle
entity_handlesEntity array on which tag is being set
entity_handles_sizeNumber of entities in array
tag_handleTag being set on an entity
*tag_valuesPointer to tag data array being returned from function. Note that the implicit INTERLEAVED storage order rule applies (see section ITAPS Storage Orders)
tag_values_allocatedPointer to allocated size of tag data array
tag_values_sizePointer to occupied size in bytes of tag data array
*errPointer to error type returned from function

Definition at line 2164 of file FBiGeom_MOAB.cpp.

2172 {
2173  iMesh_getArrData( IMESH_INSTANCE( instance ), entity_handles, entity_handles_size, tag_handle, tag_values,
2174  tag_values_allocated, tag_values_size, err );
2175 }

References iMesh_getArrData, and IMESH_INSTANCE.

◆ FBiGeom_getArrEgEvalXYZ()

void FBiGeom_getArrEgEvalXYZ ( FBiGeom_Instance  instance,
iBase_EntityHandle const *  edge_handles,
int  edge_handles_size,
int  storage_order,
double const *  coords,
int  coords_size,
double **  on_coords,
int *  on_coords_allocated,
int *  on_coords_size,
double **  tangent,
int *  tangent_allocated,
int *  tangent_size,
double **  cvtr,
int *  cvtr_allocated,
int *  cvtr_size,
int *  err 
)

Get the closest point(s), tangent(s), and curvature(s) on an entity(ies) at given position(s)

Get the closest point(s), tangent(s), and curvature(s) on an entity(ies) at given position(s). If either the number of entities or number of coordinate triples is unity, then all points or entities are queried for that entity or point, respectively, otherwise each point corresponds to each entity. storage_order should be a value in the iBase_StorageOrder enum.

Parameters
instanceFBiGeom instance handle
edge_handlesEdge(s) being queried
edge_handles_sizeNumber of edges being queried
storage_orderStorage order of coordinates
coordsStarting coordinates
coords_sizeNumber of values in coordinates array
on_coordsClosest point array
on_coords_allocatedAllocated size of closest point array
on_coords_sizeOccupied size of closest point array
tangentTangent array
tangent_allocatedAllocated size of tangent array
tangent_sizeOccupied size of tangent array
cvtrFirst principal curvatures
cvtr_allocatedAllocated size of first curvature array
cvtr_sizeOccupied size of first curvature array
*errPointer to error type returned from function

Definition at line 2559 of file FBiGeom_MOAB.cpp.

2575 {
2577 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getArrFcEvalXYZ()

void FBiGeom_getArrFcEvalXYZ ( FBiGeom_Instance  instance,
iBase_EntityHandle const *  face_handles,
int  face_handles_size,
int  storage_order,
double const *  coords,
int  coords_size,
double **  on_coords,
int *  on_coords_allocated,
int *  on_coords_size,
double **  normal,
int *  normal_allocated,
int *  normal_size,
double **  cvtr1,
int *  cvtr1_allocated,
int *  cvtr1_size,
double **  cvtr2,
int *  cvtr2_allocated,
int *  cvtr2_size,
int *  err 
)

Get the closest point(s), tangent(s), and curvature(s) on an entity(ies) at given position(s)

Get the closest point(s), tangent(s), and curvature(s) on an entity(ies) at given position(s). If either the number of entities or number of coordinate triples is unity, then all points or entities are queried for that entity or point, respectively, otherwise each point corresponds to each entity. storage_order should be a value in the iBase_StorageOrder enum.

Parameters
instanceFBiGeom instance handle
edge_handlesEdge(s) being queried
edge_handles_sizeNumber of edges being queried
storage_orderStorage order of coordinates
coordsStarting coordinates
coords_sizeNumber of values in coordinates array
on_coordsClosest point array
on_coords_allocatedAllocated size of closest point array
on_coords_sizeOccupied size of closest point array
normalNormal array
normal_allocatedAllocated size of normal array
normal_sizeOccupied size of normal array
cvtr_1First principal curvatures
cvtr_1_allocatedAllocated size of first curvature array
cvtr_1_sizeOccupied size of first curvature array
cvtr_2Second principal curvatures
cvtr_2_allocatedAllocated size of second curvature array
cvtr_2_sizeOccupied size of second curvature array
*errPointer to error type returned from function

Definition at line 2579 of file FBiGeom_MOAB.cpp.

2598 {
2600 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getArrNrmlPlXYZ()

void FBiGeom_getArrNrmlPlXYZ ( FBiGeom_Instance  instance,
iBase_EntityHandle const *  entity_handles,
int  entity_handles_size,
int  storage_order,
double const *  near_coordinates,
int  near_coordinates_size,
double **  on_coordinates,
int *  on_coordinates_allocated,
int *  on_coordinates_size,
double **  normals,
int *  normals_allocated,
int *  normals_size,
int *  err 
)

Get the normal vector AND closest point on an entity(ies) at given position(s)

Get the normal vector AND closest point on an entity(ies) at given position(s). If either the number of entities or number of coordinate triples is unity, then all points or entities are queried for that entity or point, respectively, otherwise each point corresponds to each entity. storage_order should be a value in the iBase_StorageOrder enum.

Parameters
instanceFBiGeom instance handle
entity_handlesEntity(ies) being queried
entity_handles_sizeNumber of entity(ies) being queried
storage_orderStorage order in near_coordinates array
near_coordinatesStarting coordinates
near_coordinates_sizeNumber of values in near_coordinates array
on_coordinatesClosest point array
on_coordinates_allocatedAllocated size of closest point array
on_coordinates_sizeOccupied size of closest point array
normalsNormal array
normals_allocatedAllocated size of normal array
normals_sizeOccupied size of normal array
*errPointer to error type returned from function

Definition at line 664 of file FBiGeom_MOAB.cpp.

677 {
678  // set up iteration according to storage order.
679  // allow either gentity_handles or near_coordinates to contain
680  // only one value, where that single value is applied for every
681  // entry in the other list.
682  size_t index = 0;
683  size_t near_step, on_step = 1, ent_step;
684  int count;
685  if( 3 * entity_handles_size == near_coordinates_size )
686  {
687  near_step = ent_step = 1;
688  count = entity_handles_size;
689  }
690  else if( near_coordinates_size == 3 )
691  {
692  near_step = 0;
693  ent_step = 1;
694  count = entity_handles_size;
695  }
696  else if( entity_handles_size == 1 )
697  {
698  near_step = 1;
699  ent_step = 0;
700  count = near_coordinates_size / 3;
701  }
702  else
703  {
704  ERROR( iBase_INVALID_ENTITY_COUNT, "Mismatched array sizes" );
705  }
706 
707  // check or pre-allocate the coordinate arrays
708  CHECK_SIZE( *on_coordinates, *on_coordinates_allocated, 3 * count, double, NULL );
709  CHECK_SIZE( *normals, *normals_allocated, 3 * count, double, NULL );
710 
711  const double *near_x, *near_y, *near_z;
712  double *on_x, *on_y, *on_z;
713  double *norm_x, *norm_y, *norm_z;
714  if( storage_order == iBase_BLOCKED )
715  {
716  near_x = near_coordinates;
717  near_y = near_x + near_coordinates_size / 3;
718  near_z = near_y + near_coordinates_size / 3;
719  on_x = *on_coordinates;
720  on_y = on_x + count;
721  on_z = on_y + count;
722  norm_x = *normals;
723  norm_y = norm_x + count;
724  norm_z = norm_y + count;
725  on_step = 1;
726  }
727  else
728  {
729  storage_order = iBase_INTERLEAVED; /* set if unspecified */
730  near_x = near_coordinates;
731  near_y = near_x + 1;
732  near_z = near_x + 2;
733  on_x = *on_coordinates;
734  on_y = on_x + 1;
735  on_z = on_x + 2;
736  norm_x = *normals;
737  norm_y = norm_x + 1;
738  norm_z = norm_x + 2;
739  near_step *= 3;
740  on_step = 3;
741  }
742 
743  for( int i = 0; i < count; ++i )
744  {
745  FBiGeom_getEntNrmlPlXYZ( instance, entity_handles[index], *near_x, *near_y, *near_z, on_x, on_y, on_z, norm_x,
746  norm_y, norm_z, err );
747  FWDERR();
748 
749  // entities += ent_step;
750  index += ent_step;
751  near_x += near_step;
752  near_y += near_step;
753  near_z += near_step;
754  on_x += on_step;
755  on_y += on_step;
756  on_z += on_step;
757  norm_x += on_step;
758  norm_y += on_step;
759  norm_z += on_step;
760  }
761  *on_coordinates_size = count * 3;
762  *normals_size = count;
764 }

References CHECK_SIZE, ERROR, FBiGeom_getEntNrmlPlXYZ(), FWDERR, iBase_BLOCKED, iBase_INTERLEAVED, iBase_INVALID_ENTITY_COUNT, iBase_SUCCESS, and RETURN.

◆ FBiGeom_getArrNrmlSense()

void FBiGeom_getArrNrmlSense ( FBiGeom_Instance  instance,
iBase_EntityHandle const *  face_handles,
int  face_handles_size,
iBase_EntityHandle const *  region_handles,
int  region_handles_size,
int **  sense,
int *  sense_allocated,
int *  sense_size,
int *  err 
)

Get the senses of an array of faces with respect to an array of regions.

Get the senses of an array of faces with respect to an array of regions. Sense returned is -1, 0, or 1, representing "reversed", "both", or "forward". "both" sense indicates that face bounds the region once with each sense.

Parameters
instanceFBiGeom instance handle
face_handlesFaces being queried
face_handles_sizeSize of face handles array
region_handlesRegions being queried
region_handles_sizeSize of region handles array
senseSenses of faces with respect to regions
sense_allocatedAllocated size of senses array
sense_sizeOccupied size of senses array
*errPointer to error type returned from function

Definition at line 1049 of file FBiGeom_MOAB.cpp.

1058 {
1059  // not implemented
1061 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getArrNrmlUV()

void FBiGeom_getArrNrmlUV ( FBiGeom_Instance  instance,
iBase_EntityHandle const *  face_handles,
int  face_handles_size,
int  storage_order,
double const *  parameters,
int  parameters_size,
double **  normals,
int *  normals_allocated,
int *  normals_size,
int *  err 
)

Return the normals at specified parametric positions.

Return the normals at specified parametric positions. If either the number of entities or number of spatial coordinate pairs is unity, then all points or entities are queried for that entity or point, respectively, otherwise each point corresponds to each entity. storage_order should be a value in the iBase_StorageOrder enum.

Parameters
instanceFBiGeom instance handle
face_handleFaces being queried
face_handles_sizeNumber of faces being queried
storage_orderStorage order of coordinates input and output
parametersParametric coordinates being queried
parameters_sizeNumber of coordinates in array
normalsCoordinates of normals at specified positions
normals_allocatedAllocated size of normals array
normals_sizeOccupied size of normals array
*errPointer to error type returned from function

Definition at line 1414 of file FBiGeom_MOAB.cpp.

1424 {
1426 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getArrNrmlXYZ()

void FBiGeom_getArrNrmlXYZ ( FBiGeom_Instance  instance,
iBase_EntityHandle const *  entity_handles,
int  entity_handles_size,
int  storage_order,
double const *  coordinates,
int  coordinates_size,
double **  normals,
int *  normals_allocated,
int *  normals_size,
int *  err 
)

Get the normal vector on an entity(ies) at given position(s)

Get the normal vector on an entity(ies) at given position(s). If either the number of entities or number of coordinate triples is unity, then all points or entities are queried for that entity or point, respectively, otherwise each point corresponds to each entity. storage_order should be a value in the iBase_StorageOrder enum.

Parameters
instanceFBiGeom instance handle
entity_handlesEntity(ies) being queried
entity_handles_sizeNumber of entities being queried
storage_orderStorage order of coordinates
coordinatesStarting coordinates
coordinates_sizeNumber of values in coordinates array
normalsNormal coordinates
normals_allocatedAllocated size of normals array
normals_sizeOccupied size of normals array
*errPointer to error type returned from function

Definition at line 545 of file FBiGeom_MOAB.cpp.

555 {
556  // set up iteration according to storage order.
557  // allow either gentity_handles or near_coordinates to contain
558  // only one value, where that single value is applied for every
559  // entry in the other list.
560  size_t index = 0;
561  size_t coord_step, norm_step = 1, ent_step;
562  int count;
563  if( 3 * entity_handles_size == coordinates_size )
564  {
565  coord_step = ent_step = 1;
566  count = entity_handles_size;
567  }
568  else if( coordinates_size == 3 )
569  {
570  coord_step = 0;
571  ent_step = 1;
572  count = entity_handles_size;
573  }
574  else if( entity_handles_size == 1 )
575  {
576  coord_step = 1;
577  ent_step = 0;
578  count = coordinates_size / 3;
579  }
580  else
581  {
582  ERROR( iBase_INVALID_ENTITY_COUNT, "Mismatched array sizes" );
583  }
584 
585  // check or pre-allocate the coordinate arrays
586  CHECK_SIZE( *normals, *normals_allocated, 3 * count, double, NULL );
587 
588  const double *coord_x, *coord_y, *coord_z;
589  double *norm_x, *norm_y, *norm_z;
590  if( storage_order == iBase_BLOCKED )
591  {
592  coord_x = coordinates;
593  coord_y = coord_x + coordinates_size / 3;
594  coord_z = coord_y + coordinates_size / 3;
595  norm_x = *normals;
596  norm_y = norm_x + count;
597  norm_z = norm_y + count;
598  norm_step = 1;
599  }
600  else
601  {
602  storage_order = iBase_INTERLEAVED; /* set if unspecified */
603  coord_x = coordinates;
604  coord_y = coord_x + 1;
605  coord_z = coord_x + 2;
606  norm_x = *normals;
607  norm_y = norm_x + 1;
608  norm_z = norm_x + 2;
609  coord_step *= 3;
610  norm_step = 3;
611  }
612 
613  for( int i = 0; i < count; ++i )
614  {
615  FBiGeom_getEntNrmlXYZ( instance, entity_handles[index], *coord_x, *coord_y, *coord_z, norm_x, norm_y, norm_z,
616  err );
617  FWDERR();
618 
619  index += ent_step;
620  coord_x += coord_step;
621  coord_y += coord_step;
622  coord_z += coord_step;
623  norm_x += norm_step;
624  norm_y += norm_step;
625  norm_z += norm_step;
626  }
627  *normals_size = count;
629 }

References CHECK_SIZE, ERROR, FBiGeom_getEntNrmlXYZ(), FWDERR, iBase_BLOCKED, iBase_INTERLEAVED, iBase_INVALID_ENTITY_COUNT, iBase_SUCCESS, and RETURN.

◆ FBiGeom_getArrTgntU()

void FBiGeom_getArrTgntU ( FBiGeom_Instance  instance,
iBase_EntityHandle const *  edge_handles,
int  edge_handles_size,
int  storage_order,
double const *  parameters,
int  parameters_size,
double **  tangents,
int *  tangents_allocated,
int *  tangents_size,
int *  err 
)

Return the tangents at specified parametric positions.

Return the tangents at specified parametric positions. If either the number of entities or number of spatial coordinates is unity, then all points or entities are queried for that entity or point, respectively, otherwise each point corresponds to each entity. storage_order should be a value in the iBase_StorageOrder enum.

Parameters
instanceFBiGeom instance handle
edge_handleEdges being queried
edge_handles_sizeNumber of faces being queried
storage_orderStorage order of coordinates output
parametersParametric coordinates being queried
parameters_sizeNumber of coordinates in array
tangentsCoordinates of tangents at specified positions
tangents_allocatedAllocated size of tangents array
tangents_sizeOccupied size of tangents array
*errPointer to error type returned from function

Definition at line 1439 of file FBiGeom_MOAB.cpp.

1449 {
1451 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getArrTgntXYZ()

void FBiGeom_getArrTgntXYZ ( FBiGeom_Instance  instance,
iBase_EntityHandle const *  entity_handles,
int  entity_handles_size,
int  storage_order,
double const *  coordinates,
int  coordinates_size,
double **  tangents,
int *  tangents_allocated,
int *  tangents_size,
int *  err 
)

Get the tangent vector on an entity(ies) at given position(s)

Get the tangent vector on an entity(ies) at given position(s). If either the number of entities or number of coordinate triples is unity, then all points or entities are queried for that entity or point, respectively, otherwise each point corresponds to each entity. storage_order should be a value in the iBase_StorageOrder enum

Parameters
instanceFBiGeom instance handle
entity_handlesEntity(ies) being queried
entity_handles_sizeNumber of entities being queried
storage_orderStorage order of coordinates
coordinatesStarting coordinates
coordinates_sizeNumber of values in coordinates array
tangentsTangent coordinates
tangents_allocatedAllocated size of tangents array
tangents_sizeOccupied size of tangents array
*errPointer to error type returned from function

Definition at line 779 of file FBiGeom_MOAB.cpp.

789 {
791 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getArrTolerance()

void FBiGeom_getArrTolerance ( FBiGeom_Instance  instance,
iBase_EntityHandle const *  entity_handles,
int  entity_handles_size,
double **  tolerances,
int *  tolerances_allocated,
int *  tolerances_size,
int *  err 
)

Get the tolerances of the specified entities.

Get the tolerances of the specified entities.

Parameters
instanceFBiGeom instance handle
entity_handlesArray of entity handles being queried
entity_handles_sizeNumber of entities in entity_handles array
tolerancePointer to array of tolerances returned from function
tolerance_allocatedPointer to allocated size of tolerance array
tololerance_sizePointer to occupied size of tolerance array
*errPointer to error type returned from function

Definition at line 2637 of file FBiGeom_MOAB.cpp.

2644 {
2646 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getArrType()

void FBiGeom_getArrType ( FBiGeom_Instance  instance,
iBase_EntityHandle const *  entity_handles,
int  entity_handles_size,
int **  type,
int *  type_allocated,
int *  type_size,
int *  err 
)

Get the entity type for the specified entities.

Get the entity type for the specified entities. Types returned are values in the iBase_EntityType enumeration.

Parameters
instanceFBiGeom instance handle
entity_handlesArray of entity handles being queried
entity_handles_sizeNumber of entities in entity_handles array
*typePointer to array of types returned from function
*type_allocatedPointer to allocated size of type array
*type_sizePointer to occupied size of type array
*errPointer to error type returned from function

Definition at line 263 of file FBiGeom_MOAB.cpp.

270 {
271  CHECK_SIZE( *type, *type_allocated, entity_handles_size, int, NULL );
272  *type_size = entity_handles_size;
273 
274  int tmp_err;
275 
276  for( int i = 0; i < entity_handles_size; i++ )
277  {
278  FBiGeom_getEntType( instance, entity_handles[i], *type + i, &tmp_err );
279  if( iBase_SUCCESS != tmp_err )
280  {
281  ERROR( tmp_err, "Failed to get entity type in FBiGeom_getArrType." );
282  }
283  }
284 
286 }

References CHECK_SIZE, ERROR, FBiGeom_getEntType(), iBase_SUCCESS, and RETURN.

◆ FBiGeom_getArrURange()

void FBiGeom_getArrURange ( FBiGeom_Instance  instance,
iBase_EntityHandle const *  entity_handles,
int  entity_handles_size,
double **  u_min,
int *  u_min_allocated,
int *  u_min_size,
double **  u_max,
int *  u_max_allocated,
int *  u_max_size,
int *  err 
)

Get parametric range of entities.

Get parametric range of entities

Parameters
instanceFBiGeom instance handle
entity_handlesEntities being queried
entity_handles_sizeNumber of entities being queried
storage_orderStorage order of parametric coordinates being returned
u_minMinimum parametric coordinate for entities
u_min_allocatedAllocated size of minimum parametric coordinate array
u_min_sizeOccupied size of minimum parametric coordinate array
u_maxMaximum parametric coordinate for entities
u_max_allocatedAllocated size of maximum parametric coordinate array
u_max_sizeOccupied size of maximum parametric coordinate array
*errPointer to error type returned from function

Definition at line 1332 of file FBiGeom_MOAB.cpp.

1342 {
1344 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getArrUtoUV()

void FBiGeom_getArrUtoUV ( FBiGeom_Instance  instance,
iBase_EntityHandle const *  edge_handles,
int  edge_handles_size,
iBase_EntityHandle const *  face_handles,
int  face_handles_size,
double const *  u_in,
int  u_in_size,
int  storage_order,
double **  uv,
int *  uv_allocated,
int *  uv_size,
int *  err 
)

Return the face parametric coordinates for a parametric position on bounding edges.

Return the face parametric coordinates for a parametric position on bounding edges

Parameters
instanceFBiGeom instance handle
edge_handlesEdges being queried
edge_handles_sizeNumber of edges being queried
face_handlesFaces being queried
face_handles_sizeNumber of faces being queried
u_inParametric positions on edges
u_in_sizeNumber of parametric positions on edges
storage_orderStorage order of coordinates returned
uvCorresponding parametric positions on faces
uv_allocatedAllocated size of parameter array
uv_sizeOccupied size of parameter array
*errPointer to error type returned from function

Definition at line 1363 of file FBiGeom_MOAB.cpp.

1375 {
1377 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getArrUtoXYZ()

void FBiGeom_getArrUtoXYZ ( FBiGeom_Instance  instance,
iBase_EntityHandle const *  entity_handles,
int  entity_handles_size,
double const *  u,
int  u_size,
int  storage_order,
double **  on_coords,
int *  on_coords_allocated,
int *  on_coords_size,
int *  err 
)

Return coordinate positions at specified parametric position(s) on entity(ies)

Return coordinate positions at specified parametric position(s) on entity(ies). If either the number of entities or number of parametric coordinate pairs is unity, then all points or entities are queried for that entity or point, respectively, otherwise each point corresponds to each entity. storage_order should be a value in the iBase_StorageOrder enum.

Parameters
instanceFBiGeom instance handle
entity_handlesEntities being queried
entity_handles_sizeNumber of entities being queried
storage_orderStorage order of resulting coordinates
uvCoordinates being queried
uv_sizeNumber of coordinates in array
coordinatesCoordinates of parametric positions
coordinates_allocatedAllocated size of coordinates array
coordinates_sizeOccupied size of coordinates array
*errPointer to error type returned from function

Definition at line 1219 of file FBiGeom_MOAB.cpp.

1229 {
1230  // not implemented
1232 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getArrUVRange()

void FBiGeom_getArrUVRange ( FBiGeom_Instance  instance,
iBase_EntityHandle const *  entity_handles,
int  entity_handles_size,
int  storage_order,
double **  uv_min,
int *  uv_min_allocated,
int *  uv_min_size,
double **  uv_max,
int *  uv_max_allocated,
int *  uv_max_size,
int *  err 
)

Get parametric range of entities.

Get parametric range of entities

Parameters
instanceFBiGeom instance handle
entity_handlesEntities being queried
entity_handles_sizeNumber of entities being queried
storage_orderStorage order of parametric coordinates being returned
uv_minMinimum parametric coordinate for entities
uv_min_allocatedAllocated size of minimum parametric coordinate array
uv_min_sizeOccupied size of minimum parametric coordinate array
uv_maxMaximum parametric coordinate for entities
uv_max_allocatedAllocated size of maximum parametric coordinate array
uv_max_sizeOccupied size of maximum parametric coordinate array
*errPointer to error type returned from function

Definition at line 1318 of file FBiGeom_MOAB.cpp.

1329 {
1331 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getArrUVtoXYZ()

void FBiGeom_getArrUVtoXYZ ( FBiGeom_Instance  instance,
iBase_EntityHandle const *  entity_handles,
int  entity_handles_size,
int  storage_order,
double const *  uv,
int  uv_size,
double **  coordinates,
int *  coordinates_allocated,
int *  coordinates_size,
int *  err 
)

Return coordinate positions at specified parametric position(s) on entity(ies)

Return coordinate positions at specified parametric position(s) on entity(ies). If either the number of entities or number of parametric coordinate pairs is unity, then all points or entities are queried for that entity or point, respectively, otherwise each point corresponds to each entity. storage_order should be a value in the iBase_StorageOrder enum.

Parameters
instanceFBiGeom instance handle
entity_handlesEntities being queried
entity_handles_sizeNumber of entities being queried
storage_orderStorage order of uv coordinates input and xyz coordinate output
uvCoordinates being queried
uv_sizeNumber of coordinates in array
coordinatesCoordinates of parametric positions
coordinates_allocatedAllocated size of coordinates array
coordinates_sizeOccupied size of coordinates array
*errPointer to error type returned from function

Definition at line 1186 of file FBiGeom_MOAB.cpp.

1196 {
1198 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getArrXYZtoU()

void FBiGeom_getArrXYZtoU ( FBiGeom_Instance  instance,
iBase_EntityHandle const *  entity_handles,
int  entity_handles_size,
int  storage_order,
double const *  coordinates,
int  coordinates_size,
double **  u,
int *  u_allocated,
int *  u_size,
int *  err 
)

Return spatial positions at specified parametric position(s) on entity(ies)

Return spatial positions at specified parametric position(s) on entity(ies). If either the number of entities or number of spatial coordinate triples is unity, then all points or entities are queried for that entity or point, respectively, otherwise each point corresponds to each entity. storage_order should be a value in the iBase_StorageOrder enum.

Parameters
instanceFBiGeom instance handle
entity_handlesEntities being queried
entity_handles_sizeNumber of entities being queried
storage_orderStorage order of spatial coordinates input
coordinatesCoordinates being queried
coordinates_sizeNumber of coordinates in array
uCoordinates of parametric positions
u_allocatedAllocated size of coordinates array
u_sizeOccupied size of coordinates array
*errPointer to error type returned from function

Definition at line 1261 of file FBiGeom_MOAB.cpp.

1271 {
1273 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getArrXYZtoUV()

void FBiGeom_getArrXYZtoUV ( FBiGeom_Instance  instance,
iBase_EntityHandle const *  entity_handles,
int  entity_handles_size,
int  storage_order,
double const *  coordinates,
int  coordinates_size,
double **  uv,
int *  uv_allocated,
int *  uv_size,
int *  err 
)

Return parametric positions at specified spatial position(s) on entity(ies) Return parametric positions at specified spatial position(s) on entity(ies). If either the number of entities or number of spatial coordinate triples is unity, then all points or entities are queried for that entity or point, respectively, otherwise each point corresponds to each entity. storage_order should be a value in the iBase_StorageOrder enum.

Parameters
instanceFBiGeom instance handle
entity_handlesEntities being queried
entity_handles_sizeNumber of entities being queried
storage_orderStorage order of spatial coordinates input
coordinatesCoordinates being queried
coordinates_sizeNumber of coordinates in array
uvCoordinates of parametric positions
uv_allocatedAllocated size of coordinates array
uv_sizeOccupied size of coordinates array
*errPointer to error type returned from function

Definition at line 1248 of file FBiGeom_MOAB.cpp.

1258 {
1260 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getArrXYZtoUVHint()

void FBiGeom_getArrXYZtoUVHint ( FBiGeom_Instance  instance,
iBase_EntityHandle const *  entity_handles,
int  entity_handles_size,
int  storage_order,
double const *  coords,
int  coords_size,
double **  uv,
int *  uv_allocated,
int *  uv_size,
int *  err 
)

Return parametric positions at specified spatial position(s) on entity(ies), based on parametric position hints Return parametric positions at specified spatial position(s) on entity(ies), based on parametric position hints. If either the number of entities or number of spatial coordinate triples is unity, then all points or entities are queried for that entity or point, respectively, otherwise each point corresponds to each entity. storage_order should be a value in the iBase_StorageOrder enum.

Parameters
instanceFBiGeom instance handle
entity_handlesEntities being queried
entity_handles_sizeNumber of entities being queried
storage_orderStorage order of spatial coordinates input
coordinatesCoordinates being queried
coordinates_sizeNumber of coordinates in array
uvCoordinates of parametric positions
uv_allocatedAllocated size of coordinates array
uv_sizeOccupied size of coordinates array
*errPointer to error type returned from function

Definition at line 1285 of file FBiGeom_MOAB.cpp.

1295 {
1297 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getBoundBox()

void FBiGeom_getBoundBox ( FBiGeom_Instance  instance,
double *  min_x,
double *  min_y,
double *  min_z,
double *  max_x,
double *  max_y,
double *  max_z,
int *  err 
)

Get the bounding box of the entire model.

Get the bounding box of the entire model

Parameters
instanceFBiGeom instance handle
min_xMinimum coordinate of bounding box
min_yMinimum coordinate of bounding box
min_zMinimum coordinate of bounding box
max_xMaximum coordinate of bounding box
max_yMaximum coordinate of bounding box
max_zMaximum coordinate of bounding box
*errPointer to error type returned from function

Definition at line 209 of file FBiGeom_MOAB.cpp.

210 {
212 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getChldn()

void FBiGeom_getChldn ( FBiGeom_Instance  instance,
iBase_EntitySetHandle  from_entity_set,
int  num_hops,
iBase_EntitySetHandle **  entity_set_handles,
int *  entity_set_handles_allocated,
int *  entity_set_handles_size,
int *  err 
)

Get the child sets linked from a specified set.

Get the child sets linked from a specified set. If num_hops is not -1, this represents the maximum hops from entity_set to any child.

Parameters
instanceFBiGeom instance handle
from_entity_setEntity set being queried
num_hopsMaximum hops from entity_set_handle to child set, not inclusive of the child set
*entity_set_handlesPointer to array of child sets returned from function
*entity_set_handles_allocatedPointer to allocated size of entity_set_handles array
*entity_set_handles_sizePointer to occupied size of entity_set_handles array
*errPointer to error type returned from function

Definition at line 1980 of file FBiGeom_MOAB.cpp.

1987 {
1988  iMesh_getChldn( IMESH_INSTANCE( instance ), from_entity_set, num_hops, entity_set_handles,
1989  entity_set_handles_allocated, entity_set_handles_size, err );
1990 }

References iMesh_getChldn, and IMESH_INSTANCE.

◆ FBiGeom_getData()

void FBiGeom_getData ( FBiGeom_Instance  instance,
iBase_EntityHandle  entity_handle,
iBase_TagHandle  tag_handle,
void **  tag_value,
int *  tag_value_allocated,
int *  tag_value_size,
int *  err 
)

Get the value of a tag of arbitrary type on an entity.

Get the value of a tag of arbitrary type on an entity. Tag data is passed back as void*. tag_value_size specifies the size of the memory pointed to by tag_value in terms of bytes. Applications may use this function to get data of any type, not just iBase_BYTES. However, because this function supports arbitrary type, in all cases the size specified by tag_value_size is always in terms of bytes.

Parameters
instanceFBiGeom instance handle
entity_handleEntity on which tag is being set
tag_handleTag being set on an entity
*tag_valuePointer to tag data array being queried
*tag_value_allocatedPointer to tag data array allocated size
*tag_value_sizePointer to occupied size in bytes of tag data array
*errPointer to error type returned from function

Definition at line 2298 of file FBiGeom_MOAB.cpp.

2305 {
2306  iMesh_getData( IMESH_INSTANCE( instance ), entity_handle, tag_handle, tag_value, tag_value_allocated,
2307  tag_value_size, err );
2308 }

References iMesh_getData, and IMESH_INSTANCE.

◆ FBiGeom_getDblArrData()

void FBiGeom_getDblArrData ( FBiGeom_Instance  instance,
const iBase_EntityHandle entity_handles,
int  entity_handles_size,
iBase_TagHandle  tag_handle,
double **  tag_values,
int *  tag_values_allocated,
int *  tag_values_size,
int *  err 
)

Get tag values of double type for an array of entities.

Get tag values of double type for an array of entities.

Parameters
instanceFBiGeom instance handle
entity_handlesEntity array on which tag is being set
entity_handles_sizeNumber of entities in array
tag_handleTag being set on an entity
*tag_valuesPointer to tag data array being returned from function
tag_values_allocatedPointer to allocated size of tag data array
tag_values_sizePointer to occupied size of tag data array
*errPointer to error type returned from function

Definition at line 2190 of file FBiGeom_MOAB.cpp.

2198 {
2199  iMesh_getDblArrData( IMESH_INSTANCE( instance ), entity_handles, entity_handles_size, tag_handle, tag_values,
2200  tag_values_allocated, tag_values_size, err );
2201 }

References iMesh_getDblArrData, and IMESH_INSTANCE.

◆ FBiGeom_getDblData()

void FBiGeom_getDblData ( FBiGeom_Instance  instance,
const iBase_EntityHandle  entity_handle,
const iBase_TagHandle  tag_handle,
double *  out_data,
int *  err 
)

Get the value of a tag of double type on an entity.

Get the value of a tag of double type on an entity.

Parameters
instanceFBiGeom instance handle
entity_handleEntity on which tag is being set
tag_handleTag being set on an entity
*out_dataPointer to tag value returned from function
*errPointer to error type returned from function

Definition at line 2319 of file FBiGeom_MOAB.cpp.

2324 {
2325  iMesh_getDblData( IMESH_INSTANCE( instance ), entity_handle, tag_handle, out_data, err );
2326 }

References iMesh_getDblData, and IMESH_INSTANCE.

◆ FBiGeom_getDescription()

void FBiGeom_getDescription ( FBiGeom_Instance  instance,
char *  descr,
int  descr_len 
)

Get a description of the error returned from the last FBiGeom call.

Get a description of the error returned from the last FBiGeom function

Parameters
instanceFBiGeom instance handle
descrPointer to a character string to be filled with a description of the error from the last FBiGeom function
descr_lenLength of the character string pointed to by descr

Definition at line 64 of file FBiGeom_MOAB.cpp.

65 {
66  iMesh_getDescription( IMESH_INSTANCE( instance ), descr, descr_len );
67 }

References iMesh_getDescription, and IMESH_INSTANCE.

◆ FBiGeom_getEgCvtrXYZ()

void FBiGeom_getEgCvtrXYZ ( FBiGeom_Instance  instance,
iBase_EntityHandle  edge_handle,
double  x,
double  y,
double  z,
double *  cvtr_i,
double *  cvtr_j,
double *  cvtr_k,
int *  err 
)

Get the principle curvature vector for an edge at a point.

Get the principle curvature vector for an edge at a point. Magnitude of vector is the curvature, direction is direction of principal curvature.

Parameters
instanceFBiGeom instance handle
edge_handleEdge being queried
xPosition being queried
yPosition being queried
zPosition being queried
cvtr_iMaximum curvature vector
cvtr_jMaximum curvature vector
cvtr_kMaximum curvature vector
*errPointer to error type returned from function

Definition at line 2465 of file FBiGeom_MOAB.cpp.

2474 {
2476 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getEgEvalXYZ()

void FBiGeom_getEgEvalXYZ ( FBiGeom_Instance  instance,
iBase_EntityHandle  edge_handle,
double  x,
double  y,
double  z,
double *  on_x,
double *  on_y,
double *  on_z,
double *  tgnt_i,
double *  tgnt_j,
double *  tgnt_k,
double *  cvtr_i,
double *  cvtr_j,
double *  cvtr_k,
int *  err 
)

Get closest point, tangent, and curvature of edge.

Get closest point, tangent, and curvature of edge.

Parameters
instanceFBiGeom instance handle
edge_handleEdge being queried
xPoint at which entity is being queried
yPoint at which entity is being queried
zPoint at which entity is being queried
on_xClosest point at point being queried
on_yClosest point at point being queried
on_zClosest point at point being queried
tgnt_iTangent at point being queried
tgnt_jTangent at point being queried
tgnt_kTangent at point being queried
cvtr_iCurvature at point being queried
cvtr_jCurvature at point being queried
cvtr_kCurvature at point being queried
*errPointer to error type returned from function

Definition at line 2495 of file FBiGeom_MOAB.cpp.

2510 {
2511  ErrorCode rval = FBE_cast( instance )
2512  ->getEgEvalXYZ( (moab::EntityHandle)edge, x, y, z, *on_x, *on_y, *on_z, *tngt_i, *tngt_j,
2513  *tngt_k, *cvtr_i, *cvtr_j, *cvtr_k );CHKERR( rval, "can't get point on edge " );
2514  RETURN( iBase_SUCCESS );
2515 }

References CHKERR, ErrorCode, FBE_cast(), moab::FBEngine::getEgEvalXYZ(), iBase_SUCCESS, and RETURN.

◆ FBiGeom_getEgFcArrSense()

void FBiGeom_getEgFcArrSense ( FBiGeom_Instance  instance,
iBase_EntityHandle const *  edge_handles,
int  edge_handles_size,
iBase_EntityHandle const *  face_handles,
int  face_handles_size,
int **  sense,
int *  sense_allocated,
int *  sense_size,
int *  err 
)

Get the senses of an array of edges with respect to an array of faces.

Get the senses of an array of edges with respect to an array of faces. Sense returned is -1, 0, or 1, representing "reversed", "both", or "forward". "both" sense indicates that edge bounds the face once with each sense.

Parameters
instanceFBiGeom instance handle
edge_handlesEdges being queried
edge_handles_sizeSize of edge handles array
face_handlesFaces being queried
face_handles_sizeSize of face handles array
senseSenses of faces with respect to regions
sense_allocatedAllocated size of senses array
sense_sizeOccupied size of senses array
*errPointer to error type returned from function

Definition at line 1086 of file FBiGeom_MOAB.cpp.

1095 {
1097 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getEgFcSense()

void FBiGeom_getEgFcSense ( FBiGeom_Instance  instance,
iBase_EntityHandle  edge,
iBase_EntityHandle  face,
int *  sense_out,
int *  err 
)

Get the sense of an edge with respect to a face Get the sense of an edge with respect to a face. Sense returned is -1, 0, or 1, representing "reversed", "both", or "forward". "both" sense indicates that edge bounds the face once with each sense.

Get the sense of an edge with respect to a face.

Parameters
edgeEdge being queried
faceFace being queried
sense_outSense of edge with respect to face

Definition at line 1072 of file FBiGeom_MOAB.cpp.

1077 {
1078  // this one is important, for establishing the orientation of the edges in faces
1079  // bummer, I "thought" it is already implemented
1080  // use senses
1081  ErrorCode rval = FBE_cast( instance )->getEgFcSense( MBH_cast( edge ), MBH_cast( face ), *sense_out );
1082 
1083  CHKERR( rval, "Failed to get edge senses in FBiGeom_getEgFcSense." );
1084  RETURN( iBase_SUCCESS );
1085 }

References CHKERR, ErrorCode, FBE_cast(), moab::FBEngine::getEgFcSense(), iBase_SUCCESS, MBH_cast(), and RETURN.

◆ FBiGeom_getEgVtxArrSense()

void FBiGeom_getEgVtxArrSense ( FBiGeom_Instance  instance,
iBase_EntityHandle const *  edge_handles,
int  edge_handles_size,
iBase_EntityHandle const *  vertex_handles_1,
int  veretx_handles_1_size,
iBase_EntityHandle const *  vertex_handles_2,
int  vertex_handles_2_size,
int **  sense,
int *  sense_allocated,
int *  sense_size,
int *  err 
)

Get the senses of vertex pair with respect to a edges.

Get the senses of vertex pairs with respect to edges. Sense returned is -1, 0, or 1, representing "reversed", "both", or "forward". "both" sense indicates that both vertices in pair are identical and that vertex bounds both sides of the edge.

Parameters
instanceFBiGeom instance handle
edge_handlesEdges being queried
edge_handles_sizeNumber of edges being queried
vertex_handles_1First vertex being queried
vertex_handles_1_sizeNumber of vertices in vertices array
vertex_handles_2Second vertex being queried
vertex_handles_2_sizeNumber of vertices in vertices array
senseSense of vertex pair with respect to edge
sense_allocatedAllocated size of sense array
sense_sizeOccupied size of sense array
*errPointer to error type returned from function

Definition at line 1111 of file FBiGeom_MOAB.cpp.

1122 {
1124 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getEgVtxSense()

void FBiGeom_getEgVtxSense ( FBiGeom_Instance  instance,
iBase_EntityHandle  edge,
iBase_EntityHandle  vertex1,
iBase_EntityHandle  vertex2,
int *  sense_out,
int *  err 
)

Get the sense of a vertex pair with respect to an edge.

Get the sense of a vertex pair with respect to an edge. Sense returned is -1, 0, or 1, representing "reversed", "both", or "forward". "both" sense indicates that vertices are identical and that vertex bounds both sides of the edge.

Parameters
instanceFBiGeom instance handle
edgeEdge being queried
vertex1First vertex being queried
vertex2Second vertex being queried
sense_outSense of vertex pair with respect to edge
*errPointer to error type returned from function

Definition at line 1099 of file FBiGeom_MOAB.cpp.

1105 {
1106 
1107  ErrorCode rval =
1108  FBE_cast( instance )->getEgVtxSense( MBH_cast( edge ), MBH_cast( vertex1 ), MBH_cast( vertex2 ), *sense_out );CHKERR( rval, "Failed to get vertex sense wrt edge in FBiGeom_getEgVtxSense" );
1109  RETURN( iBase_SUCCESS );
1110 }

References CHKERR, ErrorCode, FBE_cast(), moab::FBEngine::getEgVtxSense(), iBase_SUCCESS, MBH_cast(), and RETURN.

◆ FBiGeom_getEHArrData()

void FBiGeom_getEHArrData ( FBiGeom_Instance  instance,
const iBase_EntityHandle entity_handles,
int  entity_handles_size,
iBase_TagHandle  tag_handle,
iBase_EntityHandle **  tag_value,
int *  tag_value_allocated,
int *  tag_value_size,
int *  err 
)

Get tag values of entity handle type for an array of entities.

Get tag values of entity handle type for an array of entities.

Parameters
instanceFBiGeom instance handle
entity_handlesEntity array on which tag is being set
entity_handles_sizeNumber of entities in array
tag_handleTag being set on an entity
*tag_valuePointer to tag data array being returned from function
tag_value_allocatedPointer to allocated size of tag data array
tag_value_sizePointer to occupied size of tag data array
*errPointer to error type returned from function

Definition at line 2203 of file FBiGeom_MOAB.cpp.

2211 {
2212  iMesh_getEHArrData( IMESH_INSTANCE( instance ), entity_handles, entity_handles_size, tag_handle, tag_value,
2213  tag_value_allocated, tag_value_size, err );
2214 }

References iMesh_getEHArrData, and IMESH_INSTANCE.

◆ FBiGeom_getEHData()

void FBiGeom_getEHData ( FBiGeom_Instance  instance,
iBase_EntityHandle  entity_handle,
iBase_TagHandle  tag_handle,
iBase_EntityHandle out_data,
int *  err 
)

Get the value of a tag of entity handle type on an entity.

Get the value of a tag of entity handle type on an entity.

Parameters
instanceFBiGeom instance handle
entity_handleEntity on which tag is being set
tag_handleTag being set on an entity
*out_dataPointer to tag value returned from function
*errPointer to error type returned from function

Definition at line 2328 of file FBiGeom_MOAB.cpp.

2333 {
2334  iMesh_getEHData( IMESH_INSTANCE( instance ), entity_handle, tag_handle, out_data, err );
2335 }

References iMesh_getEHData, and IMESH_INSTANCE.

◆ FBiGeom_getEnt1stDrvt()

void FBiGeom_getEnt1stDrvt ( FBiGeom_Instance  instance,
iBase_EntityHandle  entity_handle,
double  u,
double  v,
double **  drvt_u,
int *  drvt_u_allocated,
int *  drvt_u_size,
double **  drvt_v,
int *  dvrt_v_allocated,
int *  dvrt_v_size,
int *  err 
)

Get the first derivative of a face at specified parametric position.

Get the first derivative of a face at specified parametric position.

Parameters
instanceFBiGeom instance handle
entity_handleEntity being queried
uParametric position being queried
vParametric position being queried
dvrt_uPointer to coordinates of derivative with respect to u at specified position returned from function
dvrt_u_allocatedAllocated size of dvrt_u array
dvrt_u_sizeOccupied size of dvrt_u array
dvrt_vPointer to coordinates of derivative with respect to v at specified position returned from function
dvrt_v_allocatedAllocated size of dvrt_v array
dvrt_v_sizeOccupied size of dvrt_v array
*errPointer to error type returned from function

Definition at line 1452 of file FBiGeom_MOAB.cpp.

1463 {
1465 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getEnt2ndAdj()

void FBiGeom_getEnt2ndAdj ( FBiGeom_Instance  instance,
iBase_EntityHandle  entity_handle,
int  bridge_dimension,
int  to_dimension,
iBase_EntityHandle **  adjacent_entities,
int *  adjacent_entities_allocated,
int *  adjacent_entities_size,
int *  err 
)

Get "2nd order" adjacencies to an entity.

Get "2nd order" adjacencies to an entity, that is, from an entity, through other entities of a specified "bridge" dimension, to other entities of another specified "to" dimension.

Parameters
instanceFBiGeom instance handle
entity_handleEntity from which adjacencies are requested
bridge_dimensionBridge dimension for 2nd order adjacencies
to_dimensionDimension of adjacent entities returned
adjacent_entitiesAdjacent entities
adjacent_entities_allocatedAllocated size of returned array
adjacent_entities_sizeOccupied size of returned array
*errPointer to error type returned from function

Definition at line 349 of file FBiGeom_MOAB.cpp.

357 {
358  Range to_ents, bridge_ents, tmp_ents;
359  ErrorCode rval = FBE_cast( instance )->getEntAdj( MBH_cast( entity_handle ), bridge_dimension, bridge_ents );
360 
361  CHKERR( rval, "Failed to get adjacent entities in FBiGeom_getEnt2ndAdj." );
362 
363  Range::iterator iter, jter, kter, end_jter;
364  Range::iterator end_iter = bridge_ents.end();
365  for( iter = bridge_ents.begin(); iter != end_iter; ++iter )
366  {
367  rval = FBE_cast( instance )->getEntAdj( *iter, to_dimension, tmp_ents );
368 
369  CHKERR( rval, "Failed to get adjacent entities in FBiGeom_getEnt2ndAdj." );
370 
371  for( jter = tmp_ents.begin(); jter != end_jter; ++jter )
372  {
373  if( to_ents.find( *jter ) == to_ents.end() )
374  {
375  to_ents.insert( *jter );
376  }
377  }
378  tmp_ents.clear();
379  }
380 
381  *adjacent_entities_size = to_ents.size();
382  CHECK_SIZE( *adjacent_entities, *adjacent_entities_allocated, *adjacent_entities_size, iBase_EntityHandle, NULL );
383  COPY_RANGE( to_ents, *adjacent_entities );
384 
386 }

References moab::Range::begin(), CHECK_SIZE, CHKERR, moab::Range::clear(), COPY_RANGE, moab::Range::end(), ErrorCode, FBE_cast(), moab::Range::find(), moab::FBEngine::getEntAdj(), iBase_SUCCESS, moab::Range::insert(), MBH_cast(), RETURN, and moab::Range::size().

◆ FBiGeom_getEnt2ndDrvt()

void FBiGeom_getEnt2ndDrvt ( FBiGeom_Instance  instance,
iBase_EntityHandle  entity_handle,
double  u,
double  v,
double **  drvt_uu,
int *  drvt_uu_allocated,
int *  drvt_uu_size,
double **  drvt_vv,
int *  dvrt_vv_allocated,
int *  dvrt_vv_size,
double **  drvt_uv,
int *  dvrt_uv_allocated,
int *  dvrt_uv_size,
int *  err 
)

Get the second derivative of a face at specified parametric position.

Get the second derivative of a face at specified parametric position.

Parameters
instanceFBiGeom instance handle
entity_handleEntity being queried
uParametric position being queried
vParametric position being queried
dvrt_uuPointer to coordinates of derivative with respect to u at specified position returned from function
dvrt_uu_allocatedAllocated size of dvrt_uu array
dvrt_uu_sizeOccupied size of dvrt_uu array
dvrt_vvPointer to coordinates of derivative with respect to v at specified position returned from function
dvrt_vv_allocatedAllocated size of dvrt_vv array
dvrt_vv_sizeOccupied size of dvrt_vv array
dvrt_uvPointer to coordinates of derivative with respect to u and v at specified position returned from function
dvrt_uv_allocatedAllocated size of dvrt_uv array
dvrt_uv_sizeOccupied size of dvrt_uv array
*errPointer to error type returned from function

Definition at line 1488 of file FBiGeom_MOAB.cpp.

1502 {
1504 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getEntAdj()

void FBiGeom_getEntAdj ( FBiGeom_Instance  instance,
iBase_EntityHandle  entity_handle,
int  to_dimension,
iBase_EntityHandle **  adj_entities,
int *  adj_entities_allocated,
int *  adj_entities_size,
int *  err 
)

Get entities of specified type adjacent to an entity.

Get entities of specified type adjacent to an entity. Specified type must be value in the iBase_EntityType enumeration.

Parameters
instanceFBiGeom instance handle
entity_handleEntity handle being queried
entity_type_requestedType of adjacent entities requested
*adj_entity_handlesPointer to array of adjacent entities returned from function
*adj_entity_handles_allocatedPointer to allocated size of adj_entity_handles array
*adj_entity_handles_sizePointer to occupied size of adj_entity_handles array
*errPointer to error type returned from function

Definition at line 288 of file FBiGeom_MOAB.cpp.

295 {
296  Range adjs;
297  EntityHandle this_ent = MBH_cast( entity_handle );
298 
299  ErrorCode rval = FBE_cast( instance )->getEntAdj( this_ent, to_dimension, adjs );
300 
301  CHKERR( rval, "Failed to get adjacent entities in FBiGeom_getEntAdj." );
302 
303  // copy adjacent entities
304  *adj_entities_size = adjs.size();
305  CHECK_SIZE( *adj_entities, *adj_entities_allocated, *adj_entities_size, iBase_EntityHandle, NULL );
306  COPY_RANGE( adjs, *adj_entities );
307 
309 }

References CHECK_SIZE, CHKERR, COPY_RANGE, ErrorCode, FBE_cast(), moab::FBEngine::getEntAdj(), iBase_SUCCESS, MBH_cast(), RETURN, and moab::Range::size().

◆ FBiGeom_getEntArrCvtrXYZ()

void FBiGeom_getEntArrCvtrXYZ ( FBiGeom_Instance  instance,
iBase_EntityHandle const *  entity_handles,
int  entity_handles_size,
int  storage_order,
double const *  coords,
int  coords_size,
double **  cvtr_1,
int *  cvtr_1_allocated,
int *  cvtr_1_size,
double **  cvtr_2,
int *  cvtr_2_allocated,
int *  cvtr_2_size,
int *  err 
)

Get the curvature(s) on an entity(ies) at given position(s)

Get the curvature(s) on an entity(ies) at given position(s). If either the number of entities or number of coordinate triples is unity, then all points or entities are queried for that entity or point, respectively, otherwise each point corresponds to each entity. storage_order should be a value in the iBase_StorageOrder enum.

Parameters
instanceFBiGeom instance handle
entity_handlesEntity(ies) being queried
entity_handles_sizeNumber of entities being queried
storage_orderStorage order of coordinates
coordsStarting coordinates
coords_sizeNumber of values in coordinates array
cvtr_1First principal curvatures
cvtr_1_allocatedAllocated size of first curvature array
cvtr_1_sizeOccupied size of first curvature array
cvtr_2Second principal curvatures
cvtr_2_allocatedAllocated size of second curvature array
cvtr_2_sizeOccupied size of second curvature array
*errPointer to error type returned from function

Definition at line 2478 of file FBiGeom_MOAB.cpp.

2491 {
2493 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getEntBoundBox()

void FBiGeom_getEntBoundBox ( FBiGeom_Instance  instance,
iBase_EntityHandle  entity_handle,
double *  min_x,
double *  min_y,
double *  min_z,
double *  max_x,
double *  max_y,
double *  max_z,
int *  err 
)

Get the bounding box of the specified entity.

Get the bounding box of the specified entity

Parameters
instanceFBiGeom instance handle
entity_handleEntity being queried
min_xMinimum coordinate of bounding box
min_yMinimum coordinate of bounding box
min_zMinimum coordinate of bounding box
max_xMaximum coordinate of bounding box
max_yMaximum coordinate of bounding box
max_zMaximum coordinate of bounding box
*errPointer to error type returned from function

Definition at line 793 of file FBiGeom_MOAB.cpp.

802 {
803  ErrorCode rval;
804  int type;
805  FBiGeom_getEntType( instance, entity_handle, &type, err );
806  FWDERR();
807 
808  if( type == 0 )
809  {
810  FBiGeom_getVtxCoord( instance, entity_handle, min_x, min_y, min_z, err );
811  FWDERR();
812  max_x = min_x;
813  max_y = min_y;
814  max_z = min_z;
815  }
816  else if( type == 1 )
817  {
818  // it could be relatively easy to support
819  *err = iBase_NOT_SUPPORTED;
820  FWDERR();
821  }
822  else if( type == 2 || type == 3 )
823  {
824 
825  EntityHandle root;
826  CartVect center, axis[3];
827  GeomTopoTool* gtt = GETGTT( instance );
828  if( !gtt ) ERROR( iBase_FAILURE, "Can't get geom topo tool." );
829  rval = gtt->get_root( MBH_cast( entity_handle ), root );CHKERR( rval, "Failed to get tree root in FBiGeom_getEntBoundBox." );
830  rval = gtt->obb_tree()->box( root, center.array(), axis[0].array(), axis[1].array(), axis[2].array() );CHKERR( rval, "Failed to get box from obb tree." );
831 
832  CartVect absv[3];
833  for( int i = 0; i < 3; i++ )
834  {
835  absv[i] = CartVect( fabs( axis[i][0] ), fabs( axis[i][1] ), fabs( axis[i][2] ) );
836  }
837  CartVect min, max;
838  min = center - absv[0] - absv[1] - absv[2];
839  max = center + absv[0] + absv[1] + absv[2];
840  *min_x = min[0];
841  *min_y = min[1];
842  *min_z = min[2];
843  *max_x = max[0];
844  *max_y = max[1];
845  *max_z = max[2];
846  }
847  else
849 
851 }

References moab::CartVect::array(), moab::OrientedBoxTreeTool::box(), center(), CHKERR, ERROR, ErrorCode, FBiGeom_getEntType(), FBiGeom_getVtxCoord(), FWDERR, moab::GeomTopoTool::get_root(), GETGTT, iBase_FAILURE, iBase_INVALID_ENTITY_TYPE, iBase_NOT_SUPPORTED, iBase_SUCCESS, MBH_cast(), moab::GeomTopoTool::obb_tree(), and RETURN.

Referenced by FBiGeom_getArrBoundBox().

◆ FBiGeom_getEntClosestPt()

void FBiGeom_getEntClosestPt ( FBiGeom_Instance  instance,
iBase_EntityHandle  entity_handle,
double  near_x,
double  near_y,
double  near_z,
double *  on_x,
double *  on_y,
double *  on_z,
int *  err 
)

Get closest point to an entity.

Get closest point to a specified position on an entity

Parameters
instanceFBiGeom instance handle
entity_handleEntity being queried
near_xCoordinates of starting point
near_yCoordinates of starting point
near_zCoordinates of starting point
on_xClosest point on entity
on_yClosest point on entity
on_zClosest point on entity
*errPointer to error type returned from function

Definition at line 477 of file FBiGeom_MOAB.cpp.

486 {
487 
488  ErrorCode rval =
489  FBE_cast( instance )->getEntClosestPt( MBH_cast( entity_handle ), near_x, near_y, near_z, on_x, on_y, on_z );CHKERR( rval, "Failed to get closest point" );
490 
492 }

References CHKERR, ErrorCode, FBE_cast(), moab::FBEngine::getEntClosestPt(), iBase_SUCCESS, MBH_cast(), and RETURN.

Referenced by FBiGeom_getArrClosestPt(), and FBiGeom_getEntNrmlPlXYZ().

◆ FBiGeom_getEntClosestPtTrimmed()

void FBiGeom_getEntClosestPtTrimmed ( FBiGeom_Instance  instance,
iBase_EntityHandle  entity_handle,
double  near_x,
double  near_y,
double  near_z,
double *  on_x,
double *  on_y,
double *  on_z,
int *  err 
)

Get closest point for an array of entities and points For surfaces, closest point could be on the void space inside it. Get closest point for an array of entities and points. If either the number of entities or number of coordinate triples is unity, then all points or entities are queried for that entity or point, respectively, otherwise each point corresponds to each entity. storage_order should be a value in the iBase_StorageOrder enum.

Parameters
instanceFBiGeom instance handle
entity_handlesEntity(ies) being queried
entity_handles_sizeNumber of entities being queried
storage_orderStorage order of input points
near_coordinatesCoordinates of starting point(s)
near_coordinates_sizeNumber of values in near_coordinates array
on_coordinatesCoordinates of closest points
on_coordinates_allocatedAllocated size of closest point array
on_coordinates_sizeOccupied size of closest point array
*errPointer to error type returned from function

Definition at line 2436 of file FBiGeom_MOAB.cpp.

2445 {
2447 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getEntities()

void FBiGeom_getEntities ( FBiGeom_Instance  instance,
iBase_EntitySetHandle  set_handle,
int  entity_type,
iBase_EntityHandle **  entity_handles,
int *  entity_handles_allococated,
int *  entity_handles_size,
int *  err 
)

Get entities of specific type in set or instance.

Get entities of specific type in set or instance. All entities are requested by specifying iBase_ALL_TYPES. Specified type must be a value in the iBase_EntityType enumeration.

Parameters
instanceFBiGeom instance handle
entity_set_handleEntity set being queried
entity_typeType of entities being requested
entity_topologyTopology of entities being requested
*entity_handlesPointer to array of entity handles returned from function
*entity_handles_allocatedPointer to allocated size of entity_handles array
*entity_handles_sizePointer to occupied size of entity_handles array
*errPointer to error type returned from function

Definition at line 214 of file FBiGeom_MOAB.cpp.

221 {
222 
223  if( 0 > entity_type || 4 < entity_type )
224  {
225  ERROR( iBase_INVALID_ENTITY_TYPE, "Bad entity type." );
226  }
227  else /* 0<= entity_type <= 4) */
228  {
229  Range gentities;
230  ErrorCode rval = FBE_cast( instance )->getEntities( (EntityHandle)set_handle, entity_type, gentities );CHKERR( rval, "can't get entities " );
231  *entity_handles_size = gentities.size();
232 
233  CHECK_SIZE( *entity_handles, *entity_handles_allocated, *entity_handles_size, iBase_EntityHandle, NULL );
234  COPY_RANGE( gentities, *entity_handles );
235  }
236 
238 }

References CHECK_SIZE, CHKERR, COPY_RANGE, ERROR, ErrorCode, FBE_cast(), moab::FBEngine::getEntities(), iBase_INVALID_ENTITY_TYPE, iBase_SUCCESS, RETURN, and moab::Range::size().

◆ FBiGeom_getEntNrmlPlXYZ()

void FBiGeom_getEntNrmlPlXYZ ( FBiGeom_Instance  instance,
iBase_EntityHandle  entity_handle,
double  x,
double  y,
double  z,
double *  pt_x,
double *  pt_y,
double *  pt_z,
double *  nrml_i,
double *  nrml_j,
double *  nrml_k,
int *  err 
)

Get the normal vector AND closest point on an entity at given position.

Get the normal vector AND closest point on an entity at a given position.

Parameters
entity_handleEntity being queried
instanceFBiGeom instance handle
xStarting coordinates
yStarting coordinates
zStarting coordinates
pt_xClosest point
pt_yClosest point
pt_zClosest point
nrml_iNormal at closest point
nrml_jNormal at closest point
nrml_kNormal at closest point
*errPointer to error type returned from function

Definition at line 631 of file FBiGeom_MOAB.cpp.

643 {
644  // just do for surface and volume
645  int type;
646  FBiGeom_getEntType( instance, entity_handle, &type, err );
647  FWDERR();
648 
649  if( type != 2 && type != 3 )
650  {
651  ERROR( iBase_INVALID_ENTITY_TYPE, "Entities passed into gentityNormal must be face or volume." );
652  }
653 
654  // do 2 searches, so it is not fast enough
655  FBiGeom_getEntClosestPt( instance, entity_handle, x, y, z, pt_x, pt_y, pt_z, err );
656 
657  FWDERR();
658  FBiGeom_getEntNrmlXYZ( instance, entity_handle, *pt_x, *pt_y, *pt_z, nrml_i, nrml_j, nrml_k, err );
659  FWDERR();
660 
662 }

References ERROR, FBiGeom_getEntClosestPt(), FBiGeom_getEntNrmlXYZ(), FBiGeom_getEntType(), FWDERR, iBase_INVALID_ENTITY_TYPE, iBase_SUCCESS, and RETURN.

Referenced by FBiGeom_getArrNrmlPlXYZ().

◆ FBiGeom_getEntNrmlSense()

void FBiGeom_getEntNrmlSense ( FBiGeom_Instance  instance,
iBase_EntityHandle  face,
iBase_EntityHandle  region,
int *  sense_out,
int *  err 
)

Get the sense of a face with respect to a region.

Get the sense of a face with respect to a region. Sense returned is -1, 0, or 1, representing "reversed", "both", or "forward". "both" sense indicates that face bounds the region once with each sense.

Parameters
instanceFBiGeom instance handle
faceFace being queried
regionRegion being queried
sense_outSense of face with respect to region
*errPointer to error type returned from function

Definition at line 1038 of file FBiGeom_MOAB.cpp.

1043 {
1044  moab::EntityHandle mbregion = (moab::EntityHandle)region;
1046  moab::ErrorCode rval = FBE_cast( instance )->getEgFcSense( mbface, mbregion, *sense_out );CHKERR( rval, "can't get normal sense " );
1047  RETURN( iBase_SUCCESS );
1048 }

References CHKERR, ErrorCode, FBE_cast(), moab::FBEngine::getEgFcSense(), iBase_SUCCESS, and RETURN.

◆ FBiGeom_getEntNrmlUV()

void FBiGeom_getEntNrmlUV ( FBiGeom_Instance  instance,
iBase_EntityHandle  entity_handle,
double  u,
double  v,
double *  nrml_i,
double *  nrml_j,
double *  nrml_k,
int *  err 
)

Return the normal at a specified parametric position.

Return the normal at a specified parametric position

Parameters
instanceFBiGeom instance handle
entity_handleEntity being queried
uParametric position being queried
vParametric position being queried
nrml_iNormal at specified position
nrml_jNormal at specified position
nrml_kNormal at specified position
*errPointer to error type returned from functino

Definition at line 1403 of file FBiGeom_MOAB.cpp.

1411 {
1413 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getEntNrmlXYZ()

void FBiGeom_getEntNrmlXYZ ( FBiGeom_Instance  instance,
iBase_EntityHandle  entity_handle,
double  x,
double  y,
double  z,
double *  nrml_i,
double *  nrml_j,
double *  nrml_k,
int *  err 
)

Get the normal vector on an entity at the given position Get the normal vector on an entity at the given position.

Parameters
instanceFBiGeom instance handle
entity_handleEntity being queried
xCoordinates of starting point
yCoordinates of starting point
zCoordinates of starting point
nrml_iNormal vector at starting point
nrml_jNormal vector at starting point
nrml_kNormal vector at starting point
*errPointer to error type returned from function

Definition at line 530 of file FBiGeom_MOAB.cpp.

539 {
540 
541  ErrorCode rval = FBE_cast( instance )->getEntNrmlXYZ( MBH_cast( entity_handle ), x, y, z, nrml_i, nrml_j, nrml_k );CHKERR( rval, "Failed to get normal" );
543 }

References CHKERR, ErrorCode, FBE_cast(), moab::FBEngine::getEntNrmlXYZ(), iBase_SUCCESS, MBH_cast(), and RETURN.

Referenced by FBiGeom_getArrNrmlXYZ(), and FBiGeom_getEntNrmlPlXYZ().

◆ FBiGeom_getEntSetData()

void FBiGeom_getEntSetData ( FBiGeom_Instance  instance,
iBase_EntitySetHandle  entity_set_handle,
iBase_TagHandle  tag_handle,
void **  tag_value,
int *  tag_value_allocated,
int *  tag_value_size,
int *  err 
)

Get the value of a tag of arbitrary type on an entity set.

Get the value of a tag of arbitrary type on an entity set. Tag data is returned back as void*. tag_value_size specifies the size of the memory pointed to by tag_value in terms of bytes. Applications may use this function to get data of any type, not just iBase_BYTES. However because this function supports data of arbitrary type, in all cases the size specified by tag_value_size is always in terms of bytes.

Parameters
instanceFBiGeom instance handle
entity_set_handleEntity set on which tag is being set
tag_handleTag being set on an entity set
*tag_valuePointer to tag data array being queried
*tag_value_allocatedPointer to tag data array allocated size
*tag_value_sizePointer to occupied size in bytes of tag data array
*errPointer to error type returned from function

Definition at line 2097 of file FBiGeom_MOAB.cpp.

2104 {
2105  iMesh_getEntSetData( IMESH_INSTANCE( instance ), entity_set_handle, tag_handle, tag_value, tag_value_allocated,
2106  tag_value_size, err );
2107 }

References iMesh_getEntSetData, and IMESH_INSTANCE.

◆ FBiGeom_getEntSetDblData()

void FBiGeom_getEntSetDblData ( FBiGeom_Instance  instance,
iBase_EntitySetHandle  entity_set,
iBase_TagHandle  tag_handle,
double *  out_data,
int *  err 
)

Get the value of a tag of double type on an entity set.

Get the value of a tag of double type on an entity set.

Parameters
instanceFBiGeom instance handle
entity_setEntity set on which tag is being set
tag_handleTag being set on an entity set
*out_dataPointer to tag value returned from function
*errPointer to error type returned from function

Definition at line 2118 of file FBiGeom_MOAB.cpp.

2123 {
2124  iMesh_getEntSetDblData( IMESH_INSTANCE( instance ), entity_set, tag_handle, out_data, err );
2125 }

References iMesh_getEntSetDblData, and IMESH_INSTANCE.

◆ FBiGeom_getEntSetEHData()

void FBiGeom_getEntSetEHData ( FBiGeom_Instance  instance,
iBase_EntitySetHandle  entity_set,
iBase_TagHandle  tag_handle,
iBase_EntityHandle out_data,
int *  err 
)

Get the value of a tag of entity handle type on an entity set.

Get the value of a tag of entity handle type on an entity set.

Parameters
instanceFBiGeom instance handle
entity_setEntity set on which tag is being set
tag_handleTag being set on an entity set
*out_dataPointer to tag value returned from function
*errPointer to error type returned from function

Definition at line 2127 of file FBiGeom_MOAB.cpp.

2132 {
2133  iMesh_getEntSetEHData( IMESH_INSTANCE( instance ), entity_set, tag_handle, out_data, err );
2134 }

References iMesh_getEntSetEHData, and IMESH_INSTANCE.

◆ FBiGeom_getEntSetESHData()

void FBiGeom_getEntSetESHData ( FBiGeom_Instance  instance,
iBase_EntitySetHandle  entity_set,
iBase_TagHandle  tag_handle,
iBase_EntitySetHandle out_data,
int *  err 
)

Get the value of a tag of entity set handle type on an entity set.

Get the value of a tag of entity set handle type on an entity set.

Parameters
instanceFBiGeom instance handle
entity_setEntity set on which tag is being set
tag_handleTag being set on an entity set
*out_dataPointer to tag value returned from function
*errPointer to error type returned from function

Definition at line 2136 of file FBiGeom_MOAB.cpp.

2141 {
2142  iMesh_getEntSetESHData( IMESH_INSTANCE( instance ), entity_set, tag_handle, out_data, err );
2143 }

References iMesh_getEntSetESHData, and IMESH_INSTANCE.

◆ FBiGeom_getEntSetIntData()

void FBiGeom_getEntSetIntData ( FBiGeom_Instance  instance,
iBase_EntitySetHandle  entity_set,
iBase_TagHandle  tag_handle,
int *  out_data,
int *  err 
)

Get the value of a tag of integer type on an entity set.

Get the value of a tag of integer type on an entity set.

Parameters
instanceFBiGeom instance handle
entity_setEntity set on which tag is being set
tag_handleTag being set on an entity set
*out_dataPointer to tag value returned from function
*errPointer to error type returned from function

Definition at line 2109 of file FBiGeom_MOAB.cpp.

2114 {
2115  iMesh_getEntSetIntData( IMESH_INSTANCE( instance ), entity_set, tag_handle, out_data, err );
2116 }

References iMesh_getEntSetIntData, and IMESH_INSTANCE.

◆ FBiGeom_getEntSets()

void FBiGeom_getEntSets ( FBiGeom_Instance  instance,
iBase_EntitySetHandle  entity_set_handle,
int  num_hops,
iBase_EntitySetHandle **  contained_set_handles,
int *  contained_set_handles_allocated,
int *  contained_set_handles_size,
int *  err 
)

Get the entity sets contained in a set or interface.

Get the entity sets contained in a set or interface. If a set is input which is not the root set, num_hops indicates the maximum number of contained sets from entity_set_handle to one of the contained sets, not inclusive of the contained set.

Parameters
instanceFBiGeom instance handle
entity_set_handleEntity set being queried
num_hopsMaximum hops from entity_set_handle to contained set, not inclusive of the contained set
*contained_set_handlesPointer to array of set handles returned from function
contained_set_handles_allocatedPointer to allocated length of contained_set_handles array
contained_set_handles_sizePointer to occupied length of contained_set_handles array
*errPointer to error type returned from function

Definition at line 1824 of file FBiGeom_MOAB.cpp.

1831 {
1832  // we get only the entity sets that have gents as members
1833  // we keep the convention that entity sets of geom dimension 4 are
1834  // sets of geo entities; they should contain only gentities as elements (or other sets of gents)
1835  Tag geomTag;
1836  ErrorCode rval = MBI->tag_get_handle( GEOM_DIMENSION_TAG_NAME, 1, MB_TYPE_INTEGER, geomTag );
1837  if( MB_SUCCESS != rval ) RETURN( iBase_FAILURE );
1838  GeomTopoTool* gtt = GETGTT( instance );
1839  const Range* gRange = gtt->geoRanges();
1840  // get all sets of geom dimension 4 from the entity set
1841  EntityHandle moabSet = (EntityHandle)entity_set_handle;
1842  const int four = 4;
1843  const void* const four_val[] = { &four };
1844  Range tmp;
1845  rval = MBI->get_entities_by_type_and_tag( moabSet, MBENTITYSET, &geomTag, four_val, 1, tmp );CHKERR( rval, "can't get sets of geo dim 4 " );
1846  tmp = intersect( tmp, gRange[4] );
1847  *contained_set_handles_size = tmp.size();
1848  CHECK_SIZE( *contained_set_handles, *contained_set_handles_allocated, *contained_set_handles_size,
1849  iBase_EntitySetHandle, NULL );
1850  COPY_RANGE( tmp, *contained_set_handles );
1851 
1852  RETURN( iBase_SUCCESS );
1853 }

References CHECK_SIZE, CHKERR, COPY_RANGE, ErrorCode, GEOM_DIMENSION_TAG_NAME, geomTag, moab::GeomTopoTool::geoRanges(), GETGTT, iBase_FAILURE, iBase_SUCCESS, moab::intersect(), MB_SUCCESS, MB_TYPE_INTEGER, MBENTITYSET, MBI, RETURN, and moab::Range::size().

◆ FBiGeom_getEntTgntU()

void FBiGeom_getEntTgntU ( FBiGeom_Instance  instance,
iBase_EntityHandle  entity_handle,
double  u,
double *  tgnt_i,
double *  tgnt_j,
double *  tgnt_k,
int *  err 
)

Return the tangent at a specified parametric position.

Return the tangent at a specified parametric position

Parameters
instanceFBiGeom instance handle
entity_handleEntity being queried
uParametric position being queried
tgnt_iTangent at specified position
tgnt_jTangent at specified position
tgnt_kTangent at specified position
*errPointer to error type returned from function

Definition at line 1427 of file FBiGeom_MOAB.cpp.

1434 {
1435  ErrorCode rval =
1436  FBE_cast( instance )->getEntTgntU( (moab::EntityHandle)entity_handle, u, *tgnt_i, *tgnt_j, *tgnt_k );CHKERR( rval, "Failed to get tangent from u" );
1437  RETURN( iBase_SUCCESS );
1438 }

References CHKERR, ErrorCode, FBE_cast(), moab::FBEngine::getEntTgntU(), iBase_SUCCESS, and RETURN.

◆ FBiGeom_getEntTgntXYZ()

void FBiGeom_getEntTgntXYZ ( FBiGeom_Instance  instance,
iBase_EntityHandle  entity_handle,
double  x,
double  y,
double  z,
double *  tgnt_i,
double *  tgnt_j,
double *  tgnt_k,
int *  err 
)

Get the tangent vector on an entity at given position.

Get the tangent vector on an entity at a given position.

Parameters
instanceFBiGeom instance handle
entity_handleEntity being queried
xStarting coordinates
yStarting coordinates
zStarting coordinates
tgnt_iTangent at closest point
tgnt_jTangent at closest point
tgnt_kTangent at closest point
*errPointer to error type returned from function

Definition at line 766 of file FBiGeom_MOAB.cpp.

775 {
777 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getEntTolerance()

void FBiGeom_getEntTolerance ( FBiGeom_Instance  instance,
iBase_EntityHandle  entity_handle,
double *  tolerance,
int *  err 
)

Get the tolerance of the specified entity.

Get the tolerance of the specified entity.

Parameters
instanceFBiGeom instance handle
entity_handleEntity handle being queried
tolerancePointer to tolerance returned from function
*errPointer to error type returned from function

Definition at line 2633 of file FBiGeom_MOAB.cpp.

2634 {
2636 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getEntType()

void FBiGeom_getEntType ( FBiGeom_Instance  instance,
iBase_EntityHandle  entity_handle,
int *  type,
int *  err 
)

Get the entity type for the specified entity.

Get the entity type for the specified entity. Type returned is a value in the iBase_EntityType enumeration.

Parameters
instanceFBiGeom instance handle
entity_handleentity handle being queried
*typePointer to location at which to store the returned type
*errPointer to error type returned from function

Definition at line 255 of file FBiGeom_MOAB.cpp.

256 {
257 
258  ErrorCode rval = FBE_cast( instance )->getEntType( (EntityHandle)entity_handle, type );CHKERR( rval, "can't get entity type " );
259 
261 }

References CHKERR, ErrorCode, FBE_cast(), moab::FBEngine::getEntType(), iBase_SUCCESS, and RETURN.

Referenced by FBiGeom_getArrType(), FBiGeom_getEntBoundBox(), FBiGeom_getEntNrmlPlXYZ(), FBiGeom_getEntUtoXYZ(), and FBiGeom_isEntParametric().

◆ FBiGeom_getEntURange()

void FBiGeom_getEntURange ( FBiGeom_Instance  instance,
iBase_EntityHandle  entity_handle,
double *  u_min,
double *  u_max,
int *  err 
)

Get parametric range of entity.

Get parametric range of entity

Parameters
instanceFBiGeom instance handle
entity_handleEntity being queried
u_minMinimum parametric coordinate for entity
u_maxMaximum parametric coordinate for entity
*errPointer to error type returned from function

Definition at line 1309 of file FBiGeom_MOAB.cpp.

1314 {
1315  ErrorCode rval = FBE_cast( instance )->getEntURange( (EntityHandle)entity_handle, *u_min, *u_max );CHKERR( rval, "Failed to get range" );
1316  RETURN( iBase_SUCCESS );
1317 }

References CHKERR, ErrorCode, FBE_cast(), moab::FBEngine::getEntURange(), iBase_SUCCESS, and RETURN.

◆ FBiGeom_getEntUtoUV()

void FBiGeom_getEntUtoUV ( FBiGeom_Instance  instance,
iBase_EntityHandle  edge_handle,
iBase_EntityHandle  face_handle,
double  in_u,
double *  u,
double *  v,
int *  err 
)

Return the face parametric coordinates for a parametric position on a bounding edge.

Return the face parametric coordinates for a parametric position on a bounding edge

Parameters
instanceFBiGeom instance handle
edge_handleEdge being queried
face_handleFace being queried
in_uParametric position on edge
uCorresponding parametric position on face
vCorresponding parametric position on face
*errPointer to error type returned from function

Definition at line 1345 of file FBiGeom_MOAB.cpp.

1352 {
1354 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getEntUtoXYZ()

void FBiGeom_getEntUtoXYZ ( FBiGeom_Instance  instance,
iBase_EntityHandle  entity_handle,
double  u,
double *  x,
double *  y,
double *  z,
int *  err 
)

Return coordinate position at specified parametric position on entity.

Return coordinate position at specified parametric position on entity.

Parameters
instanceFBiGeom instance handle
entity_handleEntity being queried
uParametric coordinate being queried
xSpatial coordinate at parametric position being queried
ySpatial coordinate at parametric position being queried
zSpatial coordinate at parametric position being queried
*errPointer to error type returned from function

Definition at line 1200 of file FBiGeom_MOAB.cpp.

1207 {
1208  int type;
1209  FBiGeom_getEntType( instance, entity_handle, &type, err );
1210  FWDERR();
1211 
1212  if( type != 1 ) // not edge
1214 
1215  ErrorCode rval = FBE_cast( instance )->getEntUtoXYZ( (EntityHandle)entity_handle, u, *x, *y, *z );CHKERR( rval, "Failed to get position from parameter" );
1216  RETURN( iBase_SUCCESS );
1217 }

References CHKERR, ErrorCode, FBE_cast(), FBiGeom_getEntType(), FWDERR, moab::FBEngine::getEntUtoXYZ(), iBase_NOT_SUPPORTED, iBase_SUCCESS, and RETURN.

◆ FBiGeom_getEntUVRange()

void FBiGeom_getEntUVRange ( FBiGeom_Instance  instance,
iBase_EntityHandle  entity_handle,
double *  u_min,
double *  v_min,
double *  u_max,
double *  v_max,
int *  err 
)

Get parametric range of entity.

Get parametric range of entity

Parameters
instanceFBiGeom instance handle
entity_handleEntity being queried
u_minMinimum parametric coordinate for entity
v_minMinimum parametric coordinate for entity
u_maxMaximum parametric coordinate for entity
v_maxMaximum parametric coordinate for entity
*errPointer to error type returned from function

Definition at line 1298 of file FBiGeom_MOAB.cpp.

1305 {
1307 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getEntUVtoXYZ()

void FBiGeom_getEntUVtoXYZ ( FBiGeom_Instance  instance,
iBase_EntityHandle  entity_handle,
double  u,
double  v,
double *  x,
double *  y,
double *  z,
int *  err 
)

Return coordinate position at specified parametric position on entity.

Return coordinate position at specified parametric position on entity.

Parameters
instanceFBiGeom instance handle
entity_handleEntity being queried
uParametric coordinate being queried
vParametric coordinate being queried
xSpatial coordinate at parametric position being queried
ySpatial coordinate at parametric position being queried
zSpatial coordinate at parametric position being queried
*errPointer to error type returned from function

Definition at line 1175 of file FBiGeom_MOAB.cpp.

1183 {
1185 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getEntXYZtoU()

void FBiGeom_getEntXYZtoU ( FBiGeom_Instance  instance,
iBase_EntityHandle  entity_handle,
double  x,
double  y,
double  z,
double *  u,
int *  err 
)

Return parametric position at specified spatial position on entity.

Return parametric position at specified spatial position on entity

Parameters
instanceFBiGeom instance handle
entity_handleEntity being queried
xSpatial coordinate being queried
ySpatial coordinate being queried
zSpatial coordinate being queried
uParametric coordinate at spatial position being queried
*errPointer to error type returned from function

Definition at line 1244 of file FBiGeom_MOAB.cpp.

1245 {
1247 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getEntXYZtoUV()

void FBiGeom_getEntXYZtoUV ( FBiGeom_Instance  instance,
iBase_EntityHandle  entity_handle,
double  x,
double  y,
double  z,
double *  u,
double *  v,
int *  err 
)

Return parametric position at specified spatial position on entity.

Return parametric position at specified spatial position on entity

Parameters
instanceFBiGeom instance handle
entity_handleEntity being queried
xSpatial coordinate being queried
ySpatial coordinate being queried
zSpatial coordinate being queried
uParametric coordinate at spatial position being queried
vParametric coordinate at spatial position being queried
*errPointer to error type returned from function

Definition at line 1233 of file FBiGeom_MOAB.cpp.

1241 {
1243 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getEntXYZtoUVHint()

void FBiGeom_getEntXYZtoUVHint ( FBiGeom_Instance  instance,
iBase_EntityHandle  entity_handle,
double  x,
double  y,
double  z,
double *  u,
double *  v,
int *  err 
)

Return parametric position at specified spatial position on entity, based on parametric position hint.

Return parametric position at specified spatial position on entity, based on parametric position hint. For this function, u and v are input with parameters from which to start search. Typically this will reduce the search time for new parametric coordinates.

Parameters
instanceFBiGeom instance handle
entity_handleEntity being queried
xSpatial coordinate being queried
ySpatial coordinate being queried
zSpatial coordinate being queried
uParametric coordinate at spatial position being queried
vParametric coordinate at spatial position being queried
*errPointer to error type returned from function

Definition at line 1274 of file FBiGeom_MOAB.cpp.

1282 {
1284 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getErrorType()

void FBiGeom_getErrorType ( FBiGeom_Instance  instance,
int *  error_type 
)

Get the error type returned from the last FBiGeom function.

Get the error type returned from the last FBiGeom function. Value returned is a member of the iBase_ErrorType enumeration.

Parameters
instanceFBiGeom instance handle
*error_typeError type returned from last FBiGeom function

Definition at line 69 of file FBiGeom_MOAB.cpp.

70 {
71  iMesh_getErrorType( IMESH_INSTANCE( instance ), /*out*/ error_type );
72 }

References iMesh_getErrorType, and IMESH_INSTANCE.

◆ FBiGeom_getESHArrData()

void FBiGeom_getESHArrData ( FBiGeom_Instance  instance,
const iBase_EntityHandle entity_handles,
int  entity_handles_size,
iBase_TagHandle  tag_handle,
iBase_EntitySetHandle **  tag_value,
int *  tag_value_allocated,
int *  tag_value_size,
int *  err 
)

Get tag values of entity set handle type for an array of entities.

Get tag values of entity set handle type for an array of entities.

Parameters
instanceFBiGeom instance handle
entity_handlesEntity array on which tag is being set
entity_handles_sizeNumber of entities in array
tag_handleTag being set on an entity
*tag_valuePointer to tag data array being returned from function
tag_value_allocatedPointer to allocated size of tag data array
tag_value_sizePointer to occupied size of tag data array
*errPointer to error type returned from function

Definition at line 2216 of file FBiGeom_MOAB.cpp.

2224 {
2225  iMesh_getESHArrData( IMESH_INSTANCE( instance ), entity_handles, entity_handles_size, tag_handle, tag_value,
2226  tag_value_allocated, tag_value_size, err );
2227 }

References iMesh_getESHArrData, and IMESH_INSTANCE.

◆ FBiGeom_getESHData()

void FBiGeom_getESHData ( FBiGeom_Instance  instance,
iBase_EntityHandle  entity_handle,
iBase_TagHandle  tag_handle,
iBase_EntitySetHandle out_data,
int *  err 
)

Get the value of a tag of entity set handle type on an entity.

Get the value of a tag of entity set handle type on an entity.

Parameters
instanceFBiGeom instance handle
entity_handleEntity on which tag is being set
tag_handleTag being set on an entity
*out_dataPointer to tag value returned from function
*errPointer to error type returned from function

Definition at line 2337 of file FBiGeom_MOAB.cpp.

2342 {
2343  iMesh_getESHData( IMESH_INSTANCE( instance ), entity_handle, tag_handle, out_data, err );
2344 }

References iMesh_getESHData, and IMESH_INSTANCE.

◆ FBiGeom_getFacets()

void FBiGeom_getFacets ( FBiGeom_Instance  instance,
iBase_EntityHandle  ,
double  ,
double  ,
int  ,
int  ,
int  ,
int  ,
int  ,
int *  err 
)

Definition at line 2619 of file FBiGeom_MOAB.cpp.

2629 {
2631 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getFaceType()

void FBiGeom_getFaceType ( FBiGeom_Instance  instance,
iBase_EntityHandle  face_handle,
char *  face_type,
int *  err,
int *  face_type_length 
)

Get the geometric type of a face.

Get the geometric type of a face. Specific types depend on implementation.

Parameters
instanceFBiGeom instance handle
face_handleFace being queried
face_typeFace type
face_type_lengthLength of face type string

Definition at line 1141 of file FBiGeom_MOAB.cpp.

1146 {
1147  std::string type = "nonplanar"; // for swept faces created with rays between surfaces,
1148  // we could actually create planar surfaces; maybe we should
1149  // recognize them as such
1150  face_type = new char[type.length() + 1];
1151  strcpy( face_type, type.c_str() );
1152  *face_type_length = type.length() + 1;
1153  RETURN( iBase_SUCCESS );
1154 }

References iBase_SUCCESS, and RETURN.

◆ FBiGeom_getFcArrCvtrUV()

void FBiGeom_getFcArrCvtrUV ( FBiGeom_Instance  instance,
iBase_EntityHandle const *  face_handles,
int  face_handles_size,
int  storage_order,
double const *  uv,
int  uv_size,
double **  cvtr_1,
int *  cvtr_1_allocated,
int *  cvtr_1_size,
double **  cvtr_2,
int *  cvtr_2_allocated,
int *  cvtr_2_size,
int *  err 
)

Get the curvature(s) on face(s) at given parametric position(s)

Get the curvature(s) on face(s) at given parametric position(s). If either the number of faces or number of coordinate pairs is unity, then all points or entities are queried for that entity or point, respectively, otherwise each point corresponds to each entity. storage_order should be a value in the iBase_StorageOrder enum.

Parameters
instanceFBiGeom instance handle
face_handlesFace(s) being queried
face_handles_sizeNumber of entities being queried
storage_orderStorage order of uv coordinates
uvStarting parametric coordinates
uv_sizeNumber of values in uv array
cvtr_1First principal curvatures
cvtr_1_allocatedAllocated size of first curvature array
cvtr_1_sizeOccupied size of first curvature array
cvtr_2Second principal curvatures
cvtr_2_allocatedAllocated size of second curvature array
cvtr_2_sizeOccupied size of second curvature array
*errPointer to error type returned from function

Definition at line 1547 of file FBiGeom_MOAB.cpp.

1560 {
1562 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getFcCvtrUV()

void FBiGeom_getFcCvtrUV ( FBiGeom_Instance  instance,
iBase_EntityHandle  face_handle,
double  u,
double  v,
double *  cvtr1_i,
double *  cvtr1_j,
double *  cvtr1_k,
double *  cvtr2_i,
double *  cvtr2_j,
double *  cvtr2_k,
int *  err 
)

Get the two principle curvature vectors for a face at a parametric position.

Get the two principle curvature vectors for a face at a parametric position. Magnitudes of vectors are curvature, directions are directions of principal curvatures.

Parameters
instanceFBiGeom instance handle
face_handleFace being queried
uParametric position being queried
vParametric position being queried
cvtr1_iMaximum curvature vector
cvtr1_jMaximum curvature vector
cvtr1_kMaximum curvature vector
cvtr2_iMinimum curvature vector
cvtr2_jMinimum curvature vector
cvtr2_kMinimum curvature vector
*errPointer to error type returned from function

Definition at line 1533 of file FBiGeom_MOAB.cpp.

1544 {
1546 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getFcCvtrXYZ()

void FBiGeom_getFcCvtrXYZ ( FBiGeom_Instance  instance,
iBase_EntityHandle  face_handle,
double  x,
double  y,
double  z,
double *  cvtr1_i,
double *  cvtr1_j,
double *  cvtr1_k,
double *  cvtr2_i,
double *  cvtr2_j,
double *  cvtr2_k,
int *  err 
)

Get the two principle curvature vectors for a face at a point.

Get the two principle curvature vectors for a face at a point. Magnitudes of vectors are curvature, directions are directions of principal curvatures.

Parameters
instanceFBiGeom instance handle
face_handleFace being queried
xPosition being queried
yPosition being queried
zPosition being queried
cvtr1_iMaximum curvature vector
cvtr1_jMaximum curvature vector
cvtr1_kMaximum curvature vector
cvtr2_iMinimum curvature vector
cvtr2_jMinimum curvature vector
cvtr2_kMinimum curvature vector
*errPointer to error type returned from function

Definition at line 2449 of file FBiGeom_MOAB.cpp.

2461 {
2463 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getFcEvalXYZ()

void FBiGeom_getFcEvalXYZ ( FBiGeom_Instance  instance,
iBase_EntityHandle  face_handle,
double  x,
double  y,
double  z,
double *  on_x,
double *  on_y,
double *  on_z,
double *  nrml_i,
double *  nrml_j,
double *  nrml_k,
double *  cvtr1_i,
double *  cvtr1_j,
double *  cvtr1_k,
double *  cvtr2_i,
double *  cvtr2_j,
double *  cvtr2_k,
int *  err 
)

Get closest point, tangent, and curvature of face.

Get closest point, tangent, and curvature of face. If any of input coordinate pointers are NULL, that value is not returned.

Parameters
instanceFBiGeom instance handle
face_handleFace being queried
xPoint at which entity is being queried
yPoint at which entity is being queried
zPoint at which entity is being queried
on_xClosest point at point being queried
on_yClosest point at point being queried
on_zClosest point at point being queried
nrml_iNormal at point being queried
nrml_jNormal at point being queried
nrml_kNormal at point being queried
cvtr1_iFirst principal curvature at point being queried
cvtr1_jFirst principal curvature at point being queried
cvtr1_kFirst principal curvature at point being queried
cvtr2_iSecond principal curvature at point being queried
cvtr2_jSecond principal curvature at point being queried
cvtr2_kSecond principal curvature at point being queried
*errPointer to error type returned from function

Definition at line 2517 of file FBiGeom_MOAB.cpp.

2535 {
2536  /*
2537  moab::ErrorCode rval = _fbEngine->getFcEvalXYZ( (moab::EntityHandle) face,
2538  x, y, z,
2539  on_x, on_y, on_z,
2540  nrml_i, nrml_j, nrml_k,
2541  cvtr1_i, cvtr1_j, cvtr1_k,
2542  cvtr2_i, cvtr2_j, cvtr2_k );*/
2543  // camal really does not use curvatures
2544  // the most it is calling for normals and for closest point
2545  // return all curvatures = 0 for the time being, because we
2546  // know camal is not requesting them
2547 
2548  *cvtr1_i = *cvtr1_j = *cvtr1_k = *cvtr2_i = *cvtr2_j = *cvtr2_k = 0.;
2549  // first get closest point, then normal, separately
2550  ErrorCode rval =
2551  FBE_cast( instance )->getEntClosestPt( (moab::EntityHandle)face_handle, x, y, z, on_x, on_y, on_z );CHKERR( rval, "can't get closest point on surface " );
2552  rval = FBE_cast( instance )
2553  ->getEntNrmlXYZ( (moab::EntityHandle)face_handle, x, y, z, nrml_i, nrml_j,
2554  nrml_k ); // some inconsistency here, we use pointers, not refs
2555  CHKERR( rval, "can't get normal on closest point on surface " );
2556  RETURN( iBase_SUCCESS );
2557 }

References CHKERR, ErrorCode, FBE_cast(), moab::FBEngine::getEntClosestPt(), moab::FBEngine::getEntNrmlXYZ(), iBase_SUCCESS, and RETURN.

◆ FBiGeom_getIntArrData()

void FBiGeom_getIntArrData ( FBiGeom_Instance  instance,
const iBase_EntityHandle entity_handles,
int  entity_handles_size,
iBase_TagHandle  tag_handle,
int **  tag_values,
int *  tag_values_allocated,
int *  tag_values_size,
int *  err 
)

Get tag values of integer type for an array of entities.

Get tag values of integer type for an array of entities.

Parameters
instanceFBiGeom instance handle
entity_handlesEntity array on which tag is being set
entity_handles_sizeNumber of entities in array
tag_handleTag being set on an entity
*tag_valuesPointer to tag data array being returned from function
tag_values_allocatedPointer to allocated size of tag data array
tag_values_sizePointer to occupied size of tag data array
*errPointer to error type returned from function

Definition at line 2177 of file FBiGeom_MOAB.cpp.

2185 {
2186  iMesh_getIntArrData( IMESH_INSTANCE( instance ), entity_handles, entity_handles_size, tag_handle, tag_values,
2187  tag_values_allocated, tag_values_size, err );
2188 }

References iMesh_getIntArrData, and IMESH_INSTANCE.

◆ FBiGeom_getIntData()

void FBiGeom_getIntData ( FBiGeom_Instance  instance,
iBase_EntityHandle  entity_handle,
iBase_TagHandle  tag_handle,
int *  out_data,
int *  err 
)

Get the value of a tag of integer type on an entity.

Get the value of a tag of integer type on an entity.

Parameters
instanceFBiGeom instance handle
entity_handleEntity on which tag is being set
tag_handleTag being set on an entity
*out_dataPointer to tag value returned from function
*errPointer to error type returned from function

Definition at line 2310 of file FBiGeom_MOAB.cpp.

2315 {
2316  iMesh_getIntData( IMESH_INSTANCE( instance ), entity_handle, tag_handle, out_data, err );
2317 }

References iMesh_getIntData, and IMESH_INSTANCE.

◆ FBiGeom_getNextEntArrIter()

void FBiGeom_getNextEntArrIter ( FBiGeom_Instance  instance,
iBase_EntityArrIterator  entArr_iterator,
iBase_EntityHandle **  entity_handles,
int *  entity_handles_allocated,
int *  entity_handles_size,
int *  has_data,
int *  err 
)

Get entities contained in array iterator and increment iterator.

Get the entities contained in an array iterator, and increment the iterator. Also return whether the next value of the iterator has any entities (if non-zero, next iterator value is the end of the iteration).

Parameters
instanceFBiGeom instance handle
entArr_iteratorIterator being queried
*entity_handlesPointer to array of entity handles contained in current value of iterator
*entity_handles_allocatedPointer to allocated size of entity_handles array
*entity_handles_sizePointer to occupied size of entity_handles array
has_dataPointer to a flag indicating if the value(s) returned in entity_handles are valid. A non-zero value indicates the value(s) are valid. A zero value indicates the value(s) are NOT valid.
*errPointer to error type returned from function

Definition at line 1607 of file FBiGeom_MOAB.cpp.

1614 {
1616 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getNextEntIter()

void FBiGeom_getNextEntIter ( FBiGeom_Instance  instance,
iBase_EntityIterator  entity_iterator,
iBase_EntityHandle entity_handle,
int *  has_data,
int *  err 
)

Get entity corresponding to an iterator and increment iterator.

Get the entity corresponding to an array iterator, and increment the iterator. Also return whether the next value of the iterator has an entity (if non-zero, next iterator value is the end of the iteration).

Parameters
instanceFBiGeom instance handle
entity_iteratorIterator being queried
entity_handlePointer to an entity handle corresponding to the current value of iterator
has_dataPointer to a flag indicating if the value returned in entity_handle is valid. A non-zero value indicates the value is valid. A zero value indicates the value is NOT valid.
*errPointer to error type returned from function

Definition at line 1602 of file FBiGeom_MOAB.cpp.

1603 {
1605 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getNumChld()

void FBiGeom_getNumChld ( FBiGeom_Instance  instance,
iBase_EntitySetHandle  entity_set,
int  num_hops,
int *  num_child,
int *  err 
)

Get the number of child sets linked from a specified set.

Get the number of child sets linked from a specified set. If num_hops is not -1, this represents the maximum hops from entity_set to any child in the count.

Parameters
instanceFBiGeom instance handle
entity_setEntity set being queried
num_hopsMaximum hops from entity_set_handle to child set, not inclusive of the child set
num_childPointer to number of children returned from function
*errPointer to error type returned from function

Definition at line 1962 of file FBiGeom_MOAB.cpp.

1967 {
1968  iMesh_getNumChld( IMESH_INSTANCE( instance ), entity_set, num_hops, num_child, err );
1969 }

References iMesh_getNumChld, and IMESH_INSTANCE.

◆ FBiGeom_getNumEntSets()

void FBiGeom_getNumEntSets ( FBiGeom_Instance  instance,
iBase_EntitySetHandle  entity_set_handle,
int  num_hops,
int *  num_sets,
int *  err 
)

Get the number of entity sets contained in a set or interface.

Get the number of entity sets contained in a set or interface. If a set is input which is not the root set, num_hops indicates the maximum number of contained sets from entity_set_handle to one of the contained sets, not inclusive of the contained set.

Parameters
instanceFBiGeom instance handle
entity_set_handleEntity set being queried
num_hopsMaximum hops from entity_set_handle to contained set, not inclusive of the contained set
num_setsPointer to the number of sets returned from function
*errPointer to error type returned from function

Definition at line 1795 of file FBiGeom_MOAB.cpp.

1800 {
1801  // here, we get only the entity sets that have gents as members
1802  // we have the convention that entity sets of geom dimension 4 are
1803  // sets of geo entities; they should contain only gentities as elements (or other sets of gents)
1804  // we should also consider the number of hops
1805  // first, get all sets of geo dim 4 from the entity_set_handle; then intersect with
1806  // the range from geom topo tool
1807  Tag geomTag;
1808  ErrorCode rval = MBI->tag_get_handle( GEOM_DIMENSION_TAG_NAME, 1, MB_TYPE_INTEGER, geomTag );
1809  if( MB_SUCCESS != rval ) RETURN( iBase_FAILURE );
1810  GeomTopoTool* gtt = GETGTT( instance );
1811  const Range* gRange = gtt->geoRanges();
1812  // get all sets of geom dimension 4 from the entity set
1813  EntityHandle moabSet = (EntityHandle)entity_set_handle;
1814  const int four = 4;
1815  const void* const four_val[] = { &four };
1816  Range tmp;
1817  rval = MBI->get_entities_by_type_and_tag( moabSet, MBENTITYSET, &geomTag, four_val, 1, tmp );CHKERR( rval, "can't get sets of geo dim 4 " );
1818  tmp = intersect( tmp, gRange[4] );
1819  *num_sets = tmp.size(); // ignore, for the time being, number of hops
1820 
1821  RETURN( iBase_SUCCESS );
1822 }

References CHKERR, ErrorCode, GEOM_DIMENSION_TAG_NAME, geomTag, moab::GeomTopoTool::geoRanges(), GETGTT, iBase_FAILURE, iBase_SUCCESS, moab::intersect(), MB_SUCCESS, MB_TYPE_INTEGER, MBENTITYSET, MBI, RETURN, and moab::Range::size().

◆ FBiGeom_getNumOfType()

void FBiGeom_getNumOfType ( FBiGeom_Instance  instance,
iBase_EntitySetHandle  set_handle,
int  entity_type,
int *  num_out,
int *  err 
)

Get the number of entities with the specified type in the instance or set.

Get the number of entities with the specified type in the instance or set. If entity set handle is zero, return information for instance, otherwise for set. Value of entity type must be from the iBase_EntityType enumeration. If iBase_ALL_TYPES is specified, total number of entities (excluding entity sets) is returned.

Parameters
instanceFBiGeom instance handle
entity_set_handleEntity set being queried
entity_typeType of entity requested
num_typePointer to number of entities, returned from function
*errPointer to error type returned from function

Definition at line 240 of file FBiGeom_MOAB.cpp.

245 {
246  if( 0 > entity_type || 4 < entity_type )
247  {
248  ERROR( iBase_INVALID_ENTITY_TYPE, "Bad entity type." );
249  }
250  ErrorCode rval = FBE_cast( instance )->getNumOfType( (EntityHandle)set_handle, entity_type, num_out );CHKERR( rval, "can't get number of type " );
251 
253 }

References CHKERR, ERROR, ErrorCode, FBE_cast(), moab::FBEngine::getNumOfType(), iBase_INVALID_ENTITY_TYPE, iBase_SUCCESS, and RETURN.

◆ FBiGeom_getNumPrnt()

void FBiGeom_getNumPrnt ( FBiGeom_Instance  instance,
iBase_EntitySetHandle  entity_set,
int  num_hops,
int *  num_parent,
int *  err 
)

Get the number of parent sets linked from a specified set.

Get the number of parent sets linked from a specified set. If num_hops is not -1, this represents the maximum hops from entity_set to any parent in the count.

Parameters
instanceFBiGeom instance handle
entity_setEntity set being queried
num_hopsMaximum hops from entity_set_handle to parent set, not inclusive of the parent set
num_parentPointer to number of parents returned from function
*errPointer to error type returned from function

Definition at line 1971 of file FBiGeom_MOAB.cpp.

1976 {
1977  iMesh_getNumPrnt( IMESH_INSTANCE( instance ), entity_set, num_hops, num_parent, err );
1978 }

References iMesh_getNumPrnt, and IMESH_INSTANCE.

◆ FBiGeom_getParametric()

void FBiGeom_getParametric ( FBiGeom_Instance  instance,
int *  is_parametric,
int *  err 
)

Return whether interface has information about parameterization.

Return whether an interface has information about parameterization (!=0) or not (0)

Parameters
instanceFBiGeom instance handle
is_parametricIf non-zero, interface has information about parameterization
*errPointer to error type returned from function

Definition at line 1155 of file FBiGeom_MOAB.cpp.

1156 {
1157  *is_parametric = 0; //(false)
1158  RETURN( iBase_SUCCESS );
1159 }

References iBase_SUCCESS, and RETURN.

◆ FBiGeom_getPntArrClsf()

void FBiGeom_getPntArrClsf ( FBiGeom_Instance  instance,
int  storage_order,
double const *  coords,
int  coords_size,
iBase_EntityHandle **  entity_handles,
int *  entity_handles_allocated,
int *  entity_handles_size,
int *  err 
)

Get the entities on which points are located.

Get the entities on which points are located. Storage orders should be members of the iBase_StorageOrder enumeration.

Parameters
instanceFBiGeom instance handle
storage_orderStorage order of coordinates in coords
coordsPoints being queried
coords_sizeNumber of entries in coords array
entity_handlesEntities on which points are located
entity_handles_allocatedAllocated size of entity_handles array
entity_handles_sizeOccupied size of entity_handles array
*errPointer to error type returned from function

Definition at line 2607 of file FBiGeom_MOAB.cpp.

2615 {
2617 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getPntArrRayIntsct()

void FBiGeom_getPntArrRayIntsct ( FBiGeom_Instance  instance,
int  storage_order,
const double *  coords,
int  coords_size,
const double *  directions,
int  directions_size,
iBase_EntityHandle **  intersect_entity_handles,
int *  intersect_entity_handles_allocated,
int *  intersect_entity_hangles_size,
int **  offset,
int *  offset_allocated,
int *  offset_size,
double **  intersect_coords,
int *  intersect_coords_allocated,
int *  intersect_coords_size,
double **  param_coords,
int *  param_coords_allocated,
int *  param_coords_size,
int *  err 
)

Intersect an array of rays with the model.

Intersect an array of rays with the model. Storage order passed in is a member of the iBase_StorageOrder enumeration.

Parameters
instanceFBiGeom instance handle
storage_orderStorage order of input coordinates
coordsPoints from which rays are fired
coords_sizeNumber of points from which rays are fired
directionsDirections in which rays are fired
directions_sizeNumber of coordinates in directions array
intersect_entity_handlesEntities intersected by ray
intersect_entity_handles_allocatedAllocated size of intersections array
intersect_entity_hangles_sizeOccupied size of intersections array
offsetOffset[i] is offset into intersect_entity_handles of ith ray
offset_allocatedAllocated size of offset array
offset_sizeOccupied size of offset array
storage_orderStorage order of coordinates passed back
intersect_coordsCoordinates of intersections
intersect_coords_allocatedAllocated size of coordinates array
intersect_coords_sizeOccupied size of coordinates array
param_coordsDistances along ray of intersections
param_coords_allocatedAllocated size of param_coords array
param_coords_sizeOccupied size of param_coords array
*errPointer to error type returned from function

Definition at line 1014 of file FBiGeom_MOAB.cpp.

1033 {
1034  // not implemented
1036 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getPntClsf()

void FBiGeom_getPntClsf ( FBiGeom_Instance  instance,
double  x,
double  y,
double  z,
iBase_EntityHandle entity_handle,
int *  err 
)

Get the entity on which a point is located.

Get the entity on which a point is located

Parameters
instanceFBiGeom instance handle
xPoint being queried
yPoint being queried
zPoint being queried
entity_handleEntity on which point is located
*errPointer to error type returned from function

Definition at line 2602 of file FBiGeom_MOAB.cpp.

2603 {
2605 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getPntRayIntsct()

void FBiGeom_getPntRayIntsct ( FBiGeom_Instance  instance,
double  x,
double  y,
double  z,
double  dir_x,
double  dir_y,
double  dir_z,
iBase_EntityHandle **  intersect_entity_handles,
int *  intersect_entity_handles_allocated,
int *  intersect_entity_hangles_size,
int  storage_order,
double **  intersect_coords,
int *  intersect_coords_allocated,
int *  intersect_coords_size,
double **  param_coords,
int *  param_coords_allocated,
int *  param_coords_size,
int *  err 
)

Intersect a ray with the model.

Intersect a ray with the model. Storage orders passed in should be a member of the iBase_StorageOrder enumeration.

Parameters
instanceFBiGeom instance handle
xPoint from which ray is fired
yPoint from which ray is fired
zPoint from which ray is fired
dir_xDirection in which ray is fired
dir_yDirection in which ray is fired
dir_zDirection in which ray is fired
intersect_entity_handlesEntities intersected by ray
intersect_entity_handles_allocatedAllocated size of intersections array
intersect_entity_hangles_sizeOccupied size of intersections array
storage_orderStorage order of coordinates passed back
intersect_coordsCoordinates of intersections
intersect_coords_allocatedAllocated size of coordinates array
intersect_coords_sizeOccupied size of coordinates array
param_coordsDistances along ray of intersections
param_coords_allocatedAllocated size of param_coords array
param_coords_sizeOccupied size of param_coords array
*errPointer to error type returned from function

Definition at line 956 of file FBiGeom_MOAB.cpp.

974 {
975  // this is pretty cool
976  // we will return only surfaces
977  //
978  // storage order is ignored
979  std::vector< EntityHandle > intersect_handles;
980  std::vector< double > coords;
981  std::vector< double > params;
982  ErrorCode rval =
983  FBE_cast( instance )->getPntRayIntsct( x, y, z, dir_x, dir_y, dir_z, intersect_handles, coords, params );CHKERR( rval, "can't get ray intersections " );
984  *intersect_entity_handles_size = (int)intersect_handles.size();
985 
986  CHECK_SIZE( *intersect_entity_handles, *intersect_entity_handles_allocated, *intersect_entity_handles_size,
987  iBase_EntityHandle, NULL );
988  *intersect_coords_size = 3 * (int)intersect_handles.size();
989  CHECK_SIZE( *intersect_coords, *intersect_coords_allocated, *intersect_coords_size, double, NULL );
990  *param_coords_size = (int)intersect_handles.size();
991  CHECK_SIZE( *param_coords, *param_coords_allocated, *param_coords_size, double, NULL );
992 
993  COPY_RANGE( intersect_handles, *intersect_entity_handles );
994 
995  COPY_DOUBLEVEC( params, *param_coords );
996  if( storage_order == iBase_BLOCKED )
997  {
998  int sz = (int)intersect_handles.size();
999  for( int i = 0; i < sz; i++ )
1000  {
1001  *intersect_coords[i] = coords[3 * i];
1002  *intersect_coords[sz + i] = coords[3 * i + 1];
1003  *intersect_coords[2 * sz + i] = coords[3 * i + 2];
1004  }
1005  }
1006  else
1007  {
1008  COPY_DOUBLEVEC( coords, *intersect_coords );
1009  }
1010 
1011  RETURN( iBase_SUCCESS );
1012 }

References CHECK_SIZE, CHKERR, COPY_DOUBLEVEC, COPY_RANGE, ErrorCode, FBE_cast(), moab::FBEngine::getPntRayIntsct(), iBase_BLOCKED, iBase_SUCCESS, and RETURN.

◆ FBiGeom_getPrnts()

void FBiGeom_getPrnts ( FBiGeom_Instance  instance,
iBase_EntitySetHandle  from_entity_set,
int  num_hops,
iBase_EntitySetHandle **  entity_set_handles,
int *  entity_set_handles_allocated,
int *  entity_set_handles_size,
int *  err 
)

Get the parent sets linked from a specified set.

Get the parent sets linked from a specified set. If num_hops is not -1, this represents the maximum hops from entity_set to any parent.

Parameters
instanceFBiGeom instance handle
from_entity_setEntity set being queried
num_hopsMaximum hops from entity_set_handle to parent set, not inclusive of the parent set
*entity_set_handlesPointer to array of parent sets returned from function
*entity_set_handles_allocatedPointer to allocated size of entity_set_handles array
*entity_set_handles_sizePointer to occupied size of entity_set_handles array
*errPointer to error type returned from function

Definition at line 1992 of file FBiGeom_MOAB.cpp.

1999 {
2000  iMesh_getPrnts( IMESH_INSTANCE( instance ), from_entity_set, num_hops, entity_set_handles,
2001  entity_set_handles_allocated, entity_set_handles_size, err );
2002 }

References iMesh_getPrnts, and IMESH_INSTANCE.

◆ FBiGeom_getRootSet()

void FBiGeom_getRootSet ( FBiGeom_Instance  instance,
iBase_EntitySetHandle root_set,
int *  err 
)

Get handle of the root set for this instance.

Get handle of the root set for this instance. All geom in this instance can be accessed from this set.

Parameters
instanceFBiGeom instance handle
root_setPointer to set handle returned from function
*errPointer to error type returned from function

Definition at line 201 of file FBiGeom_MOAB.cpp.

202 {
203  EntityHandle modelSet;
204  ErrorCode rval = FBE_cast( instance )->getRootSet( &modelSet );CHKERR( rval, "can't get root set " );
205  *root_set = (iBase_EntitySetHandle)modelSet;
207 }

References CHKERR, ErrorCode, FBE_cast(), moab::FBEngine::getRootSet(), iBase_SUCCESS, RETURN, and root_set.

◆ FBiGeom_getTagHandle()

void FBiGeom_getTagHandle ( FBiGeom_Instance  instance,
const char *  tag_name,
iBase_TagHandle tag_handle,
int *  err,
int  tag_name_len 
)

Get a the handle of an existing tag with the specified name.

Get a the handle of an existing tag with the specified name

Parameters
instanceFBiGeom instance handle
tag_nameName of tag being queried
tag_handlePointer to tag handle returned from function
*errPointer to error type returned from function
tag_name_lenLength of tag name string

Definition at line 2037 of file FBiGeom_MOAB.cpp.

2042 {
2043  iMesh_getTagHandle( IMESH_INSTANCE( instance ), tag_name, tag_handle, err, tag_name_len );
2044 }

References iMesh_getTagHandle, and IMESH_INSTANCE.

◆ FBiGeom_getTagName()

void FBiGeom_getTagName ( FBiGeom_Instance  instance,
iBase_TagHandle  tag_handle,
char *  name,
int *  err,
int  name_len 
)

Get the name for a given tag handle.

Get the name for a given tag handle

Parameters
instanceFBiGeom instance handle
tag_handleTag handle being queried
namePointer to character string to store name returned from function
*errPointer to error type returned from function
name_lenLength of character string input to function

Definition at line 2022 of file FBiGeom_MOAB.cpp.

2023 {
2024  iMesh_getTagName( IMESH_INSTANCE( instance ), tag_handle, name, err, name_len );
2025 }

References iMesh_getTagName, and IMESH_INSTANCE.

◆ FBiGeom_getTagSizeBytes()

void FBiGeom_getTagSizeBytes ( FBiGeom_Instance  instance,
iBase_TagHandle  tag_handle,
int *  tag_size,
int *  err 
)

Get size of a tag in units of bytes.

Get size of a tag in units of bytes

Parameters
instanceFBiGeom instance handle
tag_handleHandle of tag being queried
tag_sizePointer to tag size returned from function
*errPointer to error type returned from function

Definition at line 2032 of file FBiGeom_MOAB.cpp.

2033 {
2034  iMesh_getTagSizeBytes( IMESH_INSTANCE( instance ), tag_handle, tag_size, err );
2035 }

References iMesh_getTagSizeBytes, and IMESH_INSTANCE.

◆ FBiGeom_getTagSizeValues()

void FBiGeom_getTagSizeValues ( FBiGeom_Instance  instance,
iBase_TagHandle  tag_handle,
int *  tag_size,
int *  err 
)

Get size of a tag in units of numbers of tag data type.

Get size of a tag in units of numbers of tag data type

Parameters
instanceFBiGeom instance handle
tag_handleHandle of tag being queried
tag_sizePointer to tag size returned from function
*errPointer to error type returned from function

Definition at line 2027 of file FBiGeom_MOAB.cpp.

2028 {
2029  iMesh_getTagSizeValues( IMESH_INSTANCE( instance ), tag_handle, tag_size, err );
2030 }

References iMesh_getTagSizeValues, and IMESH_INSTANCE.

◆ FBiGeom_getTagType()

void FBiGeom_getTagType ( FBiGeom_Instance  instance,
iBase_TagHandle  tag_handle,
int *  tag_type,
int *  err 
)

Get the data type of the specified tag handle.

Get the data type of the specified tag handle. Tag type is a value in the iBase_TagType enumeration.

Parameters
instanceFBiGeom instance handle
tag_handleHandle for the tag being queried
tag_typePointer to tag type returned from function
*errPointer to error type returned from function

Definition at line 2046 of file FBiGeom_MOAB.cpp.

2047 {
2048  iMesh_getTagType( IMESH_INSTANCE( instance ), tag_handle, tag_type, err );
2049 }

References iMesh_getTagType, and IMESH_INSTANCE.

◆ FBiGeom_getTolerance()

void FBiGeom_getTolerance ( FBiGeom_Instance  instance,
int *  type,
double *  tolerance,
int *  err 
)

Get the tolerance of the instance.

Get the tolerance at the modeler level. type is an integer representing the type of the tolerance, where 0 = no tolerance information, 1 = modeler-level tolerance, 2 = entity-level tolerances. If type is 1, tolerance returns the modeler-level tolerance. If type is 2, use FBiGeom_getEntTolerance to query the tolerance on a per-entity basis.

Parameters
instanceFBiGeom instance handle
typeType of tolerance used by the modeler
toleranceModeler-level tolerance, if any
*errPointer to error type returned from function

Definition at line 2647 of file FBiGeom_MOAB.cpp.

2648 {
2650 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getVtxArrCoords()

void FBiGeom_getVtxArrCoords ( FBiGeom_Instance  instance,
iBase_EntityHandle const *  entity_handles,
int  entity_handles_size,
int  storage_order,
double **  coordinates,
int *  coordinates_allocated,
int *  coordinates_size,
int *  err 
)

Get coordinates of specified vertices.

Get coordinates of specified vertices. If storage order is passed in with a value other than iBase_UNDETERMINED, coordinates are returned in the specified storage order, otherwise storage order is that native to the implementation. Storage order of returned coordinates is also returned.

Parameters
instanceFBiGeom instance handle
vertex_handlesArray of geom vertex handles whose coordinates are being requested
vertex_handles_sizeNumber of vertices in vertex_handles array
storage_orderStorage order requested for coordinate data
*coordsPointer to array of coordinates returned from function
*coords_allocatedPointer to allocated size of coords array
*coords_sizePointer to occupied size of coords array
*errPointer to error type returned from function

Definition at line 916 of file FBiGeom_MOAB.cpp.

924 {
925  // check or pre-allocate the coordinate arrays
926  CHECK_SIZE( *coordinates, *coordinates_allocated, 3 * entity_handles_size, double, NULL );
927 
928  double *x, *y, *z;
929  size_t step;
930  if( storage_order == iBase_BLOCKED )
931  {
932  x = *coordinates;
933  y = x + entity_handles_size;
934  z = y + entity_handles_size;
935  step = 1;
936  }
937  else
938  {
939  x = *coordinates;
940  y = x + 1;
941  z = x + 2;
942  step = 3;
943  }
944 
945  for( int i = 0; i < entity_handles_size; i++ )
946  {
947  FBiGeom_getVtxCoord( instance, entity_handles[i], x, y, z, err );
948  x += step;
949  y += step;
950  z += step;
951  }
952  *coordinates_size = 3 * entity_handles_size;
954 }

References CHECK_SIZE, FBiGeom_getVtxCoord(), iBase_BLOCKED, iBase_SUCCESS, and RETURN.

◆ FBiGeom_getVtxArrToU()

void FBiGeom_getVtxArrToU ( FBiGeom_Instance  instance,
iBase_EntityHandle const *  vertex_handles,
int  vertex_handles_size,
iBase_EntityHandle const *  edge_handles,
int  edge_handles_size,
double **  u,
int *  u_allocated,
int *  u_size,
int *  err 
)

Return parametric coordinates on edges of vertex positions.

Return parametric coordinates on edges of vertex positions

Parameters
instanceFBiGeom instance handle
vertex_handlesVertices being queried
vertex_handles_sizeNumber of vertices being queried
edge_handlesEdges being queried
edge_handles_sizeNumber of edges being queried
uCorresponding parametric positions on faces
u_allocatedAllocated size of positions array
u_sizeOccupied size of positions array
*errPointer to error type returned from function

Definition at line 1391 of file FBiGeom_MOAB.cpp.

1400 {
1402 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getVtxArrToUV()

void FBiGeom_getVtxArrToUV ( FBiGeom_Instance  instance,
iBase_EntityHandle const *  vertex_handles,
int  vertex_handles_size,
iBase_EntityHandle const *  face_handles,
int  face_handles_size,
int  storage_order,
double **  uv,
int *  uv_allocated,
int *  uv_size,
int *  err 
)

Return parametric coordinates on faces of vertex positions.

Return parametric coordinates on faces of vertex positions

Parameters
instanceFBiGeom instance handle
vertex_handlesVertices being queried
vertex_handles_sizeNumber of vertices being queried
face_handlesFaces being queried
face_handles_sizeNumber of faces being queried
storage_orderStorage order of coordinates returned
uvCorresponding parametric positions on faces
uv_allocatedAllocated size of positions array
uv_sizeOccupied size of positions array
*errPointer to error type returned from function

Definition at line 1378 of file FBiGeom_MOAB.cpp.

1388 {
1390 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getVtxCoord()

void FBiGeom_getVtxCoord ( FBiGeom_Instance  instance,
iBase_EntityHandle  vertex_handle,
double *  x,
double *  y,
double *  z,
int *  err 
)

Get coordinates of specified vertex.

Get coordinates of specified vertex.

Parameters
instanceFBiGeom instance handle
vertex_handleGeom vertex being queried
*xPointer to x coordinate returned from function
*yPointer to y coordinate returned from function
*zPointer to z coordinate returned from function
*errPointer to error type returned from function

Definition at line 905 of file FBiGeom_MOAB.cpp.

911 {
912  ErrorCode rval = FBE_cast( instance )->getVtxCoord( MBH_cast( vertex_handle ), x, y, z );CHKERR( rval, "Failed to vertex position" );
914 }

References CHKERR, ErrorCode, FBE_cast(), moab::FBEngine::getVtxCoord(), iBase_SUCCESS, MBH_cast(), and RETURN.

Referenced by FBiGeom_getEntBoundBox(), and FBiGeom_getVtxArrCoords().

◆ FBiGeom_getVtxToU()

void FBiGeom_getVtxToU ( FBiGeom_Instance  instance,
iBase_EntityHandle  vertex_handle,
iBase_EntityHandle  edge_handle,
double *  u,
int *  err 
)

Return parametric coordinates on edge of vertex position.

Return parametric coordinates on edge of vertex position

Parameters
instanceFBiGeom instance handle
vertex_handleVertex being queried
edge_handleEdge being queried
uCorresponding parametric position on face
*errPointer to error type returned from function

Definition at line 1359 of file FBiGeom_MOAB.cpp.

1360 {
1362 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_getVtxToUV()

void FBiGeom_getVtxToUV ( FBiGeom_Instance  instance,
iBase_EntityHandle  vertex_handle,
iBase_EntityHandle  face_handle,
double *  u,
double *  v,
int *  err 
)

Return parametric coordinates on face of vertex position.

Return parametric coordinates on face of vertex position

Parameters
instanceFBiGeom instance handle
vertex_handleVertex being queried
face_handleFace being queried
uCorresponding parametric position on face
vCorresponding parametric position on face
*errPointer to error type returned from function

Definition at line 1355 of file FBiGeom_MOAB.cpp.

1356 {
1358 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_imprintEnts()

void FBiGeom_imprintEnts ( FBiGeom_Instance  instance,
iBase_EntityHandle const *  geom_entities,
int  geom_entities_size,
int *  err 
)

Imprint entities.

Imprint entities by merging coincident surfaces.

Parameters
instanceFBiGeom instance handle
geom_entitiesArray of entity handles being imprinted
geom_entities_sizeNumber of entities in geom_entities array
*errPointer to error type returned from function

Definition at line 1768 of file FBiGeom_MOAB.cpp.

1769 {
1771 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_initEntArrIter()

void FBiGeom_initEntArrIter ( FBiGeom_Instance  instance,
iBase_EntitySetHandle  entity_set_handle,
int  requested_entity_type,
int  requested_array_size,
iBase_EntityArrIterator entArr_iterator,
int *  err 
)

Initialize an array iterator over specified entity type and size.

Initialize an array iterator over specified entity type and size for a specified set or instance. Iterator returned can be used as input to functions returning entities for the iterator. If all entities of a specified type are to be iterated, specify iBase_ALL_TYPES. Specified type must be a value in the iBase_EntityType enumerations.

Parameters
instanceFBiGeom instance handle
entity_set_handleEntity set being iterated
requested_entity_typeType of entity to iterate
requested_array_sizeSize of chunks of handles returned for each value of the iterator
entArr_iteratorPointer to iterator returned from function
*errPointer to error type returned from function

Definition at line 1592 of file FBiGeom_MOAB.cpp.

1598 {
1600 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_initEntIter()

void FBiGeom_initEntIter ( FBiGeom_Instance  instance,
iBase_EntitySetHandle  entity_set_handle,
int  requested_entity_type,
iBase_EntityIterator entity_iterator,
int *  err 
)

Initialize an iterator over specified entity type.

Initialize an iterator over specified entity type for a specified set or instance. Iterator returned can be used as input to functions returning the entity for the iterator. If all entities of a specified type are to be iterated, specify iBase_ALL_TYPES. Specified type must be a value in the iBase_EntityType enumeration.

Parameters
instanceFBiGeom instance handle
entity_set_handleEntity set being iterated
requested_entity_typeType of entity to iterate
entity_iteratorPointer to iterator returned from function
*errPointer to error type returned from function

Definition at line 1587 of file FBiGeom_MOAB.cpp.

1588 {
1590 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_intersect()

void FBiGeom_intersect ( FBiGeom_Instance  instance,
iBase_EntitySetHandle  entity_set_1,
iBase_EntitySetHandle  entity_set_2,
iBase_EntitySetHandle result_entity_set,
int *  err 
)

Intersect contents of one entity set with another.

Intersect contents of one entity set with another

Parameters
instanceFBiGeom instance handle
entity_set_1Entity set being intersected with another
entity_set_2Entity set being intersected with another
result_entity_setPointer to entity set returned from function
*errPointer to error type returned from function

Definition at line 2417 of file FBiGeom_MOAB.cpp.

2422 {
2424 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_intersectEnts()

void FBiGeom_intersectEnts ( FBiGeom_Instance  instance,
iBase_EntityHandle  entity2,
iBase_EntityHandle  entity1,
iBase_EntityHandle geom_entity,
int *  err 
)

Geometrically intersect a pair of entities.

Geometrically intersect a pair of entities.

Parameters
instanceFBiGeom instance handle
entity1The entity to intersect
entity2The entity to intersect
geom_entityPointer to new entity handle returned from function
*errPointer to error type returned from function

Definition at line 1746 of file FBiGeom_MOAB.cpp.

1751 {
1753 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_isArrAdj()

void FBiGeom_isArrAdj ( FBiGeom_Instance  instance,
iBase_EntityHandle const *  entity_handles_1,
int  entity_handles_1_size,
iBase_EntityHandle const *  entity_handles_2,
int  entity_handles_2_size,
int **  is_adjacent_info,
int *  is_adjacent_info_allocated,
int *  is_adjacent_info_size,
int *  err 
)

Return whether entity pairs are adjacent.

Return whether entity pairs are adjacent, i.e. if entity_handles_1[i] is adjacent to entity_handles_2[i]. This function requires entity_handles_1_size and entity_handles_2_size to be equal.

Parameters
instanceFBiGeom instance handle
entity_handles_1First array of entities
entity_handles_1_sizeNumber of entities in first array
entity_handles_2Second array of entities
entity_handles_2_sizeNumber of entities in second array
is_adjacent_infoArray of flags returned from function
is_adjacent_info_allocatedAllocated size of flags array
is_adjacent_info_sizeOccupied size of flags array
*errPointer to error type returned from function

Definition at line 421 of file FBiGeom_MOAB.cpp.

430 {
431  int index1 = 0;
432  int index2 = 0;
433  size_t index1_step, index2_step;
434  int count;
435 
436  // If either list contains only 1 entry, compare that entry with
437  // every entry in the other list.
438  if( entity_handles_1_size == entity_handles_2_size )
439  {
440  index1_step = index2_step = 1;
441  count = entity_handles_1_size;
442  }
443  else if( entity_handles_1_size == 1 )
444  {
445  index1_step = 0;
446  index2_step = 1;
447  count = entity_handles_2_size;
448  }
449  else if( entity_handles_2_size == 1 )
450  {
451  index1_step = 1;
452  index2_step = 0;
453  count = entity_handles_1_size;
454  }
455  else
456  {
458  }
459 
460  CHECK_SIZE( *is_adjacent_info, *is_adjacent_info_allocated, count, int, NULL );
461 
462  for( int i = 0; i < count; ++i )
463  {
464  FBiGeom_isEntAdj( instance, entity_handles_1[index1], entity_handles_2[index2], &( ( *is_adjacent_info )[i] ),
465  err );
466  FWDERR();
467 
468  index1 += index1_step;
469  index2 += index2_step;
470  }
471  // it is now safe to set the size
472  *is_adjacent_info_size = count;
473 
475 }

References CHECK_SIZE, FBiGeom_isEntAdj(), FWDERR, iBase_INVALID_ENTITY_COUNT, iBase_SUCCESS, and RETURN.

◆ FBiGeom_isArrParametric()

void FBiGeom_isArrParametric ( FBiGeom_Instance  instance,
iBase_EntityHandle const *  entity_handles,
int  entity_handles_size,
int **  is_parametric,
int *  is_parametric_allocated,
int *  is_parametric_size,
int *  err 
)

Return whether entities have parameterizations.

Return whether entities have parameterizations (=1) or not (=0)

Parameters
instanceFBiGeom instance handle
entity_handlesEntities being queried
entity_handles_sizeNumber of entities being queried
is_parametricentity_handles[i] has a parameterization (=1) or not (=0)
is_parametric_allocatedAllocated size of is_parametric array
is_parametric_sizeOccupied size of is_parametric array
*errPointer to error type returned from function

Definition at line 1170 of file FBiGeom_MOAB.cpp.

1171 {
1172  // not implemented
1174 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_isArrPeriodic()

void FBiGeom_isArrPeriodic ( FBiGeom_Instance  instance,
iBase_EntityHandle const *  entity_handles,
int  entity_handles_size,
int **  in_uv,
int *  in_uv_allocated,
int *  in_uv_size,
int *  err 
)

Return whether entities are periodic.

Return whether entities are periodic (=1) or not (=0) in the u and v directions.

Parameters
instanceFBiGeom instance handle
entity_handlesEntities being queried
entity_handles_sizeNumber of entities being queried
in_uvArray of pairs of integers representing whether entity_handles[i] is periodic (=1) or not (=0) in u and v directions
in_uv_allocatedAllocated size of in_uv array
in_uv_sizeOccupied size of in_uv array
*errPointer to error type returned from function

Definition at line 1574 of file FBiGeom_MOAB.cpp.

1575 {
1577 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_isChildOf()

void FBiGeom_isChildOf ( FBiGeom_Instance  instance,
iBase_EntitySetHandle  parent_entity_set,
iBase_EntitySetHandle  child_entity_set,
int *  is_child,
int *  err 
)

Return whether two sets are related by parent/child links.

Return whether two sets are related (*is_child=1) or not (*is_child=0) by parent/child links

Parameters
instanceFBiGeom instance handle
parent_entity_setPointer to parent set
child_entity_setPointer to child set
is_childPointer to flag returned from function
*errPointer to error type returned from function

Definition at line 1953 of file FBiGeom_MOAB.cpp.

1958 {
1959  iMesh_isChildOf( IMESH_INSTANCE( instance ), parent_entity_set, child_entity_set, is_child, err );
1960 }

References IMESH_INSTANCE, and iMesh_isChildOf.

◆ FBiGeom_isEntAdj()

void FBiGeom_isEntAdj ( FBiGeom_Instance  instance,
iBase_EntityHandle  entity_handle1,
iBase_EntityHandle  entity_handle2,
int *  are_adjacent,
int *  err 
)

Return whether two entities are adjacent.

Return whether two entities are adjacent.

Parameters
instanceFBiGeom instance handle
entity_handle1First entity queried
entity_handle2Second entity queried
are_adjacentIf returned non-zero, entities are adjacent, otherwise they are not
*errPointer to error type returned from function

Definition at line 406 of file FBiGeom_MOAB.cpp.

411 {
412 
413  bool adjacent_out;
414  ErrorCode rval =
415  FBE_cast( instance )->isEntAdj( MBH_cast( entity_handle1 ), MBH_cast( entity_handle2 ), adjacent_out );CHKERR( rval, "Failed to get adjacent info" );
416  *are_adjacent = (int)adjacent_out; // 0 or 1, really
417 
419 }

References CHKERR, ErrorCode, FBE_cast(), iBase_SUCCESS, moab::FBEngine::isEntAdj(), MBH_cast(), and RETURN.

Referenced by FBiGeom_isArrAdj().

◆ FBiGeom_isEntArrContained()

void FBiGeom_isEntArrContained ( FBiGeom_Instance  instance,
iBase_EntitySetHandle  containing_set,
const iBase_EntityHandle entity_handles,
int  num_entity_handles,
int **  is_contained,
int *  is_contained_allocated,
int *  is_contained_size,
int *  err 
)

Return whether entities are contained in a set.

Return whether each entity is contained in the set.

Parameters
instanceiMesh instance handle
containing_entity_setEntity set being queried
entity_handlesList of entities for which to check containment.
is_containedOne value for each input entity, 1 if contained in set, zero otherwise.
*errPointer to error type returned from function

Definition at line 1914 of file FBiGeom_MOAB.cpp.

1922 {
1923  iMesh_isEntArrContained( IMESH_INSTANCE( instance ), containing_set, entity_handles, num_entity_handles,
1924  is_contained, is_contained_allocated, is_contained_size, err );
1925 }

References IMESH_INSTANCE, and iMesh_isEntArrContained.

◆ FBiGeom_isEntContained()

void FBiGeom_isEntContained ( FBiGeom_Instance  instance,
iBase_EntitySetHandle  containing_entity_set,
iBase_EntityHandle  contained_entity,
int *  is_contained,
int *  err 
)

Return whether an entity is contained in another set.

Return whether an entity is contained (*is_contained=1) or not contained (*is_contained=0) in another set

Parameters
instanceFBiGeom instance handle
containing_entity_setEntity set being queried
contained_entityEntity potentially contained in containing_entity_set
is_containedPointer to flag returned from function
*errPointer to error type returned from function

Definition at line 1905 of file FBiGeom_MOAB.cpp.

1910 {
1911  iMesh_isEntContained( IMESH_INSTANCE( instance ), containing_entity_set, contained_entity, is_contained, err );
1912 }

References IMESH_INSTANCE, and iMesh_isEntContained.

◆ FBiGeom_isEntParametric()

void FBiGeom_isEntParametric ( FBiGeom_Instance  instance,
iBase_EntityHandle  entity_handle,
int *  parametric,
int *  err 
)

Return whether an entity has a parameterization.

Return whether an entity has a parameterization (=1) or not (=0)

Parameters
instanceFBiGeom instance handle
entity_handleEntity being queried
is_parametricEntity has a parameterization (=1) or not (=0)
*errPointer to error type returned from function

Definition at line 1160 of file FBiGeom_MOAB.cpp.

1161 {
1162  int type = -1;
1163  FBiGeom_getEntType( instance, entity_handle, &type, err );
1164  if( type == 1 )
1165  *parametric = 1; // true
1166  else
1167  *parametric = 0; // false
1168  RETURN( iBase_SUCCESS );
1169 }

References FBiGeom_getEntType(), iBase_SUCCESS, and RETURN.

◆ FBiGeom_isEntPeriodic()

void FBiGeom_isEntPeriodic ( FBiGeom_Instance  instance,
iBase_EntityHandle  entity_handle,
int *  in_u,
int *  in_v,
int *  err 
)

Return whether an entity is periodic.

Return whether an entity is periodic (=1) or not (=0) in the u and v directions.

Parameters
instanceFBiGeom instance handle
entity_handleEntity being queried
in_uEntity is periodic in u direction (=1) or not (=0)
in_vEntity is periodic in v direction (=1) or not (=0)
*errPointer to error type returned from function

Definition at line 1563 of file FBiGeom_MOAB.cpp.

1568 {
1569  *in_u = 0;
1570  *in_v = 0;
1571  *err = 0;
1572  return;
1573 }

◆ FBiGeom_isEntSetContained()

void FBiGeom_isEntSetContained ( FBiGeom_Instance  instance,
iBase_EntitySetHandle  containing_entity_set,
iBase_EntitySetHandle  contained_entity_set,
int *  is_contained,
int *  err 
)

Return whether an entity set is contained in another set.

Return whether a set is contained (*is_contained=1) or not contained (*is_contained=0) in another set

Parameters
instanceFBiGeom instance handle
containing_entity_setEntity set being queried
contained_entity_setEntity set potentially contained in containing_entity_set
is_containedPointer to flag returned from function
*errPointer to error type returned from function

Definition at line 1927 of file FBiGeom_MOAB.cpp.

1932 {
1933  iMesh_isEntSetContained( IMESH_INSTANCE( instance ), containing_entity_set, contained_entity_set, is_contained,
1934  err );
1935 }

References IMESH_INSTANCE, and iMesh_isEntSetContained.

◆ FBiGeom_isFcArrDegenerate()

void FBiGeom_isFcArrDegenerate ( FBiGeom_Instance  instance,
iBase_EntityHandle const *  face_handles,
int  face_handles_size,
int **  degenerate,
int *  degenerate_allocated,
int *  degenerate_size,
int *  err 
)

Return whether faces are degenerate.

Return whether faces are degenerate (=1) or not (=0).

Parameters
instanceFBiGeom instance handle
face_handlesFaces being queried
face_handles_sizeNumber of faces being queried
degenerateface_handles[i] is degenerate (=1) or not (=0)
degenerate_allocatedAllocated size of degenerate array
degenerate_sizeOccupied size of degenerate array
*errPointer to error type returned from function

Definition at line 1582 of file FBiGeom_MOAB.cpp.

1583 {
1585 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_isFcDegenerate()

void FBiGeom_isFcDegenerate ( FBiGeom_Instance  instance,
iBase_EntityHandle  face_handle,
int *  is_degenerate,
int *  err 
)

Return whether a face is degenerate.

Return whether a face is degenerate (=1) or not (=0).

Parameters
instanceFBiGeom instance handle
face_handleFace being queried
is_degenerateFace is degenerate (=1) or not (=0)
*errPointer to error type returned from function

Definition at line 1578 of file FBiGeom_MOAB.cpp.

1579 {
1581 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_isList()

void FBiGeom_isList ( FBiGeom_Instance  instance,
iBase_EntitySetHandle  entity_set,
int *  is_list,
int *  err 
)

Return whether a specified set is ordered or unordered.

Return whether a specified set is ordered (*is_list=1) or unordered (*is_list=0)

Parameters
instanceFBiGeom instance handle
entity_setEntity set being queried
is_listPointer to flag returned from function
*errPointer to error type returned from function

Definition at line 1790 of file FBiGeom_MOAB.cpp.

1791 {
1793 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_load()

void FBiGeom_load ( FBiGeom_Instance  instance,
char const *  name,
char const *  options,
int *  err,
int  name_len,
int  options_len 
)

Load a geom from a file.

Load a geom from a file. If entity set is specified, loaded geom is added to that set; specify zero if that is not desired.

Parameters
instanceFBiGeom instance handle
entity_set_handleSet to which loaded geom will be added, zero if not desired
nameFile name from which geom is to be loaded
optionsPointer to implementation-specific options string
*errPointer to error type returned from function
name_lenLength of the file name character string
options_lenLength of the options character string

Definition at line 133 of file FBiGeom_MOAB.cpp.

134 {
135  // first remove option for smooth facetting
136 
137  const char smth[] = "SMOOTH;";
138  bool smooth = false;
139  const char* res = NULL;
140 
141  char* reducedOptions = NULL;
142  bool localReduce = false;
143  if( options ) res = strstr( options, smth );
144  if( res )
145  {
146  // extract that option, will not be recognized by our moab/imesh
147  reducedOptions = new char[options_len - 6];
148  localReduce = true;
149  int preLen = (int)( res - options );
150  strncpy( reducedOptions, options, preLen );
151  int postLen = options_len - 7 - preLen;
152 
153  char* tmp = reducedOptions + preLen;
154 
155  strncpy( tmp, res + 7, postLen );
156  reducedOptions[options_len - 7] = 0;
157  std::cout << reducedOptions << std::endl;
158  smooth = true;
159  }
160  else
161  {
162  reducedOptions = const_cast< char* >( options );
163  }
164  // load mesh-based geometry
165  const EntityHandle* file_set = 0;
166  ErrorCode rval = MBI->load_file( name, file_set, reducedOptions );CHKERR( rval, "can't load mesh file" );
167  if( localReduce ) delete[] reducedOptions;
168 
169  FBEngine* fbe = FBE_cast( instance );
170  if( fbe == NULL )
171  {
172  *err = iBase_FAILURE;
173  return;
174  }
175  GeomTopoTool* gtt = GETGTT( instance );
176  if( gtt == NULL )
177  {
178  *err = iBase_FAILURE;
179  return;
180  }
181  // keep mesh-based geometries in Range
182  rval = gtt->find_geomsets();CHKERR( rval, "Failure to find geometry lists." );
183 
184  if( smooth ) fbe->set_smooth(); // assumes that initialization did not happen yet
185 
186  fbe->Init(); // major computation
187 
189 }

References CHKERR, ErrorCode, FBE_cast(), moab::GeomTopoTool::find_geomsets(), GETGTT, iBase_FAILURE, iBase_SUCCESS, moab::FBEngine::Init(), MBI, RETURN, and moab::FBEngine::set_smooth().

◆ FBiGeom_measure()

void FBiGeom_measure ( FBiGeom_Instance  instance,
iBase_EntityHandle const *  entity_handles,
int  entity_handles_size,
double **  measures,
int *  measures_allocated,
int *  measures_size,
int *  err 
)

Return the measure (length, area, or volume) of entities.

Return the measure (length, area, or volume) of entities

Parameters
instanceFBiGeom instance handle
entity_handlesArray of entities being queried
entity_handles_sizeNumber of entities in entity array
measuresMeasures of entities being queried
measures_allocatedAllocated size of measures array
measures_sizeOccupied size of measures array
*errPointer to error type returned from function

Definition at line 1126 of file FBiGeom_MOAB.cpp.

1133 {
1134 
1135  CHECK_SIZE( *measures, *measures_allocated, entity_handles_size, double, NULL );
1136  ErrorCode rval = FBE_cast( instance )->measure( (EntityHandle*)( entity_handles ), entity_handles_size, *measures );CHKERR( rval, "Failed to get measures" );
1137  *measures_size = entity_handles_size;
1138  RETURN( iBase_SUCCESS );
1139 }

References CHECK_SIZE, CHKERR, ErrorCode, FBE_cast(), iBase_SUCCESS, moab::FBEngine::measure(), and RETURN.

◆ FBiGeom_mergeEnts()

void FBiGeom_mergeEnts ( FBiGeom_Instance  instance,
iBase_EntityHandle const *  geom_entities,
int  geom_entities_size,
double  tolerance,
int *  err 
)

Merge ents.

Merge entities of corresponding topology/geometry within the specified tolerance.

Parameters
instanceFBiGeom instance handle
geom_entitiesArray of entity handles being imprinted
geom_entities_sizeNumber of entities in geom_entities array
toleranceTolerance within which entities are considered the same
*errPointer to error type returned from function

Definition at line 1773 of file FBiGeom_MOAB.cpp.

1774 {
1776 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_moveEnt()

void FBiGeom_moveEnt ( FBiGeom_Instance  instance,
iBase_EntityHandle  geom_entity,
double  x,
double  y,
double  z,
int *  err 
)

Move an entity by the given vector.

Move an entity by translating it along the given vector.

Parameters
instanceFBiGeom instance handle
geom_entitythe entity to move
xx coordinate of the vector
yy coordinate of the vector
zz coordinate of the vector
*errPointer to error type returned from function

Definition at line 1696 of file FBiGeom_MOAB.cpp.

1697 {
1699 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_newGeom()

void FBiGeom_newGeom ( char const *  options,
FBiGeom_Instance instance_out,
int *  err,
int  options_len 
)

Construct a new FBiGeom instance.

Construct a new FBiGeom instance, using implementation-specific options

Parameters
optionsPointer to implementation-specific options string
instancePointer to FBiGeom instance handle returned from function
*errPointer to error type returned from function
options_lenLength of the character string pointed to by options

Definition at line 74 of file FBiGeom_MOAB.cpp.

75 {
76 
77  std::string tmp_options = filter_options1( options, options + options_len );
78  FileOptions opts( tmp_options.c_str() );
79  // process some options?
80 
81  MBiGeom** mbigeom = reinterpret_cast< MBiGeom** >( instance_out );
82  *mbigeom = NULL;
83  *mbigeom = new MBiGeom();
84  *err = iBase_SUCCESS;
85 }

References filter_options1(), and iBase_SUCCESS.

◆ FBiGeom_newGeomFromMesh()

void FBiGeom_newGeomFromMesh ( iMesh_Instance  mesh,
iBase_EntitySetHandle  set,
const char *  options,
FBiGeom_Instance geom,
int *  err,
int  options_len 
)

Definition at line 94 of file FBiGeom_MOAB.cpp.

100 {
101  MBiMesh* mbimesh = reinterpret_cast< MBiMesh* >( mesh );
102  moab::Interface* mbi = mbimesh->mbImpl;
103  moab::EntityHandle rootSet = reinterpret_cast< moab::EntityHandle >( set );
104  moab::GeomTopoTool* gtt = new moab::GeomTopoTool( mbi, true, rootSet );
105  bool smooth = false; // decide from options
106  char smth[] = "SMOOTH;";
107  const char* res = strstr( options, smth );
108  if( res != NULL ) smooth = true;
109  moab::FBEngine* fbe = new moab::FBEngine( mbi, gtt, smooth );
110  MBiGeom** mbigeom = reinterpret_cast< MBiGeom** >( geom );
111  *mbigeom = NULL;
112  *mbigeom = new MBiGeom( mbimesh, fbe );
113  // will do now the initialization of the engine;
114  // heavy duty computation
115  fbe->Init();
116  *err = iBase_SUCCESS;
117 }

References geom, iBase_SUCCESS, moab::FBEngine::Init(), MBiMesh::mbImpl, and mesh.

Referenced by main().

◆ FBiGeom_reflectEnt()

void FBiGeom_reflectEnt ( FBiGeom_Instance  instance,
iBase_EntityHandle  geom_entity,
double  x,
double  y,
double  z,
double  plane_normal_x,
double  plane_normal_y,
double  plane_normal_z,
int *  err 
)

Reflect an entity across a plane.

Reflect an entity across the given plane

Parameters
instanceFBiGeom instance handle
geom_entitythe entity to reflect,
point_xx coordinate of the point that the reflecting plane goes though
point_yy coordinate of the point that the reflecting plane goes though
point_zz coordinate of the point that the reflecting plane goes though
plane_normal_xx coordinate of the plane's normal
plane_normal_yy coordinate of the plane's normal
plane_normal_zz coordinate of the plane's normal
*errPointer to error type returned from function

Definition at line 1706 of file FBiGeom_MOAB.cpp.

1715 {
1717 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_resetEntArrIter()

void FBiGeom_resetEntArrIter ( FBiGeom_Instance  instance,
iBase_EntityArrIterator  entArr_iterator,
int *  err 
)

Reset the array iterator.

Reset the array iterator

Parameters
instanceFBiGeom instance handle
entArr_iteratorIterator to reset
*errPointer to error type returned from function

Definition at line 1623 of file FBiGeom_MOAB.cpp.

1624 {
1626 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_resetEntIter()

void FBiGeom_resetEntIter ( FBiGeom_Instance  instance,
iBase_EntityIterator  entity_iterator,
int *  err 
)

Reset the iterator.

Reset the iterator

Parameters
instanceFBiGeom instance handle
entity_iteratorIterator to reset
*errPointer to error type returned from function

Definition at line 1618 of file FBiGeom_MOAB.cpp.

1619 {
1621 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_rmvArrTag()

void FBiGeom_rmvArrTag ( FBiGeom_Instance  instance,
const iBase_EntityHandle entity_handles,
int  entity_handles_size,
iBase_TagHandle  tag_handle,
int *  err 
)

Remove a tag value from an array of entities.

Remove a tag value from an array of entities

Parameters
instanceFBiGeom instance handle
entity_handlesEntity from which tag is being removed
entity_handles_sizeNumber of entities in entity array
tag_handleTag handle of tag being removed
*errPointer to error type returned from function

Definition at line 2289 of file FBiGeom_MOAB.cpp.

2294 {
2295  iMesh_rmvArrTag( IMESH_INSTANCE( instance ), entity_handles, entity_handles_size, tag_handle, err );
2296 }

References IMESH_INSTANCE, and iMesh_rmvArrTag.

◆ FBiGeom_rmvEntArrFromSet()

void FBiGeom_rmvEntArrFromSet ( FBiGeom_Instance  instance,
const iBase_EntityHandle entity_handles,
int  entity_handles_size,
iBase_EntitySetHandle  entity_set,
int *  err 
)

Remove an array of entities from a set.

Remove an array of entities from a set

Parameters
instanceFBiGeom instance handle
entity_handlesArray of entities being remove
entity_handles_sizeNumber of entities in entity_handles array
entity_setPointer to the set being removed from
*errPointer to error type returned from function

Definition at line 1880 of file FBiGeom_MOAB.cpp.

1885 {
1886  iMesh_rmvEntArrFromSet( IMESH_INSTANCE( instance ), entity_handles, entity_handles_size, entity_set, err );
1887 }

References IMESH_INSTANCE, and iMesh_rmvEntArrFromSet.

◆ FBiGeom_rmvEntFromSet()

void FBiGeom_rmvEntFromSet ( FBiGeom_Instance  instance,
iBase_EntityHandle  entity_handle,
iBase_EntitySetHandle  entity_set,
int *  err 
)

Remove an entity from a set.

Remove an entity from a set

Parameters
instanceFBiGeom instance handle
entity_handleThe entity being removed
entity_setPointer to the set being removed from
*errPointer to error type returned from function

Definition at line 1863 of file FBiGeom_MOAB.cpp.

1867 {
1868  iMesh_rmvEntFromSet( IMESH_INSTANCE( instance ), entity_handle, entity_set, err );
1869 }

References IMESH_INSTANCE, and iMesh_rmvEntFromSet.

◆ FBiGeom_rmvEntSet()

void FBiGeom_rmvEntSet ( FBiGeom_Instance  instance,
iBase_EntitySetHandle  entity_set_to_remove,
iBase_EntitySetHandle  entity_set_handle,
int *  err 
)

Remove an entity set from a set.

Remove an entity set from a set

Parameters
instanceFBiGeom instance handle
entity_set_to_removeThe entity set being removed
entity_set_handlePointer to the set being removed from
*errPointer to error type returned from function

Definition at line 1897 of file FBiGeom_MOAB.cpp.

1901 {
1902  iMesh_rmvEntSet( IMESH_INSTANCE( instance ), entity_set_to_remove, entity_set_handle, err );
1903 }

References IMESH_INSTANCE, and iMesh_rmvEntSet.

◆ FBiGeom_rmvEntSetTag()

void FBiGeom_rmvEntSetTag ( FBiGeom_Instance  instance,
iBase_EntitySetHandle  entity_set_handle,
iBase_TagHandle  tag_handle,
int *  err 
)

Remove a tag value from an entity set.

Remove a tag value from an entity set

Parameters
instanceFBiGeom instance handle
entity_set_handleEntity set from which tag is being removed
tag_handleTag handle of tag being removed
*errPointer to error type returned from function

Definition at line 2156 of file FBiGeom_MOAB.cpp.

2160 {
2161  iMesh_rmvEntSetTag( IMESH_INSTANCE( instance ), entity_set_handle, tag_handle, err );
2162 }

References IMESH_INSTANCE, and iMesh_rmvEntSetTag.

◆ FBiGeom_rmvPrntChld()

void FBiGeom_rmvPrntChld ( FBiGeom_Instance  instance,
iBase_EntitySetHandle  parent_entity_set,
iBase_EntitySetHandle  child_entity_set,
int *  err 
)

Remove parent/child links between two sets.

Remove parent/child links between two sets.

Parameters
instanceFBiGeom instance handle
parent_entity_setPointer to parent set
child_entity_setPointer to child set
*errPointer to error type returned from function

Definition at line 1945 of file FBiGeom_MOAB.cpp.

1949 {
1950  iMesh_rmvPrntChld( IMESH_INSTANCE( instance ), parent_entity_set, child_entity_set, err );
1951 }

References IMESH_INSTANCE, and iMesh_rmvPrntChld.

◆ FBiGeom_rmvTag()

void FBiGeom_rmvTag ( FBiGeom_Instance  instance,
iBase_EntityHandle  entity_handle,
iBase_TagHandle  tag_handle,
int *  err 
)

Remove a tag value from an entity.

Remove a tag value from an entity

Parameters
instanceFBiGeom instance handle
entity_handleEntity from which tag is being removed
tag_handleTag handle of tag being removed
*errPointer to error type returned from function

Definition at line 2403 of file FBiGeom_MOAB.cpp.

2404 {
2405  iMesh_rmvTag( IMESH_INSTANCE( instance ), entity_handle, tag_handle, err );
2406 }

References IMESH_INSTANCE, and iMesh_rmvTag.

◆ FBiGeom_rotateEnt()

void FBiGeom_rotateEnt ( FBiGeom_Instance  instance,
iBase_EntityHandle  geom_entity,
double  angle,
double  axis_x,
double  axis_y,
double  axis_z,
int *  err 
)

Rotate an entity about an axis.

Rotate an entity by the given angle about the given axis.

Parameters
instanceFBiGeom instance handle
geom_entitythe entity to rotate
anglethe rotational angle, in degrees
axis_xx coordinate of the axis
axis_yy coordinate of the axis
axis_zz coordinate of the axis
*errPointer to error type returned from function

Definition at line 1701 of file FBiGeom_MOAB.cpp.

1702 {
1704 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_save()

void FBiGeom_save ( FBiGeom_Instance  instance,
char const *  name,
char const *  options,
int *  err,
int  name_len,
int  options_len 
)

Save a geom to a file.

Save a geom to a file. If entity set is specified, save only the geom contained in that set.

Parameters
instanceFBiGeom instance handle
entity_set_handleEntity set being saved
nameFile name to which geom is to be saved
optionsPointer to implementation-specific options string
*errPointer to error type returned from function
name_lenLength of the file name character string
options_lenLength of the options character string

Definition at line 191 of file FBiGeom_MOAB.cpp.

197 {
198  iMesh_save( IMESH_INSTANCE( instance ), NULL, name, options, err, name_len, options_len );
199 }

References IMESH_INSTANCE, and iMesh_save.

◆ FBiGeom_scaleEnt()

void FBiGeom_scaleEnt ( FBiGeom_Instance  instance,
iBase_EntityHandle  geom_entity,
double  x,
double  y,
double  z,
double  scale_x,
double  scale_y,
double  scale_z,
int *  err 
)

Scale an entity in the x, y, and z directions.

Scale an entity in the x, y, and z directions.

Parameters
instanceFBiGeom instance handle
geom_entitythe entity to scale,
point_xx coordinate of the scaling center
point_yy coordinate of the scaling center
point_zz coordinate of the scaling center
scale_xfactor to scale by in the x direction
scale_yfactor to scale by in the y direction
scale_zfactor to scale by in the z direction
*errPointer to error type returned from function

Definition at line 1719 of file FBiGeom_MOAB.cpp.

1728 {
1730 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_sectionEnt()

void FBiGeom_sectionEnt ( FBiGeom_Instance  instance,
iBase_EntityHandle  geom_entity,
double  plane_normal_x,
double  plane_normal_y,
double  plane_normal_z,
double  offset,
int  reverse,
iBase_EntityHandle geom_entity2,
int *  err 
)

Section (cut) a region with a plane.

Section (cut) a region with a plane, retaining one of the pieces and discarding the other.

Parameters
instanceFBiGeom instance handle
geom_entityThe entity to section
plane_normal_xx coordinate of the plane's normal
plane_normal_yy coordinate of the plane's normal
plane_normal_zz coordinate of the plane's normal
offsetDistance of the plane from the origin
reverseKeep the piece on the normal's side (=0) or not (=1)
geom_entity2Pointer to new entity handle returned from function
*errPointer to error type returned from function

Definition at line 1755 of file FBiGeom_MOAB.cpp.

1764 {
1766 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_setArrData()

void FBiGeom_setArrData ( FBiGeom_Instance  instance,
const iBase_EntityHandle entity_handles,
int  entity_handles_size,
iBase_TagHandle  tag_handle,
const void *  tag_values,
int  tag_values_size,
int *  err 
)

Set tag values of arbitrary type on an array of entities.

Set tag values of arbitrary type on an array of entities. Tag data is passed as void*. tag_values_size specifies the size of the memory pointed to by tag_values in terms of bytes. Applications may use this function to set data of any type, not just iBase_BYTES. However, because this function supports data of arbitrary type, in all cases the size specified by tag_values_size is always in terms of bytes.

Parameters
instanceFBiGeom instance handle
entity_handlesEntity array on which tag is being set
entity_handles_sizeNumber of entities in array
tag_handleTag being set on an entity
tag_valuesPointer to tag data being set on entity. Note that the implicit INTERLEAVED storage order rule applies (see section ITAPS Storage Orders)
tag_values_sizeSize in bytes of tag data
*errPointer to error type returned from function

Definition at line 2229 of file FBiGeom_MOAB.cpp.

2236 {
2237  iMesh_setArrData( IMESH_INSTANCE( instance ), entity_handles, entity_handles_size, tag_handle, tag_values,
2238  tag_values_size, err );
2239 }

References IMESH_INSTANCE, and iMesh_setArrData.

◆ FBiGeom_setData()

void FBiGeom_setData ( FBiGeom_Instance  instance,
iBase_EntityHandle  entity_handle,
iBase_TagHandle  tag_handle,
const void *  tag_value,
int  tag_value_size,
int *  err 
)

Set a tag value of arbitrary type on an entity.

Set a tag value of arbitrary type on an entity. Tag data is passed as void*. tag_value_size specifies the size of the memory pointed to by tag_value in terms of bytes. Applications may use this function to set data of any type, not just iBase_BYTES. However, because this function supports data of arbitrary type, in all cases the size specified by tag_value_size is always in terms of bytes.

Parameters
instanceFBiGeom instance handle
entity_handleEntity on which tag is being set
tag_handleTag being set on an entity
tag_valuePointer to tag data being set on entity
tag_value_sizeSize in bytes of tag data
*errPointer to error type returned from function

Definition at line 2346 of file FBiGeom_MOAB.cpp.

2352 {
2353  iMesh_setData( IMESH_INSTANCE( instance ), entity_handle, tag_handle, tag_value, tag_value_size, err );
2354 }

References IMESH_INSTANCE, and iMesh_setData.

◆ FBiGeom_setDblArrData()

void FBiGeom_setDblArrData ( FBiGeom_Instance  instance,
const iBase_EntityHandle entity_handles,
int  entity_handles_size,
iBase_TagHandle  tag_handle,
const double *  tag_values,
const int  tag_values_size,
int *  err 
)

Set tag values of double type on an array of entities.

Set tag values of double type on an array of entities.

Parameters
instanceFBiGeom instance handle
entity_handlesEntity array on which tag is being set
entity_handles_sizeNumber of entities in array
tag_handleTag being set on an entity
tag_valuesPointer to tag data being set on entities
tag_values_sizeSize in total number of doubles of tag data
*errPointer to error type returned from function

Definition at line 2253 of file FBiGeom_MOAB.cpp.

2260 {
2261  iMesh_setDblArrData( IMESH_INSTANCE( instance ), entity_handles, entity_handles_size, tag_handle, tag_values,
2262  tag_values_size, err );
2263 }

References IMESH_INSTANCE, and iMesh_setDblArrData.

◆ FBiGeom_setDblData()

void FBiGeom_setDblData ( FBiGeom_Instance  instance,
iBase_EntityHandle  entity_handle,
iBase_TagHandle  tag_handle,
double  tag_value,
int *  err 
)

Set a tag value of double type on an entity.

Set a tag value of double type on an entity.

Parameters
instanceFBiGeom instance handle
entity_handleEntity on which tag is being set
tag_handleTag being set on an entity
tag_valueTag value being set on entity
*errPointer to error type returned from function

Definition at line 2365 of file FBiGeom_MOAB.cpp.

2370 {
2371  iMesh_setDblData( IMESH_INSTANCE( instance ), entity_handle, tag_handle, tag_value, err );
2372 }

References IMESH_INSTANCE, and iMesh_setDblData.

◆ FBiGeom_setEHArrData()

void FBiGeom_setEHArrData ( FBiGeom_Instance  instance,
const iBase_EntityHandle entity_handles,
int  entity_handles_size,
iBase_TagHandle  tag_handle,
const iBase_EntityHandle tag_values,
int  tag_values_size,
int *  err 
)

Set tag values of entity handle type on an array of entities.

Set tag values of entity handle type on an array of entities.

Parameters
instanceFBiGeom instance handle
entity_handlesEntity array on which tag is being set
entity_handles_sizeNumber of entities in array
tag_handleTag being set on an entity
tag_valuesPointer to tag data being set on entities
tag_values_sizeSize in total number of entity handles of tag data
*errPointer to error type returned from function

Definition at line 2265 of file FBiGeom_MOAB.cpp.

2272 {
2273  iMesh_setEHArrData( IMESH_INSTANCE( instance ), entity_handles, entity_handles_size, tag_handle, tag_values,
2274  tag_values_size, err );
2275 }

References IMESH_INSTANCE, and iMesh_setEHArrData.

◆ FBiGeom_setEHData()

void FBiGeom_setEHData ( FBiGeom_Instance  instance,
iBase_EntityHandle  entity_handle,
iBase_TagHandle  tag_handle,
iBase_EntityHandle  tag_value,
int *  err 
)

Set a tag value of entity handle type on an entity.

Set a tag value of entity handle type on an entity.

Parameters
instanceFBiGeom instance handle
entity_handleEntity on which tag is being set
tag_handleTag being set on an entity
tag_valueTag value being set on entity
*errPointer to error type returned from function

Definition at line 2374 of file FBiGeom_MOAB.cpp.

2379 {
2380  iMesh_setEHData( IMESH_INSTANCE( instance ), entity_handle, tag_handle, tag_value, err );
2381 }

References IMESH_INSTANCE, and iMesh_setEHData.

◆ FBiGeom_setEntSetData()

void FBiGeom_setEntSetData ( FBiGeom_Instance  instance,
iBase_EntitySetHandle  entity_set_handle,
const iBase_TagHandle  tag_handle,
const void *  tag_value,
const int  tag_value_size,
int *  err 
)

Set a tag value of arbitrary type on an entity set.

Set a tag value of arbitrary type on an entity set. The tag data is passed as void*. tag_value_size specifies the size of the memory pointed to by tag_value in terms of bytes. Applications are free to use this function to set data of any type, not just iBase_BYTES. However, in all cases, the size specified by tag_value_size is always in terms of bytes.

Parameters
instanceFBiGeom instance handle
entity_set_handleEntity set on which tag is being set
tag_handleTag being set on an entity set
tag_valuePointer to tag data being set on entity set
tag_value_sizeSize in bytes of tag data
*errPointer to error type returned from function

Definition at line 2051 of file FBiGeom_MOAB.cpp.

2057 {
2058  iMesh_setEntSetData( IMESH_INSTANCE( instance ), entity_set_handle, tag_handle, tag_value, tag_value_size, err );
2059 }

References IMESH_INSTANCE, and iMesh_setEntSetData.

◆ FBiGeom_setEntSetDblData()

void FBiGeom_setEntSetDblData ( FBiGeom_Instance  instance,
iBase_EntitySetHandle  entity_set,
iBase_TagHandle  tag_handle,
double  tag_value,
int *  err 
)

Set a tag value of double type on an entity set.

Set a tag value of double type on an entity set.

Parameters
instanceFBiGeom instance handle
entity_setEntity set on which tag is being set
tag_handleTag being set on an entity set
tag_valueTag value being set on entity set
*errPointer to error type returned from function

Definition at line 2070 of file FBiGeom_MOAB.cpp.

2075 {
2076  iMesh_setEntSetDblData( IMESH_INSTANCE( instance ), entity_set, tag_handle, tag_value, err );
2077 }

References IMESH_INSTANCE, and iMesh_setEntSetDblData.

◆ FBiGeom_setEntSetEHData()

void FBiGeom_setEntSetEHData ( FBiGeom_Instance  instance,
iBase_EntitySetHandle  entity_set,
iBase_TagHandle  tag_handle,
iBase_EntityHandle  tag_value,
int *  err 
)

Set a tag value of entity handle type on an entity set.

Set a tag value of entity handle type on an entity set.

Parameters
instanceFBiGeom instance handle
entity_setEntity set on which tag is being set
tag_handleTag being set on an entity set
tag_valueTag value being set on entity set
*errPointer to error type returned from function

Definition at line 2079 of file FBiGeom_MOAB.cpp.

2084 {
2085  iMesh_setEntSetEHData( IMESH_INSTANCE( instance ), entity_set, tag_handle, tag_value, err );
2086 }

References IMESH_INSTANCE, and iMesh_setEntSetEHData.

◆ FBiGeom_setEntSetESHData()

void FBiGeom_setEntSetESHData ( FBiGeom_Instance  instance,
iBase_EntitySetHandle  entity_set,
iBase_TagHandle  tag_handle,
iBase_EntitySetHandle  tag_value,
int *  err 
)

Set a tag value of entity set handle type on an entity set.

Set a tag value of entity set handle type on an entity set.

Parameters
instanceFBiGeom instance handle
entity_setEntity set on which tag is being set
tag_handleTag being set on an entity set
tag_valueTag value being set on entity set
*errPointer to error type returned from function

Definition at line 2088 of file FBiGeom_MOAB.cpp.

2093 {
2094  iMesh_setEntSetESHData( IMESH_INSTANCE( instance ), entity_set, tag_handle, tag_value, err );
2095 }

References IMESH_INSTANCE, and iMesh_setEntSetESHData.

◆ FBiGeom_setEntSetIntData()

void FBiGeom_setEntSetIntData ( FBiGeom_Instance  instance,
iBase_EntitySetHandle  entity_set,
iBase_TagHandle  tag_handle,
int  tag_value,
int *  err 
)

Set a tag value of integer type on an entity set.

Set a tag value of integer type on an entity set.

Parameters
instanceFBiGeom instance handle
entity_setEntity set on which tag is being set
tag_handleTag being set on an entity set
tag_valueTag value being set on entity set
*errPointer to error type returned from function

Definition at line 2061 of file FBiGeom_MOAB.cpp.

2066 {
2067  iMesh_setEntSetIntData( IMESH_INSTANCE( instance ), entity_set, tag_handle, tag_value, err );
2068 }

References IMESH_INSTANCE, and iMesh_setEntSetIntData.

◆ FBiGeom_setESHArrData()

void FBiGeom_setESHArrData ( FBiGeom_Instance  instance,
const iBase_EntityHandle entity_handles,
int  entity_handles_size,
iBase_TagHandle  tag_handle,
const iBase_EntitySetHandle tag_values,
int  tag_values_size,
int *  err 
)

Set tag values of entity set handle type on an array of entities.

Set tag values of entity set handle type on an array of entities.

Parameters
instanceFBiGeom instance handle
entity_handlesEntity array on which tag is being set
entity_handles_sizeNumber of entities in array
tag_handleTag being set on an entity
tag_valuesPointer to tag data being set on entities
tag_values_sizeSize in total number of entity handles of tag data
*errPointer to error type returned from function

Definition at line 2277 of file FBiGeom_MOAB.cpp.

2284 {
2285  iMesh_setESHArrData( IMESH_INSTANCE( instance ), entity_handles, entity_handles_size, tag_handle, tag_values,
2286  tag_values_size, err );
2287 }

References IMESH_INSTANCE, and iMesh_setESHArrData.

◆ FBiGeom_setESHData()

void FBiGeom_setESHData ( FBiGeom_Instance  instance,
iBase_EntityHandle  entity_handle,
iBase_TagHandle  tag_handle,
iBase_EntitySetHandle  tag_value,
int *  err 
)

Set a tag value of entity set handle type on an entity.

Set a tag value of entity set handle type on an entity.

Parameters
instanceFBiGeom instance handle
entity_handleEntity on which tag is being set
tag_handleTag being set on an entity
tag_valueTag value being set on entity
*errPointer to error type returned from function

Definition at line 2383 of file FBiGeom_MOAB.cpp.

2388 {
2389  iMesh_setESHData( IMESH_INSTANCE( instance ), entity_handle, tag_handle, tag_value, err );
2390 }

References IMESH_INSTANCE, and iMesh_setESHData.

◆ FBiGeom_setIntArrData()

void FBiGeom_setIntArrData ( FBiGeom_Instance  instance,
const iBase_EntityHandle entity_handles,
int  entity_handles_size,
iBase_TagHandle  tag_handle,
const int *  tag_values,
int  tag_values_size,
int *  err 
)

Set tag values of integer type on an array of entities.

Set tag values of integer type on an array of entities.

Parameters
instanceFBiGeom instance handle
entity_handlesEntity array on which tag is being set
entity_handles_sizeNumber of entities in array
tag_handleTag being set on an entity
tag_valuesPointer to tag data being set on entities
tag_values_sizeSize in total number of integers of tag data
*errPointer to error type returned from function

Definition at line 2241 of file FBiGeom_MOAB.cpp.

2248 {
2249  iMesh_setIntArrData( IMESH_INSTANCE( instance ), entity_handles, entity_handles_size, tag_handle, tag_values,
2250  tag_values_size, err );
2251 }

References IMESH_INSTANCE, and iMesh_setIntArrData.

◆ FBiGeom_setIntData()

void FBiGeom_setIntData ( FBiGeom_Instance  instance,
iBase_EntityHandle  entity_handle,
iBase_TagHandle  tag_handle,
int  tag_value,
int *  err 
)

Set a tag value of integer type on an entity.

Set a tag value of integer type on an entity.

Parameters
instanceFBiGeom instance handle
entity_handleEntity on which tag is being set
tag_handleTag being set on an entity
tag_valueTag value being set on entity
*errPointer to error type returned from function

Definition at line 2356 of file FBiGeom_MOAB.cpp.

2361 {
2362  iMesh_setIntData( IMESH_INSTANCE( instance ), entity_handle, tag_handle, tag_value, err );
2363 }

References IMESH_INSTANCE, and iMesh_setIntData.

◆ FBiGeom_subtract()

void FBiGeom_subtract ( FBiGeom_Instance  instance,
iBase_EntitySetHandle  entity_set_1,
iBase_EntitySetHandle  entity_set_2,
iBase_EntitySetHandle result_entity_set,
int *  err 
)

Subtract contents of one entity set from another.

Subtract contents of one entity set from another

Parameters
instanceFBiGeom instance handle
entity_set_1Entity set from which other set is being subtracted
entity_set_2Entity set being subtracted from other set
result_entity_setPointer to entity set returned from function
*errPointer to error type returned from function

Definition at line 2408 of file FBiGeom_MOAB.cpp.

2413 {
2415 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_subtractEnts()

void FBiGeom_subtractEnts ( FBiGeom_Instance  instance,
iBase_EntityHandle  blank,
iBase_EntityHandle  tool,
iBase_EntityHandle geom_entity,
int *  err 
)

Geometrically subtract one entity from another.

Geometrically subtract the entity tool from the entity blank.

Parameters
instanceFBiGeom instance handle
blankThe entity to subtract from
toolThe entity to subtract
geom_entityPointer to new entity handle returned from function
*errPointer to error type returned from function

Definition at line 1737 of file FBiGeom_MOAB.cpp.

1742 {
1744 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_sweepEntAboutAxis()

void FBiGeom_sweepEntAboutAxis ( FBiGeom_Instance  instance,
iBase_EntityHandle  geom_entity,
double  angle,
double  axis_x,
double  axis_y,
double  axis_z,
iBase_EntityHandle geom_entity2,
int *  err 
)

Sweep (extrude) an entity about an axis.

Sweep (extrude) an entity by the given angle about the given axis.

Parameters
instanceFBiGeom instance handle
geom_entitythe entity to rotate
anglethe rotational angle, in degrees
axis_xx coordinate of the axis
axis_yy coordinate of the axis
axis_zz coordinate of the axis
geom_entity2Pointer to new entity handle returned from function
*errPointer to error type returned from function

Definition at line 1643 of file FBiGeom_MOAB.cpp.

1651 {
1653 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_unite()

void FBiGeom_unite ( FBiGeom_Instance  instance,
iBase_EntitySetHandle  entity_set_1,
iBase_EntitySetHandle  entity_set_2,
iBase_EntitySetHandle result_entity_set,
int *  err 
)

Unite contents of one entity set with another.

Unite contents of one entity set with another

Parameters
instanceFBiGeom instance handle
entity_set_1Entity set being united with another
entity_set_2Entity set being united with another
result_entity_setPointer to entity set returned from function
*errPointer to error type returned from function

Definition at line 2426 of file FBiGeom_MOAB.cpp.

2431 {
2433 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ FBiGeom_uniteEnts()

void FBiGeom_uniteEnts ( FBiGeom_Instance  instace,
iBase_EntityHandle const *  geom_entities,
int  geom_entities_size,
iBase_EntityHandle geom_entity,
int *  err 
)

Geometrically unite entities.

Geometrically unite the specified entities.

Parameters
instanceFBiGeom instance handle
geom_entitiesArray of entity handles being united
geom_entities_sizeNumber of entities in geom_entities array
geom_entityPointer to new entity handle returned from function
*errPointer to error type returned from function

Definition at line 1732 of file FBiGeom_MOAB.cpp.

1733 {
1735 }

References iBase_NOT_SUPPORTED, and RETURN.

◆ filter_options1()

static std::string filter_options1 ( const char *  begin,
const char *  end 
)
static

Definition at line 23 of file FBiGeom_MOAB.cpp.

24 {
25  const char* opt_begin = begin;
26  const char* opt_end = begin;
27 
28  std::string filtered;
29  bool first = true;
30 
31  while( opt_end != end )
32  {
33  opt_end = std::find( opt_begin, end, ' ' );
34 
35  if( opt_end - opt_begin >= 5 && compare_no_case1( opt_begin, "moab:", 5 ) == 0 )
36  {
37  if( !first ) filtered.push_back( ';' );
38  first = false;
39  filtered.append( opt_begin + 5, opt_end );
40  }
41 
42  opt_begin = opt_end + 1;
43  }
44  return filtered;
45 }

References compare_no_case1(), and moab::GeomUtil::first().

Referenced by FBiGeom_newGeom().

Variable Documentation

◆ debug_igeom

bool debug_igeom = false

Definition at line 47 of file FBiGeom_MOAB.cpp.

◆ Debug_surf_eval

bool Debug_surf_eval = false

Definition at line 48 of file FBiGeom_MOAB.cpp.