| 1 | #ifndef MERGETOOL_CCAPI_H |
|---|
| 2 | #define MERGETOOL_CCAPI_H |
|---|
| 3 | |
|---|
| 4 | #include "CubitDefines.h" |
|---|
| 5 | |
|---|
| 6 | #ifdef __cplusplus |
|---|
| 7 | extern "C" { |
|---|
| 8 | #endif |
|---|
| 9 | |
|---|
| 10 | static /* MergeTool* */ void *MergeTool_instance(); |
|---|
| 11 | /* Returns a static pointer to unique instance of this class. */ |
|---|
| 12 | |
|---|
| 13 | enum CubitBoolean MergeTool_contains_merged_entities_1( /* DLBodyList & */ void ***bodies, int *bodies_size ); |
|---|
| 14 | /* - Tests the entities in the list of bodies to see if they */ |
|---|
| 15 | /* - have been merged with other entities and result in */ |
|---|
| 16 | /* - of multiple volumes. This returns CUBIT_TRUE at the first */ |
|---|
| 17 | /* - lower entity that shares two volumes. */ |
|---|
| 18 | |
|---|
| 19 | enum CubitBoolean MergeTool_contains_merged_entities_2( /* DLRefEntityList & */ void ***ref_entities, int *ref_entities_size); |
|---|
| 20 | /* - Tests the entities in the list to see if they or their descendents */ |
|---|
| 21 | /* - have been merged with other entities */ |
|---|
| 22 | |
|---|
| 23 | enum CubitBoolean MergeTool_entity_merged( /* TopologyEntity * */ void *entity ); |
|---|
| 24 | /* - Takes a RefEntity, makes sure it is not a volume, and */ |
|---|
| 25 | /* - checks to see if it has more than one volume. */ |
|---|
| 26 | |
|---|
| 27 | enum CubitStatus MergeTool_merge_all_bodies(); |
|---|
| 28 | /* - Compare all RefFaces, RefEdges, and RefVertices in the */ |
|---|
| 29 | /* - model and merge the matches */ |
|---|
| 30 | |
|---|
| 31 | enum CubitStatus MergeTool_merge_bodies( /* DLBodyList& */ void *** refbody_list, int *refbody_list_size ); |
|---|
| 32 | /* - Compare all RefFaces, RefEdges, and RefVertices in */ |
|---|
| 33 | /* - refbody_list and merge the matches */ |
|---|
| 34 | |
|---|
| 35 | enum CubitStatus MergeTool_merge_volumes( /* DLRefVolumeList& */ void *** vol_list, int *vol_list_size, |
|---|
| 36 | enum CubitBoolean print_info); |
|---|
| 37 | /* - Compare all RefFaces, RefEdges, and RefVertices in */ |
|---|
| 38 | /* - vol_list and merge the matches */ |
|---|
| 39 | |
|---|
| 40 | enum CubitStatus MergeTool_merge_all_reffaces (); |
|---|
| 41 | /* - Compare all RefFaces in the model and merge the matches */ |
|---|
| 42 | |
|---|
| 43 | enum CubitStatus MergeTool_merge_reffaces( /* DLRefFaceList& */ void *** refface_list, int *refface_list_size, |
|---|
| 44 | enum CubitBoolean force_merge, |
|---|
| 45 | enum CubitBoolean print_info); |
|---|
| 46 | /* - Compare all input RefFaces and merge the matches */ |
|---|
| 47 | |
|---|
| 48 | enum CubitStatus MergeTool_merge_all_refedges(); |
|---|
| 49 | /* - Compare all RefEdges in the model and merge the matches */ |
|---|
| 50 | |
|---|
| 51 | enum CubitStatus MergeTool_merge_refedges( /* DLRefEdgeList& */ void *** refedge_list, int *refedge_list_size, |
|---|
| 52 | enum CubitBoolean force_merge, |
|---|
| 53 | enum CubitBoolean should_clean_out, |
|---|
| 54 | enum CubitBoolean print_info); |
|---|
| 55 | /* - Compare all input RefEdges and merge the matches */ |
|---|
| 56 | /* - BE CAREFUL with the should_clean_out flag. If you set */ |
|---|
| 57 | /* - it to false, then YOU (the caller) are responsible for */ |
|---|
| 58 | /* - cleaning out the deactivated geometry. */ |
|---|
| 59 | |
|---|
| 60 | enum CubitStatus MergeTool_merge_all_refvertices(); |
|---|
| 61 | /* - Compare all RefVertices in the model and merge the matches */ |
|---|
| 62 | |
|---|
| 63 | enum CubitStatus MergeTool_merge_refvertices( /* DLRefVertexList& */ void *** refvertex_list, int *refvertex_list_size, |
|---|
| 64 | enum CubitBoolean force_merge, |
|---|
| 65 | enum CubitBoolean print_info); |
|---|
| 66 | /* - Compare all input RefVertices and merge the matches */ |
|---|
| 67 | |
|---|
| 68 | enum CubitStatus MergeTool_merge_entities( /* DLRefEntityList& */ void *** entity_list, int *entity_list_size, |
|---|
| 69 | enum CubitBoolean force_merge, |
|---|
| 70 | enum CubitBoolean should_clean_out, |
|---|
| 71 | enum CubitBoolean print_info); |
|---|
| 72 | /* - merge the entities in list; asserts if they're not all the same type */ |
|---|
| 73 | |
|---|
| 74 | enum CubitStatus MergeTool_unmerge( /* DLRefEntityList& */ void *** ); |
|---|
| 75 | /* - Takes a list of entities. NOTE this list should have been */ |
|---|
| 76 | /* - screened so that only surfaces, curves, and vertices are */ |
|---|
| 77 | /* - in it. If not, it will assert. */ |
|---|
| 78 | |
|---|
| 79 | /* enum CubitStatus has_merged_parents(); */ |
|---|
| 80 | /* R enum CubitStatus */ |
|---|
| 81 | /* R- CUBIT_SUCCESS/FAILURE */ |
|---|
| 82 | /* - This function determines if this entity has merged parents */ |
|---|
| 83 | |
|---|
| 84 | static enum CubitBoolean MergeTool_merge_has_occured(); |
|---|
| 85 | static void MergeTool_set_merge_occurance( enum CubitBoolean t_or_f ); |
|---|
| 86 | /* - Sets/Gets the mergeCalled flag. This signifies */ |
|---|
| 87 | /* - that currently a merge operation has been called for */ |
|---|
| 88 | /* - the model. */ |
|---|
| 89 | |
|---|
| 90 | static void MergeTool_group_results( enum CubitBoolean t_or_f ); |
|---|
| 91 | /* - tells us to group the results or not. */ |
|---|
| 92 | |
|---|
| 93 | void MergeTool_compare_notify(/* RefEntity * */ void *entity, enum EventType event); |
|---|
| 94 | /* - notifies MergeTool about comparisons found and put on ref entities */ |
|---|
| 95 | |
|---|
| 96 | |
|---|
| 97 | #ifdef __cplusplus |
|---|
| 98 | } |
|---|
| 99 | #endif |
|---|
| 100 | |
|---|
| 101 | #endif |
|---|