Isis 3 Programmer 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...
 

Private Attributes

QString m_name
 
QSharedPointer< btCollisionObject > m_btbody
 ! The name of the body More...
 
btScalar m_maximumDistance
 ! The Bullet collision object for 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
History:
2017-03-17 Kris Becker Original Version

Definition at line 49 of file BulletTargetShape.h.

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.

Definition at line 45 of file BulletTargetShape.cpp.

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

Definition at line 55 of file BulletTargetShape.cpp.

References setMaximumDistance().

◆ ~BulletTargetShape()

Isis::BulletTargetShape::~BulletTargetShape ( )
virtual

Desctructor.

Definition at line 64 of file BulletTargetShape.cpp.

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.

Definition at line 167 of file BulletTargetShape.cpp.

References m_btbody.

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

Definition at line 101 of file BulletTargetShape.cpp.

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

Definition at line 147 of file BulletTargetShape.cpp.

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

Definition at line 134 of file BulletTargetShape.cpp.

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

Definition at line 122 of file BulletTargetShape.cpp.

Referenced by load().

◆ name()

QString Isis::BulletTargetShape::name ( ) const

Return name of the target shape.

Returns
QString The target name

Definition at line 88 of file BulletTargetShape.cpp.

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.

Definition at line 71 of file BulletTargetShape.cpp.

References m_btbody, and m_maximumDistance.

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.

Definition at line 173 of file BulletTargetShape.cpp.

References body(), m_btbody, and setMaximumDistance().

Referenced by Isis::BulletDskShape::loadFromDsk().

◆ 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

Definition at line 158 of file BulletTargetShape.cpp.

Member Data Documentation

◆ m_btbody

QSharedPointer<btCollisionObject> Isis::BulletTargetShape::m_btbody
private

! The name of the body

Definition at line 74 of file BulletTargetShape.h.

Referenced by body(), setMaximumDistance(), and setTargetBody().

◆ m_maximumDistance

btScalar Isis::BulletTargetShape::m_maximumDistance
private

! The Bullet collision object for the body

Definition at line 76 of file BulletTargetShape.h.

Referenced by setMaximumDistance().


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