cgma
|
Public Member Functions | |
RccVolume (const Vector3d ¢er_p, const Vector3d &axis, double radius_p) | |
virtual double | getFarthestExtentFromOrigin () const |
Protected Member Functions | |
virtual iBase_EntityHandle | getHandle (bool positive, iGeom_Instance &igm, double world_size) |
Protected Attributes | |
Vector3d | base_center |
Transform | transform |
double | length |
double | radius |
Definition at line 618 of file volumes.cpp.
RccVolume::RccVolume | ( | const Vector3d & | center_p, |
const Vector3d & | axis, | ||
double | radius_p | ||
) | [inline] |
Definition at line 626 of file volumes.cpp.
: base_center( center_p ), transform( imageZAxisTo( axis, center_p ) ), length( axis.length() ), radius(radius_p) {}
virtual double RccVolume::getFarthestExtentFromOrigin | ( | ) | const [inline, virtual] |
Implements SurfaceVolume.
Definition at line 630 of file volumes.cpp.
{ return base_center.length() + length + radius; }
virtual iBase_EntityHandle RccVolume::getHandle | ( | bool | positive, |
iGeom_Instance & | igm, | ||
double | world_size | ||
) | [inline, protected, virtual] |
Implements SurfaceVolume.
Definition at line 635 of file volumes.cpp.
{ int igm_result; iBase_EntityHandle rcc; iGeom_createCylinder( igm, length, radius, 0, &rcc, &igm_result ); CHECK_IGEOM( igm_result, "creating rcc" ); double movement_factor = length / 2.0; iGeom_moveEnt( igm, rcc, 0, 0, movement_factor, &igm_result ); CHECK_IGEOM( igm_result, "moving rcc" ); rcc = applyTransform( transform, igm, rcc ); iBase_EntityHandle final_rcc = embedWithinWorld( positive, igm, world_size, rcc, false ); return final_rcc; }
Vector3d RccVolume::base_center [protected] |
Definition at line 621 of file volumes.cpp.
double RccVolume::length [protected] |
Definition at line 623 of file volumes.cpp.
double RccVolume::radius [protected] |
Definition at line 623 of file volumes.cpp.
Transform RccVolume::transform [protected] |
Reimplemented from SurfaceVolume.
Definition at line 622 of file volumes.cpp.