![]() |
Isis 3 Programmer Reference
|
Bullet Target Shape for NAIF type 2 DSK models. More...
#include <BulletDskShape.h>


Public Member Functions | |
| BulletDskShape () | |
| Default empty constructor. | |
| BulletDskShape (const QString &dskfile) | |
| Construct a BulletDskShape from a DSK file. | |
| virtual | ~BulletDskShape () |
| Desctructor. | |
| int | getNumTriangles () const |
| Return the number of triangles in the shape. | |
| int | getNumVertices () const |
| Return the number of verticies in the shape. | |
| virtual btVector3 | getNormal (const int indexId, const int segment=0) const |
| Return normal for a given triangle index. | |
| virtual btMatrix3x3 | getTriangle (const int index, const int segment=0) const |
| Get the vertices of a triangle in the mesh. | |
| QString | name () const |
| Return name of the target shape. | |
| void | writeBullet (const QString &btName) const |
| Write a serialized version of the target shape to a Bullet file. | |
| btCollisionObject * | body () const |
| Return a pointer to the Bullet target object/shape. | |
| 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. | |
| static BulletTargetShape * | loadPC (const QString &dem, const Pvl *conf=0) |
| Load a point cloud type DEM in Bullet. | |
| static BulletTargetShape * | loadDSK (const QString &dem, const Pvl *conf=0) |
| Load a DSK in Bullet. | |
| static BulletTargetShape * | loadCube (const QString &dem, const Pvl *conf=0) |
| Load an ISIS cube type DEM in Bullet. | |
Protected Member Functions | |
| void | setTargetBody (btCollisionObject *body) |
| Set the Bullet shape object to this object instance | |
| void | setMaximumDistance () |
| Calculate and save the maximum distance across the body. | |
Private Member Functions | |
| void | loadFromDsk (const QString &dskfile) |
| ! Triangular mesh representation of the target shape. | |
Private Attributes | |
| QSharedPointer< btTriangleIndexVertexArray > | m_mesh |
| QString | m_name |
| QSharedPointer< btCollisionObject > | m_btbody |
| ! The name of the body | |
| btScalar | m_maximumDistance |
| ! The Bullet collision object for the body | |
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::BulletTargetShape::loadCube(), Isis::BulletTargetShape::loadDSK(), and Isis::BulletTargetShape::loadPC().
Referenced by Isis::BulletShapeModel::BulletShapeModel(), and Isis::ShapeModelFactory::create().
|
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::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 |
Definition at line 163 of file BulletTargetShape.cpp.
|
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().
|
private |
Definition at line 39 of file BulletDskShape.h.
|
privateinherited |
Definition at line 57 of file BulletTargetShape.h.