|
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.