[cgma-dev] iGeom::reflectEnt signature

Iulian Grindeanu iulian at mcs.anl.gov
Fri Nov 22 08:37:13 CST 2013


Hi Paul, 
reflect and scale methods have an additional parameter, point. Jane added it; 
When you reflect about a plane, the normal is not enough, to define a plane, a point is also needed (included in the plane) 
Documentation is not clear, iGeom.h should have included it in the list of parameters. 
this change follows a change in GeometryQueryTool::reflect method too, and it was first introduced for cubit 13.1. 

In MeshKit, we are using a macro defined in iBase.h to differentiate the 2 versions, something like this: 

#if IBASE_VERSION_GE(1,4,1) 
virtual inline Error reflectEnt(EntityHandle entity, double x, 
double y, double z, double norm_x, 
double norm_y, double norm_z); 
virtual inline Error scaleEnt(EntityHandle entity, double x, 
double y, double z, double x_factor, 
double y_factor, double z_factor); 
#else 
virtual inline Error reflectEnt(EntityHandle entity, double norm_x, 
double norm_y, double norm_z); 
virtual inline Error scaleEnt(EntityHandle entity, double x_factor, 
double y_factor, double z_factor); 
#endif 

So everything below itaps version 1.4.0 uses old signature; 

Hope this helps, 
Iulian 

----- Original Message -----

| Hi there,

| I'm trying to build a tool that used to work against CGM using the
| iGeom
| interface. It uses the reflectEnt method.

| As of r5781, the reflectEnt signature in iGeom.h has changed to
| require
| 2 sets of x,y,z points, but the documentation is not clear about what
| these mean. I'm happy to update my app to this new signature but
| can't
| find a definition of what is expected.

| > 3402 jvporter /**\brief Reflect an entity across a plane
| > 3402 jvporter *
| > 3402 jvporter * Reflect an entity across the given plane
| > 3402 jvporter * \param instance iGeom instance handle
| > 3402 jvporter * \param geom_entity the entity to reflect
| > 3402 jvporter * \param plane_normal_x x coordinate of the
| > plane's normal
| > 3402 jvporter * \param plane_normal_y y coordinate of the
| > plane's normal
| > 3402 jvporter * \param plane_normal_z z coordinate of the
| > plane's normal
| > 3402 jvporter * \param *err Pointer to error type returned
| > from function
| > 3402 jvporter */
| > 3402 jvporter void iGeom_reflectEnt( iGeom_Instance instance,
| > 2617 kraftche iBase_EntityHandle geom_entity,
| > 5781 janehu double point_x,
| > 5781 janehu double point_y,
| > 5781 janehu double point_z,
| > 1638 tautges double plane_normal_x,
| > 1638 tautges double plane_normal_y,
| > 1638 tautges double plane_normal_z,
| > 1638 tautges int* err );
| > 1096 kraftche

| Any guidance is appreciated.

| Thanks,
| Paul

| --
| -- ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
| --
| Paul Wilson ~ UW-Madison ~ 608-263-0807 ~ cal: http://bit.ly/pphw-cal
| Professor, Engineering Physics. ~ http://cnerg.engr.wisc.edu
| Faculty Director, Advanced Computing Infrastructure
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/cgma-dev/attachments/20131122/7e0aea04/attachment.html>


More information about the cgma-dev mailing list