cgma
BoxVolume Class Reference
Inheritance diagram for BoxVolume:
SurfaceVolume

List of all members.

Public Member Functions

 BoxVolume (const Vector3d &corner, const Vector3d &v1, const Vector3d &v2, const Vector3d &v3)
virtual double getFarthestExtentFromOrigin () const

Protected Member Functions

virtual iBase_EntityHandle getHandle (bool positive, iGeom_Instance &igm, double world_size)

Protected Attributes

Vector3d dimensions
Transform transform

Detailed Description

Definition at line 500 of file volumes.cpp.


Constructor & Destructor Documentation

BoxVolume::BoxVolume ( const Vector3d corner,
const Vector3d v1,
const Vector3d v2,
const Vector3d v3 
) [inline]

Definition at line 507 of file volumes.cpp.

                                                                                                  :
    dimensions( v1.length(), v2.length(), v3.length() ), transform( axesImage(v1,v2,v3,corner) )
  {}

Member Function Documentation

virtual double BoxVolume::getFarthestExtentFromOrigin ( ) const [inline, virtual]

Implements SurfaceVolume.

Definition at line 511 of file volumes.cpp.

virtual iBase_EntityHandle BoxVolume::getHandle ( bool  positive,
iGeom_Instance igm,
double  world_size 
) [inline, protected, virtual]

Implements SurfaceVolume.

Definition at line 516 of file volumes.cpp.

                                                                                               {


    int igm_result;
    iBase_EntityHandle box;

    iGeom_createBrick( igm, dimensions.v[0], dimensions.v[1], dimensions.v[2], &box, &igm_result );
    CHECK_IGEOM( igm_result, "making box" );

    Vector3d halfdim = dimensions.scale( 1.0 / 2.0 );
    iGeom_moveEnt( igm, box, halfdim.v[0], halfdim.v[1], halfdim.v[2], &igm_result );
    CHECK_IGEOM( igm_result, "moving box (halfdim)" );

    box = applyTransform( transform, igm, box );
    iBase_EntityHandle final_box = embedWithinWorld( positive, igm, world_size, box, false );

    return final_box;
  }

Member Data Documentation

Definition at line 503 of file volumes.cpp.

Reimplemented from SurfaceVolume.

Definition at line 504 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