cgma
|
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 |
Definition at line 500 of file volumes.cpp.
BoxVolume::BoxVolume | ( | const Vector3d & | corner, |
const Vector3d & | v1, | ||
const Vector3d & | v2, | ||
const Vector3d & | v3 | ||
) | [inline] |
Definition at line 507 of file volumes.cpp.
virtual double BoxVolume::getFarthestExtentFromOrigin | ( | ) | const [inline, virtual] |
Implements SurfaceVolume.
Definition at line 511 of file volumes.cpp.
{ return transform.getTranslation().length() + dimensions.length(); }
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; }
Vector3d BoxVolume::dimensions [protected] |
Definition at line 503 of file volumes.cpp.
Transform BoxVolume::transform [protected] |
Reimplemented from SurfaceVolume.
Definition at line 504 of file volumes.cpp.