[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