1#ifndef BulletTargetShape_h
2#define BulletTargetShape_h
10#include <QSharedPointer>
11#include <QScopedPointer>
14#include "IsisBullet.h"
15#include "BulletClosestRayCallback.h"
48 btCollisionObject *
body()
const;
50 btScalar maximumDistance()
const;
Bullet Target Shape for planetary bodies.
static BulletTargetShape * loadCube(const QString &dem, const Pvl *conf=0)
Load an ISIS cube type DEM in Bullet.
void setTargetBody(btCollisionObject *body)
Set the Bullet shape object to this object instance
static BulletTargetShape * loadDSK(const QString &dem, const Pvl *conf=0)
Load a DSK in Bullet.
btScalar m_maximumDistance
! The Bullet collision object for the body
btCollisionObject * body() const
Return a pointer to the Bullet target object/shape.
static BulletTargetShape * loadPC(const QString &dem, const Pvl *conf=0)
Load a point cloud type DEM in Bullet.
QSharedPointer< btCollisionObject > m_btbody
! The name of the body
void writeBullet(const QString &btName) const
Write a serialized version of the target shape to a Bullet file.
static BulletTargetShape * load(const QString &dem, const Pvl *conf=0)
Load a DEM file into the target shape.
QString name() const
Return name of the target shape.
void setMaximumDistance()
Calculate and save the maximum distance across the body.
BulletTargetShape()
Default empty constructor.
virtual ~BulletTargetShape()
Desctructor.
Container for cube-like labels.
This is free and unencumbered software released into the public domain.