Isis 3 Developer Reference
Isis::BulletDskShape Class Reference

Bullet Target Shape for NAIF type 2 DSK models. More...

#include <BulletDskShape.h>

Inheritance diagram for Isis::BulletDskShape:
Inheritance graph
Collaboration diagram for Isis::BulletDskShape:
Collaboration graph

Public Member Functions

 BulletDskShape ()
 Default empty constructor. More...
 
 BulletDskShape (const QString &dskfile)
 Construct a BulletDskShape from a DSK file. More...
 
virtual ~BulletDskShape ()
 Desctructor. More...
 
int getNumTriangles () const
 Return the number of triangles in the shape. More...
 
int getNumVertices () const
 Return the number of verticies in the shape. More...
 
virtual btVector3 getNormal (const int indexId, const int segment=0) const
 Return normal for a given triangle index. More...
 
virtual btMatrix3x3 getTriangle (const int index, const int segment=0) const
 Get the vertices of a triangle in the mesh. 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 NAIF type 2 DSK models.

Author
2017-03-17 Kris Becker

Constructor & Destructor Documentation

◆ BulletDskShape() [1/2]

Isis::BulletDskShape::BulletDskShape ( )

Default empty constructor.

◆ BulletDskShape() [2/2]

Isis::BulletDskShape::BulletDskShape ( const QString &  dskfile)

Construct a BulletDskShape from a DSK file.

Parameters
dskfileThe DSK file to load into a Bullet target shape.

References Isis::BulletTargetShape::setMaximumDistance().

◆ ~BulletDskShape()

Isis::BulletDskShape::~BulletDskShape ( )
virtual

Desctructor.

Member Function Documentation

◆ body()

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

Return a pointer to the Bullet target object/shape.

Returns
btCollisionObject A target to the Bullet collision object.

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

◆ getNormal()

btVector3 Isis::BulletDskShape::getNormal ( const int  indexId,
const int  segment = 0 
) const
virtual

Return normal for a given triangle index.

This method is particularly useful to return the normal of a triangle plate in a mesh-based target body.

Author
2017-03-28 Kris Becker
Parameters
indexIdThe index of the triangle in the mesh.
Returns
btVector3 The local normal for the triangle.

References getTriangle().

◆ getNumTriangles()

int Isis::BulletDskShape::getNumTriangles ( ) const

Return the number of triangles in the shape.

Returns
int The number of triangles. If nothing has been loaded, then 0 is returned.

◆ getNumVertices()

int Isis::BulletDskShape::getNumVertices ( ) const

Return the number of verticies in the shape.

Returns
int The number of verticies. If nothing has been loaded, then 0 is returned.

◆ getTriangle()

btMatrix3x3 Isis::BulletDskShape::getTriangle ( const int  index,
const int  segment = 0 
) const
virtual

Get the vertices of a triangle in the mesh.

Parameters
indexThe index of the triangle in the mesh.
Returns
btMatrix3x3 Matrix with each row containing the coordinate of a vertex. The vertices are ordered counter-clockwise around the surface normal of the triangle.

Referenced by getNormal().

◆ load()

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

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(), Isis::BulletTargetShape::loadCube(), Isis::BulletTargetShape::loadDSK(), and Isis::BulletTargetShape::loadPC().

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

◆ loadCube()

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

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 Isis::BulletTargetShape::load().

◆ loadDSK()

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

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 Isis::BulletTargetShape::load().

◆ loadPC()

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

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 Isis::BulletTargetShape::load().

◆ maximumDistance()

btScalar Isis::BulletTargetShape::maximumDistance ( ) const
inherited

◆ name()

QString Isis::BulletTargetShape::name ( ) const
inherited

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 ( )
protectedinherited

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 BulletDskShape(), Isis::BulletTargetShape::BulletTargetShape(), and Isis::BulletTargetShape::setTargetBody().

◆ setTargetBody()

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

Set the Bullet shape object to this object instance.

References Isis::BulletTargetShape::body(), and Isis::BulletTargetShape::setMaximumDistance().

◆ writeBullet()

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

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: