Main Page | File List | Globals

iRel.h

Go to the documentation of this file.
00001 #ifndef __iRel_LASSO_HPP__
00002 #define __iRel_LASSO_HPP__
00003 
00078 #include "iGeom.h"
00079 #include "iMesh.h"
00080 #include "iRel_protos.h"
00081 
00082 #ifdef __cplusplus
00083 
00084 extern "C" 
00085 {
00086 #endif
00087 
00089 
00091   typedef void* iRel_Instance;
00092 
00094 
00096   typedef void* iRel_RelationHandle;
00097 
00099 
00104   enum IfaceType 
00105   {iRel_IBASE_IFACE = 0,
00106    iRel_IGEOM_IFACE, 
00107    iRel_IMESH_IFACE, 
00108    iRel_IFIELD_IFACE, 
00109    iRel_IREL_IFACE};
00110 
00111   extern struct iBase_Error iRel_LAST_ERROR;
00112 
00114 
00118   void iRel_dtor(iRel_Instance instance, int *ierr);
00119 
00121 
00137   void iRel_createAssociation (
00138     iRel_Instance instance,
00139     iBase_Instance iface1,
00140     const int ent_or_set1,
00141     const int iface_type1,
00142     iBase_Instance iface2,
00143     const int ent_or_set2,
00144     const int iface_type2,
00145     iRel_RelationHandle *rel,
00146     int *ierr);
00147   
00149 
00154   void iRel_destroyAssociation (
00155     iRel_Instance instance, 
00156     iRel_RelationHandle rel,
00157     int *ierr);
00158 
00160 
00169   void iRel_getAssociatedInterfaces (
00170     iRel_Instance instance,
00171     iBase_Instance iface,
00172     iBase_Instance **interfaces,
00173     int *interfaces_allocated,
00174     int *interfaces_size,
00175     int *ierr);
00176 
00178 
00187   void iRel_setEntEntAssociation (
00188     iRel_Instance instance,
00189     iRel_RelationHandle rel,
00190     iBase_EntityHandle ent1,
00191     int is_set1,
00192     iBase_EntityHandle ent2,
00193     int is_set2,
00194     int *ierr);
00195 
00197 
00212   void iRel_setEntArrAssociation (
00213     iRel_Instance instance,
00214     iRel_RelationHandle rel,    
00215     iBase_EntityHandle ent1,
00216     int is_set1,
00217     int switch_order,
00218     iBase_EntityHandle *ent_array_2,
00219     int num_entities,
00220     int is_set2,
00221     int *ierr);
00222 
00225 
00239   void iRel_setArrAssociation (
00240     iRel_Instance instance,
00241     iRel_RelationHandle rel,    
00242     iBase_EntityHandle *ent_array_1,
00243     int num_ent1,
00244     int is_set1,
00245     iBase_EntityHandle *ent_array_2,
00246     int num_ent2,
00247     int is_set2,
00248     int *ierr);
00249 
00251 
00264   void iRel_getEntEntAssociation (
00265     iRel_Instance instance,
00266     iRel_RelationHandle rel,    
00267     iBase_EntityHandle ent1,
00268     int is_set1,
00269     int switch_order,
00270     iBase_EntityHandle *ent2,
00271     int *is_set2,
00272     int *ierr);
00273 
00275 
00292   void iRel_getEntArrAssociation (
00293     iRel_Instance instance,
00294     iRel_RelationHandle rel,    
00295     iBase_EntityHandle ent1,
00296     int is_set1,
00297     int return_sets,
00298     int switch_order,
00299     iBase_EntityHandle **ent_array_2,
00300     int *ent_array_2_allocated,
00301     int *ent_array_2_size,
00302     int *ierr);
00303 
00305 
00327   void iRel_getArrAssociation (
00328     iRel_Instance instance,
00329     iRel_RelationHandle rel,    
00330     iBase_EntityHandle *ent_array_1,
00331     int ent_array_1_size,
00332     int is_set1,
00333     int return_sets,
00334     int switch_order,
00335     iBase_EntityHandle **ent_array_2,
00336     int *ent_array_2_allocated,
00337     int *ent_array_2_size,
00338     int **offset,
00339     int *offset_allocated,
00340     int *offset_size,
00341     int *ierr);
00342 
00344 
00355   void iRel_createVtxAndAssociate (
00356     iRel_Instance instance,
00357     double x,
00358     double y,
00359     double z,
00360     iBase_EntityHandle associatedGeomEnt,
00361     iBase_EntityHandle *new_entity_handle,
00362     int *ierr);
00363 
00365 
00381   void iRel_createEntAndAssociate (
00382     iRel_Instance instance,
00383     int new_entity_topology,
00384     iBase_EntityHandle *lower_order_entity_handles,
00385     int lower_order_entity_handles_size,
00386     iBase_EntityHandle associatedGeomEnt,
00387     iBase_EntityHandle *new_entity_handle,
00388     int *creation_status,
00389     int *ierr);
00390 
00392 
00413   void iRel_createVtxArrAndAssociate (
00414     iRel_Instance instance,
00415     int num_verts,
00416     int storage_order,
00417     double *new_coords,
00418     int new_coords_size,
00419     iBase_EntityHandle *associatedGeomEnts,
00420     int num_geom_ents,
00421     iBase_EntityHandle **new_vertex_handles,
00422     int *new_vertex_handles_allocated,
00423     int *new_vertex_handles_size,
00424     int *ierr);
00425 
00427 
00458   void iRel_createEntArrAndAssociate (
00459     iRel_Instance instance,
00460     int new_entity_topology,
00461     iBase_EntityHandle *lower_order_entity_handles,
00462     int lower_order_entity_handles_size,
00463     int *offsets,
00464     int offsets_size,
00465     iBase_EntityHandle *associatedGeomEnts,
00466     int num_geom_ents,
00467     iBase_EntityHandle **new_entity_handles,
00468     int *new_entity_handles_allocated,
00469     int *new_entity_handles_size,
00470     int **status,
00471     int *status_allocated,
00472     int *status_size,
00473     int *ierr);
00474 
00476 
00484   void iRel_inferAllAssociations (
00485     iRel_Instance instance,
00486     iRel_RelationHandle rel,
00487     int *ierr);
00488 
00490 
00502   void iRel_inferEntAssociations (
00503     iRel_Instance instance,
00504     iRel_RelationHandle rel,    
00505     iBase_EntityHandle entity,
00506     int is_set,
00507     int iface_no,
00508     int *ierr);
00509 
00511 
00524   void iRel_inferArrAssociations (
00525     iRel_Instance instance,
00526     iRel_RelationHandle rel,    
00527     iBase_EntityHandle *entities,
00528     int entities_size,
00529     int is_set,
00530     int iface_no,
00531     int *ierr);
00532 
00535 
00546   void iRel_moveTo(iRel_Instance instance,
00547                    iGeom_Instance geom, iMesh_Instance mesh,
00548                    iBase_EntityHandle geom_entity_handle,
00549                    int *ierr);
00550 
00552 
00558   void iRel_newAssoc(const char *options,
00559                      iRel_Instance *instance,
00560                      int *ierr,
00561                      const int options_len);
00562   
00563 #ifdef __cplusplus
00564 } // extern "C"
00565 #endif
00566 
00567 #endif // #ifndef __iRel_LASSO_HPP__
00568 

Generated on Tue Jun 26 11:09:21 2007 for iRel by doxygen 1.3.5