Isis 3 Programmer Reference
BulletDskShape.h
1 #ifndef BulletDskShape_h
2 #define BulletDskShape_h
3 
8 /* SPDX-License-Identifier: CC0-1.0 */
9 
10 #include <QScopedPointer>
11 #include <QString>
12 #include <QVector>
13 
14 #include "BulletTargetShape.h"
15 #include "BulletClosestRayCallback.h"
16 
17 namespace Isis {
18 
27  public:
29  BulletDskShape(const QString &dskfile);
30  virtual ~BulletDskShape();
31 
32  int getNumTriangles() const;
33  int getNumVertices() const;
34 
35  virtual btVector3 getNormal(const int indexId, const int segment=0) const;
36  virtual btMatrix3x3 getTriangle(const int index, const int segment=0) const;
37 
38  private:
45  // Custom DSK reader
46  void loadFromDsk(const QString &dskfile);
47 
48  };
49 
50 } // namespace Isis
51 
52 #endif
Isis::BulletDskShape::getNormal
virtual btVector3 getNormal(const int indexId, const int segment=0) const
Return normal for a given triangle index.
Definition: BulletDskShape.cpp:113
Isis::BulletDskShape::BulletDskShape
BulletDskShape()
Default empty constructor.
Definition: BulletDskShape.cpp:34
Isis::BulletDskShape::getNumTriangles
int getNumTriangles() const
Return the number of triangles in the shape.
Definition: BulletDskShape.cpp:70
QSharedPointer< btTriangleIndexVertexArray >
Isis::BulletDskShape
Bullet Target Shape for NAIF type 2 DSK models.
Definition: BulletDskShape.h:26
Isis::BulletDskShape::getTriangle
virtual btMatrix3x3 getTriangle(const int index, const int segment=0) const
Get the vertices of a triangle in the mesh.
Definition: BulletDskShape.cpp:130
Isis::BulletDskShape::loadFromDsk
void loadFromDsk(const QString &dskfile)
! Triangular mesh representation of the target shape.
Definition: BulletDskShape.cpp:162
Isis::BulletDskShape::getNumVertices
int getNumVertices() const
Return the number of verticies in the shape.
Definition: BulletDskShape.cpp:88
Isis::BulletDskShape::~BulletDskShape
virtual ~BulletDskShape()
Desctructor.
Definition: BulletDskShape.cpp:51
Isis::BulletTargetShape
Bullet Target Shape for planetary bodies.
Definition: BulletTargetShape.h:33
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16