Isis Developer Reference
Isis::BulletTargetShape Class Reference

Bullet Target Shape for planetary bodies. More...

#include <BulletTargetShape.h>

Inheritance diagram for Isis::BulletTargetShape:
Inheritance graph
Collaboration diagram for Isis::BulletTargetShape:
Collaboration graph

Public Member Functions

 BulletTargetShape ()
 Default empty constructor. More...
 
 BulletTargetShape (btCollisionObject *btbody, const QString &name="")
 Constructs a BulletTargetShape for a given a Bullet object. More...
 
virtual ~BulletTargetShape ()
 Desctructor. More...
 
QString name () const
 Return name of the target shape. More...
 
void writeBullet (const QString &btName) const
 Write a serialized version of the target shape to a Bullet file. More...
 
btCollisionObject * body () const
 Return a pointer to the Bullet target object/shape. More...
 
btScalar maximumDistance () const
 

Static Public Member Functions

static BulletTargetShapeload (const QString &dem, const Pvl *conf=0)
 Load a DEM file into the target shape. More...
 
static BulletTargetShapeloadPC (const QString &dem, const Pvl *conf=0)
 Load a point cloud type DEM in Bullet. More...
 
static BulletTargetShapeloadDSK (const QString &dem, const Pvl *conf=0)
 Load a DSK in Bullet. More...
 
static BulletTargetShapeloadCube (const QString &dem, const Pvl *conf=0)
 Load an ISIS cube type DEM in Bullet. More...
 

Protected Member Functions

void setTargetBody (btCollisionObject *body)
 Set the Bullet shape object to this object instance
More...
 
void setMaximumDistance ()
 Calculate and save the maximum distance across the body. More...
 

Detailed Description

Bullet Target Shape for planetary bodies.

This class contains the in memory representation of a body for use with the Bullet library. For each type of file that can be used to create a bullet target body, this class should be extended to manage that type of file.

Author
2017-03-17 Kris Becker

Constructor & Destructor Documentation

◆ BulletTargetShape() [1/2]

Isis::BulletTargetShape::BulletTargetShape ( )

Default empty constructor.

The filename defaults to an empty string and the maximum distance defaults to 0.

◆ BulletTargetShape() [2/2]

Isis::BulletTargetShape::BulletTargetShape ( btCollisionObject *  btbody,
const QString &  name = "" 
)

Constructs a BulletTargetShape for a given a Bullet object.

Parameters
btbodyThe Bullet collision object to contain.
nameThe name of the object.

References setMaximumDistance().

◆ ~BulletTargetShape()

Isis::BulletTargetShape::~BulletTargetShape ( )
virtual

Desctructor.

Member Function Documentation

◆ body()

btCollisionObject * Isis::BulletTargetShape::body ( ) const

Return a pointer to the Bullet target object/shape.

Returns
btCollisionObject A target to the Bullet collision object.

Referenced by Isis::BulletWorldManager::addTarget(), and setTargetBody().

◆ load()

BulletTargetShape * Isis::BulletTargetShape::load ( const QString &  dem,
const Pvl conf = 0 
)
static

Load a DEM file into the target shape.

Parameters
demThe DEM file to load.
confPVL config for the DEM load. Currently unused.
Returns
BulletTargetShape A target shape containing the DEM

References Isis::FileName::extension(), loadCube(), loadDSK(), and loadPC().

Referenced by Isis::BulletShapeModel::BulletShapeModel().

◆ loadCube()

BulletTargetShape * Isis::BulletTargetShape::loadCube ( const QString &  dem,
const Pvl conf = 0 
)
static

Load an ISIS cube type DEM in Bullet.

Note
Currently not implemented
Parameters
demThe DEM file to load.
confPVL config for the DEM load. Currently unused.
Returns
BulletTargetShape A target shape containing the DEM

Referenced by load().

◆ loadDSK()

BulletTargetShape * Isis::BulletTargetShape::loadDSK ( const QString &  dem,
const Pvl conf = 0 
)
static

Load a DSK in Bullet.

Parameters
demThe DEM file to load.
confPVL config for the DEM load. Currently unused.
Returns
BulletTargetShape A target shape containing the DEM

Referenced by load().

◆ loadPC()

BulletTargetShape * Isis::BulletTargetShape::loadPC ( const QString &  dem,
const Pvl conf = 0 
)
static

Load a point cloud type DEM in Bullet.

Note
Currently not implemented
Parameters
demThe DEM file to load.
confPVL config for the DEM load. Currently unused.
Returns
BulletTargetShape A target shape containing the DEM

Referenced by load().

◆ maximumDistance()

btScalar Isis::BulletTargetShape::maximumDistance ( ) const

◆ name()

QString Isis::BulletTargetShape::name ( ) const

Return name of the target shape.

Returns
QString The target name

Referenced by Isis::BulletShapeModel::BulletShapeModel(), and Isis::BulletWorldManager::getTarget().

◆ setMaximumDistance()

void Isis::BulletTargetShape::setMaximumDistance ( )
protected

Calculate and save the maximum distance across the body.

This is calculated as the distance from the x, y, z minimum to x, y, z maximum.

Referenced by Isis::BulletDskShape::BulletDskShape(), BulletTargetShape(), and setTargetBody().

◆ setTargetBody()

void Isis::BulletTargetShape::setTargetBody ( btCollisionObject *  body)
protected

Set the Bullet shape object to this object instance

References body(), and setMaximumDistance().

◆ writeBullet()

void Isis::BulletTargetShape::writeBullet ( const QString &  btName) const

Write a serialized version of the target shape to a Bullet file.

Parameters
btNameThe name of the file to write the target shape to.
Note
Currently not implemented

The documentation for this class was generated from the following files: