Isis 3 Programmer Reference
|
Bullet Target Shape for NAIF type 2 DSK models. More...
#include <BulletDskShape.h>
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 BulletTargetShape * | load (const QString &dem, const Pvl *conf=0) |
Load a DEM file into the target shape. More... | |
static BulletTargetShape * | loadPC (const QString &dem, const Pvl *conf=0) |
Load a point cloud type DEM in Bullet. More... | |
static BulletTargetShape * | loadDSK (const QString &dem, const Pvl *conf=0) |
Load a DSK in Bullet. More... | |
static BulletTargetShape * | loadCube (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 Member Functions | |
void | loadFromDsk (const QString &dskfile) |
! Triangular mesh representation of the target shape. More... | |
Private Attributes | |
QSharedPointer< btTriangleIndexVertexArray > | m_mesh |
QString | m_name |
QSharedPointer< btCollisionObject > | m_btbody |
! The name of the body More... | |
btScalar | m_maximumDistance |
! The Bullet collision object for the body More... | |
Bullet Target Shape for NAIF type 2 DSK models.
Definition at line 26 of file BulletDskShape.h.
Isis::BulletDskShape::BulletDskShape | ( | ) |
Default empty constructor.
Definition at line 34 of file BulletDskShape.cpp.
Isis::BulletDskShape::BulletDskShape | ( | const QString & | dskfile | ) |
Construct a BulletDskShape from a DSK file.
dskfile | The DSK file to load into a Bullet target shape. |
Definition at line 42 of file BulletDskShape.cpp.
References loadFromDsk(), and Isis::BulletTargetShape::setMaximumDistance().
|
virtual |
Desctructor.
Definition at line 51 of file BulletDskShape.cpp.
|
inherited |
Return a pointer to the Bullet target object/shape.
Definition at line 150 of file BulletTargetShape.cpp.
References Isis::BulletTargetShape::m_btbody.
Referenced by Isis::BulletWorldManager::addTarget(), and Isis::BulletTargetShape::setTargetBody().
|
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.
indexId | The index of the triangle in the mesh. |
Definition at line 113 of file BulletDskShape.cpp.
References getTriangle().
int Isis::BulletDskShape::getNumTriangles | ( | ) | const |
Return the number of triangles in the shape.
Definition at line 70 of file BulletDskShape.cpp.
int Isis::BulletDskShape::getNumVertices | ( | ) | const |
Return the number of verticies in the shape.
Definition at line 88 of file BulletDskShape.cpp.
|
virtual |
Get the vertices of a triangle in the mesh.
index | The index of the triangle in the mesh. |
Definition at line 130 of file BulletDskShape.cpp.
Referenced by getNormal().
|
staticinherited |
Load a DEM file into the target shape.
dem | The DEM file to load. |
conf | PVL config for the DEM load. Currently unused. |
Definition at line 84 of file BulletTargetShape.cpp.
References Isis::FileName::extension(), Isis::BulletTargetShape::loadCube(), Isis::BulletTargetShape::loadDSK(), and Isis::BulletTargetShape::loadPC().
Referenced by Isis::BulletShapeModel::BulletShapeModel().
|
staticinherited |
Load an ISIS cube type DEM in Bullet.
dem | The DEM file to load. |
conf | PVL config for the DEM load. Currently unused. |
Definition at line 130 of file BulletTargetShape.cpp.
Referenced by Isis::BulletTargetShape::load().
|
staticinherited |
Load a DSK in Bullet.
dem | The DEM file to load. |
conf | PVL config for the DEM load. Currently unused. |
Definition at line 117 of file BulletTargetShape.cpp.
Referenced by Isis::BulletTargetShape::load().
|
private |
! Triangular mesh representation of the target shape.
Load the contents of a NAIF DSK and create a Bullet triangle mesh.
The vertex ordering is the same as in the DSK file, except the DSK uses 1-based indexing and this uses 0-based indexing.
dskfile | The DSK file to load. |
NAIF DSK parameter setup
< The DAS file handle of the DSK file.
Definition at line 162 of file BulletDskShape.cpp.
References Isis::NaifStatus::CheckErrors(), Isis::FileName::expanded(), Isis::FileName::fileExists(), Isis::BulletTargetShape::setTargetBody(), and Isis::IException::User.
Referenced by BulletDskShape().
|
staticinherited |
Load a point cloud type DEM in Bullet.
dem | The DEM file to load. |
conf | PVL config for the DEM load. Currently unused. |
Definition at line 105 of file BulletTargetShape.cpp.
Referenced by Isis::BulletTargetShape::load().
|
inherited |
Return name of the target shape.
Definition at line 71 of file BulletTargetShape.cpp.
Referenced by Isis::BulletShapeModel::BulletShapeModel(), and Isis::BulletWorldManager::getTarget().
|
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.
Definition at line 54 of file BulletTargetShape.cpp.
References Isis::BulletTargetShape::m_btbody, and Isis::BulletTargetShape::m_maximumDistance.
Referenced by BulletDskShape(), Isis::BulletTargetShape::BulletTargetShape(), and Isis::BulletTargetShape::setTargetBody().
|
protectedinherited |
Set the Bullet shape object to this object instance
Definition at line 156 of file BulletTargetShape.cpp.
References Isis::BulletTargetShape::body(), Isis::BulletTargetShape::m_btbody, and Isis::BulletTargetShape::setMaximumDistance().
Referenced by loadFromDsk().
|
inherited |
Write a serialized version of the target shape to a Bullet file.
btName | The name of the file to write the target shape to. |
Definition at line 141 of file BulletTargetShape.cpp.
|
privateinherited |
! The name of the body
Definition at line 58 of file BulletTargetShape.h.
Referenced by Isis::BulletTargetShape::body(), Isis::BulletTargetShape::setMaximumDistance(), and Isis::BulletTargetShape::setTargetBody().
|
privateinherited |
! The Bullet collision object for the body
Definition at line 60 of file BulletTargetShape.h.
Referenced by Isis::BulletTargetShape::setMaximumDistance().