cgma
RccVolume Class Reference
Inheritance diagram for RccVolume:
SurfaceVolume

List of all members.

Public Member Functions

 RccVolume (const Vector3d &center_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

Detailed Description

Definition at line 618 of file volumes.cpp.


Constructor & Destructor Documentation

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) 
  {}

Member Function Documentation

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;
  }

Member Data Documentation

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.

Reimplemented from SurfaceVolume.

Definition at line 622 of file volumes.cpp.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines