Revision: 69012
http://sourceforge.net/p/brlcad/code/69012
Author: ejno
Date: 2016-10-11 02:38:23 +0000 (Tue, 11 Oct 2016)
Log Message:
-----------
check magic in TreeUpdater; syntactic tweaks; fix in progress
Modified Paths:
--------------
brlcad/trunk/src/libged/simulate/collision.cpp
brlcad/trunk/src/libged/simulate/collision.hpp
brlcad/trunk/src/libged/simulate/interface.cpp
brlcad/trunk/src/libged/simulate/physics_world.cpp
brlcad/trunk/src/libged/simulate/physics_world.hpp
brlcad/trunk/src/libged/simulate/rt_instance.cpp
brlcad/trunk/src/libged/simulate/rt_instance.hpp
brlcad/trunk/src/libged/simulate/simulation.cpp
brlcad/trunk/src/libged/simulate/simulation.hpp
brlcad/trunk/src/libged/simulate/utility.hpp
brlcad/trunk/src/libged/simulate/world_object.cpp
brlcad/trunk/src/libged/simulate/world_object.hpp
Modified: brlcad/trunk/src/libged/simulate/collision.cpp
===================================================================
--- brlcad/trunk/src/libged/simulate/collision.cpp 2016-10-09 01:34:28 UTC
(rev 69011)
+++ brlcad/trunk/src/libged/simulate/collision.cpp 2016-10-11 02:38:23 UTC
(rev 69012)
@@ -37,7 +37,7 @@
HIDDEN bool
-path_match(const char *full_path, const char *toplevel_path)
+path_match(const char *full_path, const char * const toplevel_path)
{
if (*full_path++ != '/') return false;
@@ -83,8 +83,8 @@
HIDDEN void
-on_multioverlap(application *app, partition *partition1, bu_ptbl *region_table,
- partition *partition2)
+on_multioverlap(application * const app, partition * const partition1,
+ bu_ptbl * const region_table, partition * const partition2)
{
OverlapHandlerArgs &args = *static_cast<OverlapHandlerArgs *>(app->a_uptr);
@@ -98,7 +98,7 @@
app->a_ray.r_dir);
VJOIN1(point_on_b, app->a_ray.r_pt, partition1->pt_outhit->hit_dist,
app->a_ray.r_dir);
- btScalar depth = -DIST_PT_PT(point_on_a, point_on_b);
+ fastf_t depth = -DIST_PT_PT(point_on_a, point_on_b);
args.result.addContactPoint(args.normal_world_on_b, point_on_b, depth);
// handle the overlap
@@ -151,12 +151,12 @@
// radius of the circle of rays
// half of the diagonal of the overlap rpp so that rays will cover
// the entire volume from all orientations
- btScalar radius = (overlap_max - overlap_min).length() / 2.0;
+ const fastf_t radius = (overlap_max - overlap_min).length() / 2.0;
// calculate the origin of the center ray
{
// center of the overlap volume
- btVector3 overlap_center = (overlap_min + overlap_max) / 2.0;
+ const btVector3 overlap_center = (overlap_min + overlap_max) / 2.0;
// step back from overlap_center, along the normal by `radius`,
// to ensure that rays start from outside of the overlap region
@@ -177,7 +177,7 @@
}
// equivalent to Bullet's collision tolerance (4mm after scaling is
enabled)
- const btScalar grid_size = 4.0;
+ const fastf_t grid_size = 4.0;
rt_gen_circular_grid(rays, ¢er_ray, radius, up_vect, grid_size);
}
@@ -240,7 +240,8 @@
void
-RtCollisionShape::calculateLocalInertia(btScalar mass, btVector3 &inertia)
const
+RtCollisionShape::calculateLocalInertia(const btScalar mass,
+ btVector3 &inertia) const
{
// in most cases we can approximate the inertia tensor with that of a
bounding box
btBoxShape::calculateLocalInertia(mass, inertia);
@@ -268,16 +269,17 @@
const btCollisionObjectWrapper *body_a_wrap,
const btCollisionObjectWrapper *body_b_wrap)
{
- void *ptr = cinfo.m_dispatcher1->allocateCollisionAlgorithm(sizeof(
- RtCollisionAlgorithm));
+ void * const ptr = cinfo.m_dispatcher1->allocateCollisionAlgorithm(sizeof(
+ RtCollisionAlgorithm));
return new(ptr) RtCollisionAlgorithm(NULL, cinfo, body_a_wrap,
body_b_wrap);
}
-RtCollisionAlgorithm::RtCollisionAlgorithm(btPersistentManifold *manifold,
+RtCollisionAlgorithm::RtCollisionAlgorithm(btPersistentManifold * const
+ manifold,
const btCollisionAlgorithmConstructionInfo &cinfo,
- const btCollisionObjectWrapper *body_a_wrap,
- const btCollisionObjectWrapper *body_b_wrap) :
+ const btCollisionObjectWrapper * const body_a_wrap,
+ const btCollisionObjectWrapper * const body_b_wrap) :
btActivatingCollisionAlgorithm(cinfo, body_a_wrap, body_b_wrap),
m_owns_manifold(false),
m_manifold(manifold)
@@ -300,10 +302,10 @@
void
-RtCollisionAlgorithm::processCollision(const btCollisionObjectWrapper
- *body_a_wrap,
- const btCollisionObjectWrapper
*body_b_wrap,
- const btDispatcherInfo &,
btManifoldResult *result)
+RtCollisionAlgorithm::processCollision(const btCollisionObjectWrapper * const
+ body_a_wrap,
+ const btCollisionObjectWrapper * const
body_b_wrap,
+ const btDispatcherInfo &,
btManifoldResult * const result)
{
if (!m_manifold)
return;
Modified: brlcad/trunk/src/libged/simulate/collision.hpp
===================================================================
--- brlcad/trunk/src/libged/simulate/collision.hpp 2016-10-09 01:34:28 UTC
(rev 69011)
+++ brlcad/trunk/src/libged/simulate/collision.hpp 2016-10-11 02:38:23 UTC
(rev 69012)
@@ -47,8 +47,8 @@
static const int RT_SHAPE_TYPE = CUSTOM_POLYHEDRAL_SHAPE_TYPE;
- RtCollisionShape(const TreeUpdater &tree_updater, const std::string
&db_path,
- const btVector3 &half_extents);
+ explicit RtCollisionShape(const TreeUpdater &tree_updater,
+ const std::string &db_path, const btVector3
&half_extents);
virtual const char *getName() const;
virtual void calculateLocalInertia(btScalar mass, btVector3 &inertia)
const;
@@ -66,10 +66,10 @@
class RtCollisionAlgorithm : public btActivatingCollisionAlgorithm
{
public:
- RtCollisionAlgorithm(btPersistentManifold *manifold,
- const btCollisionAlgorithmConstructionInfo &cinfo,
- const btCollisionObjectWrapper *body_a_wrap,
- const btCollisionObjectWrapper *body_b_wrap);
+ explicit RtCollisionAlgorithm(btPersistentManifold *manifold,
+ const btCollisionAlgorithmConstructionInfo
&cinfo,
+ const btCollisionObjectWrapper *body_a_wrap,
+ const btCollisionObjectWrapper *body_b_wrap);
virtual ~RtCollisionAlgorithm();
Modified: brlcad/trunk/src/libged/simulate/interface.cpp
===================================================================
--- brlcad/trunk/src/libged/simulate/interface.cpp 2016-10-09 01:34:28 UTC
(rev 69011)
+++ brlcad/trunk/src/libged/simulate/interface.cpp 2016-10-11 02:38:23 UTC
(rev 69012)
@@ -37,7 +37,7 @@
int
-ged_simulate(ged *gedp, int argc, const char **argv)
+ged_simulate(ged * const gedp, const int argc, const char ** const argv)
{
GED_CHECK_DATABASE_OPEN(gedp, GED_ERROR);
GED_CHECK_ARGC_GT_0(gedp, argc, GED_ERROR);
@@ -48,15 +48,15 @@
return GED_ERROR;
}
- directory *dir = db_lookup(gedp->ged_wdbp->dbip, argv[1], LOOKUP_NOISY);
+ directory * const dir = db_lookup(gedp->ged_wdbp->dbip, argv[1], true);
if (!dir) return GED_ERROR;
try {
- btScalar seconds = simulate::lexical_cast<btScalar>(argv[2],
- std::invalid_argument("invalid value for
'seconds'"));
+ const fastf_t seconds = simulate::lexical_cast<btScalar>(argv[2],
+ std::invalid_argument("invalid value for
'seconds'"));
- if (seconds < 0.0) throw std::runtime_error("invalid value for
'seconds'");
+ if (seconds < 0.0) throw std::invalid_argument("invalid value for
'seconds'");
simulate::Simulation simulation(*gedp->ged_wdbp->dbip, *dir);
simulation.step(seconds);
@@ -79,7 +79,7 @@
int
-ged_simulate(ged *gedp, int argc, const char **argv)
+ged_simulate(ged * const gedp, const int argc, const char ** const argv)
{
GED_CHECK_DATABASE_OPEN(gedp, GED_ERROR);
GED_CHECK_ARGC_GT_0(gedp, argc, GED_ERROR);
Modified: brlcad/trunk/src/libged/simulate/physics_world.cpp
===================================================================
--- brlcad/trunk/src/libged/simulate/physics_world.cpp 2016-10-09 01:34:28 UTC
(rev 69011)
+++ brlcad/trunk/src/libged/simulate/physics_world.cpp 2016-10-11 02:38:23 UTC
(rev 69012)
@@ -51,9 +51,9 @@
void
-PhysicsWorld::step(btScalar seconds)
+PhysicsWorld::step(fastf_t seconds)
{
- for (int i = 0; i < 600.0 * seconds; ++i)
+ for (unsigned i = 0; i < 600.0 * seconds; ++i)
m_world.stepSimulation(1.0 / 600.0, 6000);
}
Modified: brlcad/trunk/src/libged/simulate/physics_world.hpp
===================================================================
--- brlcad/trunk/src/libged/simulate/physics_world.hpp 2016-10-09 01:34:28 UTC
(rev 69011)
+++ brlcad/trunk/src/libged/simulate/physics_world.hpp 2016-10-11 02:38:23 UTC
(rev 69012)
@@ -30,6 +30,8 @@
#include "common.h"
+#include "bu/defines.h"
+
#include <btBulletDynamicsCommon.h>
@@ -40,10 +42,10 @@
class PhysicsWorld
{
public:
- PhysicsWorld();
+ explicit PhysicsWorld();
virtual ~PhysicsWorld();
- void step(btScalar seconds);
+ void step(fastf_t seconds);
void add_rigid_body(btRigidBody &rigid_body);
void remove_rigid_body(btRigidBody &rigid_body);
Modified: brlcad/trunk/src/libged/simulate/rt_instance.cpp
===================================================================
--- brlcad/trunk/src/libged/simulate/rt_instance.cpp 2016-10-09 01:34:28 UTC
(rev 69011)
+++ brlcad/trunk/src/libged/simulate/rt_instance.cpp 2016-10-11 02:38:23 UTC
(rev 69012)
@@ -31,7 +31,9 @@
#include "rt_instance.hpp"
+#include <stdexcept>
+
namespace
{
@@ -39,8 +41,7 @@
HIDDEN rt_db_internal
duplicate_comb_internal(const rt_db_internal &source)
{
- if (source.idb_minor_type != ID_COMBINATION)
- throw std::invalid_argument("source is not a combination");
+ RT_CK_DB_INTERNAL(&source);
rt_db_internal dest = source;
BU_GET(dest.idb_ptr, rt_comb_internal);
@@ -52,6 +53,8 @@
(source.idb_ptr);
rt_comb_internal &dest_comb = *static_cast<rt_comb_internal
*>(dest.idb_ptr);
+ RT_CK_COMB(&source_comb);
+
dest_comb = source_comb;
BU_VLS_INIT(&dest_comb.shader);
BU_VLS_INIT(&dest_comb.material);
@@ -65,14 +68,13 @@
HIDDEN void
-write_comb_internal(db_i &db_instance, directory &vdirectory,
+write_comb_internal(db_i &db, directory &dir,
const rt_db_internal &comb_internal)
{
rt_db_internal temp_internal = duplicate_comb_internal(comb_internal);
- if (rt_db_put_internal(&vdirectory, &db_instance, &temp_internal,
- &rt_uniresource) < 0)
+ if (rt_db_put_internal(&dir, &db, &temp_internal, &rt_uniresource) < 0)
throw std::runtime_error("rt_db_put_internal() failed");
}
@@ -84,26 +86,25 @@
{
-TreeUpdater::TreeUpdater(db_i &db_instance, directory &vdirectory) :
- m_db_instance(db_instance),
- m_directory(vdirectory),
+TreeUpdater::TreeUpdater(db_i &db, directory &dir) :
+ m_db(db),
+ m_dir(dir),
m_comb_internal(),
m_is_modified(false),
m_rt_instance(NULL)
{
- if (rt_db_get_internal(&m_comb_internal, &m_directory, &m_db_instance,
- bn_mat_identity, &rt_uniresource) < 0)
+ if (rt_db_get_internal(&m_comb_internal, &m_dir, &m_db, bn_mat_identity,
+ &rt_uniresource) < 0)
throw std::runtime_error("rt_db_get_internal() failed");
- if (m_comb_internal.idb_minor_type != ID_COMBINATION)
- throw std::invalid_argument("object is not a combination");
+ RT_CK_COMB(m_comb_internal.idb_ptr);
}
TreeUpdater::~TreeUpdater()
{
if (m_is_modified)
- write_comb_internal(m_db_instance, m_directory, m_comb_internal);
+ write_comb_internal(m_db, m_dir, m_comb_internal);
if (m_rt_instance)
rt_free_rti(m_rt_instance);
@@ -130,19 +131,19 @@
TreeUpdater::get_rt_instance() const
{
if (m_is_modified)
- write_comb_internal(m_db_instance, m_directory, m_comb_internal);
+ write_comb_internal(m_db, m_dir, m_comb_internal);
else if (m_rt_instance)
return *m_rt_instance;
if (m_rt_instance)
rt_free_rti(m_rt_instance);
- m_rt_instance = rt_new_rti(&m_db_instance);
+ m_rt_instance = rt_new_rti(&m_db);
if (!m_rt_instance)
throw std::runtime_error("rt_new_rti() failed");
- if (rt_gettree(m_rt_instance, m_directory.d_namep) != 0) {
+ if (rt_gettree(m_rt_instance, m_dir.d_namep) != 0) {
rt_free_rti(m_rt_instance);
m_rt_instance = NULL;
throw std::runtime_error("rt_gettree() failed");
Modified: brlcad/trunk/src/libged/simulate/rt_instance.hpp
===================================================================
--- brlcad/trunk/src/libged/simulate/rt_instance.hpp 2016-10-09 01:34:28 UTC
(rev 69011)
+++ brlcad/trunk/src/libged/simulate/rt_instance.hpp 2016-10-11 02:38:23 UTC
(rev 69012)
@@ -30,8 +30,6 @@
#include "common.h"
-#include <stdexcept>
-
#include "raytrace.h"
@@ -42,7 +40,7 @@
class TreeUpdater
{
public:
- TreeUpdater(db_i &db_instance, directory &vdirectory);
+ explicit TreeUpdater(db_i &db, directory &dir);
~TreeUpdater();
void mark_modified();
@@ -54,8 +52,8 @@
TreeUpdater(const TreeUpdater &source);
TreeUpdater &operator=(const TreeUpdater &source);
- db_i &m_db_instance;
- directory &m_directory;
+ db_i &m_db;
+ directory &m_dir;
rt_db_internal m_comb_internal;
mutable bool m_is_modified;
Modified: brlcad/trunk/src/libged/simulate/simulation.cpp
===================================================================
--- brlcad/trunk/src/libged/simulate/simulation.cpp 2016-10-09 01:34:28 UTC
(rev 69011)
+++ brlcad/trunk/src/libged/simulate/simulation.cpp 2016-10-11 02:38:23 UTC
(rev 69012)
@@ -38,13 +38,16 @@
{
-Simulation::Simulation(db_i &db_instance, directory &vdirectory) :
- m_db_instance(db_instance),
- m_directory(vdirectory),
- m_tree_updater(db_instance, m_directory),
+Simulation::Simulation(db_i &db, directory &dir) :
+ m_db(db),
+ m_dir(dir),
+ m_tree_updater(db, m_dir),
m_objects()
{
- if (m_directory.d_minor_type != ID_COMBINATION)
+ RT_CK_DBI(&m_db);
+ RT_CK_DIR(&m_dir);
+
+ if (m_dir.d_minor_type != ID_COMBINATION)
throw std::runtime_error("object is not a combination");
tree * const vtree = m_tree_updater.get_tree();
@@ -81,7 +84,7 @@
{
switch (vtree.tr_op) {
case OP_DB_LEAF: {
- directory *dir = db_lookup(&m_db_instance, vtree.tr_l.tl_name,
LOOKUP_NOISY);
+ directory * const dir = db_lookup(&m_db, vtree.tr_l.tl_name, true);
if (!dir) throw std::runtime_error("db_lookup() failed");
@@ -90,7 +93,7 @@
MAT_IDN(vtree.tr_l.tl_mat);
}
- WorldObject * const object = WorldObject::create(m_db_instance,
*dir,
+ WorldObject * const object = WorldObject::create(m_db, *dir,
vtree.tr_l.tl_mat, m_tree_updater);
m_objects.push_back(object);
object->add_to_world(m_world);
Modified: brlcad/trunk/src/libged/simulate/simulation.hpp
===================================================================
--- brlcad/trunk/src/libged/simulate/simulation.hpp 2016-10-09 01:34:28 UTC
(rev 69011)
+++ brlcad/trunk/src/libged/simulate/simulation.hpp 2016-10-11 02:38:23 UTC
(rev 69012)
@@ -41,15 +41,15 @@
class Simulation : public PhysicsWorld
{
public:
- Simulation(db_i &db_instance, directory &vdirectory);
+ explicit Simulation(db_i &db_instance, directory &dir);
virtual ~Simulation();
private:
void get_tree_objects(tree &vtree);
- db_i &m_db_instance;
- directory &m_directory;
+ db_i &m_db;
+ directory &m_dir;
TreeUpdater m_tree_updater;
std::vector<WorldObject *> m_objects;
};
Modified: brlcad/trunk/src/libged/simulate/utility.hpp
===================================================================
--- brlcad/trunk/src/libged/simulate/utility.hpp 2016-10-09 01:34:28 UTC
(rev 69011)
+++ brlcad/trunk/src/libged/simulate/utility.hpp 2016-10-11 02:38:23 UTC
(rev 69012)
@@ -48,7 +48,7 @@
}
-template<typename Target, typename Source>
+template <typename Target, typename Source>
Target lexical_cast(Source arg,
const std::exception &exception =
std::invalid_argument("bad lexical_cast"))
{
Modified: brlcad/trunk/src/libged/simulate/world_object.cpp
===================================================================
--- brlcad/trunk/src/libged/simulate/world_object.cpp 2016-10-09 01:34:28 UTC
(rev 69011)
+++ brlcad/trunk/src/libged/simulate/world_object.cpp 2016-10-11 02:38:23 UTC
(rev 69012)
@@ -41,13 +41,13 @@
HIDDEN std::pair<btVector3, btVector3>
-get_bounding_box(db_i &db_instance, directory &dir)
+get_bounding_box(db_i &db, directory &dir)
{
btVector3 bounding_box_min, bounding_box_max;
{
point_t bb_min, bb_max;
- if (rt_bound_internal(&db_instance, &dir, bb_min, bb_max))
+ if (rt_bound_internal(&db, &dir, bb_min, bb_max))
throw std::runtime_error("failed to get bounding box");
VMOVE(bounding_box_min, bb_min);
@@ -60,12 +60,12 @@
}
-HIDDEN btScalar
-get_volume(db_i &db_instance, directory &dir)
+HIDDEN fastf_t
+get_volume(db_i &db, directory &dir)
{
rt_db_internal internal;
- if (rt_db_get_internal(&internal, &dir, &db_instance, bn_mat_identity,
+ if (rt_db_get_internal(&internal, &dir, &db, bn_mat_identity,
&rt_uniresource) < 0)
throw std::runtime_error("rt_db_get_internal() failed");
@@ -79,7 +79,7 @@
}
// approximate volume using the bounding box
- btVector3 bounding_box_dims = get_bounding_box(db_instance, dir).second;
+ btVector3 bounding_box_dims = get_bounding_box(db, dir).second;
return bounding_box_dims.getX() * bounding_box_dims.getY() *
bounding_box_dims.getZ();
}
@@ -97,7 +97,7 @@
for (int i = 0; i < 3; ++i) {
std::string value;
std::getline(stream, value, i != 2 ? ',' : '>');
- result[i] = simulate::lexical_cast<btScalar>(value,
+ result[i] = simulate::lexical_cast<fastf_t>(value,
std::invalid_argument("invalid vector"));
}
@@ -110,7 +110,7 @@
HIDDEN btRigidBody::btRigidBodyConstructionInfo
build_construction_info(btMotionState &motion_state,
- btCollisionShape &collision_shape, btScalar mass)
+ btCollisionShape &collision_shape, fastf_t mass)
{
btVector3 inertia;
collision_shape.calculateLocalInertia(mass, inertia);
@@ -126,8 +126,8 @@
{
-MatrixMotionState::MatrixMotionState(mat_t matrix, const btVector3 &origin,
- TreeUpdater &tree_updater) :
+MatrixMotionState::MatrixMotionState(fastf_t * const matrix,
+ const btVector3 &origin, TreeUpdater
&tree_updater) :
m_matrix(matrix),
m_origin(origin),
m_tree_updater(tree_updater)
@@ -175,14 +175,13 @@
WorldObject *
-WorldObject::create(db_i &db_instance, directory &vdirectory, mat_t matrix,
+WorldObject::create(db_i &db, directory &dir, fastf_t * const matrix,
TreeUpdater &tree_updater)
{
btVector3 linear_velocity(0.0, 0.0, 0.0), angular_velocity(0.0, 0.0, 0.0);
- btScalar mass;
+ fastf_t mass;
- std::pair<btVector3, btVector3> bounding_box =
get_bounding_box(db_instance,
- vdirectory);
+ std::pair<btVector3, btVector3> bounding_box = get_bounding_box(db, dir);
// apply matrix scaling
bounding_box.second[X] *= 1.0 / matrix[MSX];
bounding_box.second[Y] *= 1.0 / matrix[MSY];
@@ -190,13 +189,13 @@
bounding_box.second *= 1.0 / matrix[MSA];
{
- const btScalar density = 1.0;
- mass = density * get_volume(db_instance, vdirectory);
+ const fastf_t density = 1.0;
+ mass = density * get_volume(db, dir);
bu_attribute_value_set obj_avs;
BU_AVS_INIT(&obj_avs);
- if (db5_get_attributes(&db_instance, &obj_avs, &vdirectory) < 0)
+ if (db5_get_attributes(&db, &obj_avs, &dir) < 0)
throw std::runtime_error("db5_get_attributes() failed");
simulate::AutoPtr<bu_attribute_value_set, bu_avs_free> obj_avs_autoptr(
@@ -209,8 +208,8 @@
const std::string value = obj_avs.avp[i].value;
if (name == "mass") {
- mass = lexical_cast<btScalar>(value,
-
std::invalid_argument("invalid attribute 'mass'"));
+ mass = lexical_cast<fastf_t>(value,
+ std::invalid_argument("invalid
attribute 'mass'"));
if (mass < 0.0) throw std::invalid_argument("invalid
attribute 'mass'");
} else if (name == "linear_velocity") {
@@ -222,20 +221,20 @@
}
}
- WorldObject *object = new WorldObject(vdirectory, matrix, tree_updater,
- bounding_box.first,
bounding_box.second, mass);
+ WorldObject * const object = new WorldObject(dir, matrix, tree_updater,
+ bounding_box.first, bounding_box.second, mass);
object->m_rigid_body.setLinearVelocity(linear_velocity);
object->m_rigid_body.setAngularVelocity(angular_velocity);
return object;
}
-WorldObject::WorldObject(directory &vdirectory, mat_t matrix,
+WorldObject::WorldObject(directory &dir, fastf_t * const matrix,
TreeUpdater &tree_updater, btVector3 bounding_box_pos,
- btVector3 bounding_box_dims, btScalar mass) :
+ btVector3 bounding_box_dims, const fastf_t mass) :
m_world(NULL),
m_motion_state(matrix, bounding_box_pos, tree_updater),
- m_collision_shape(tree_updater, vdirectory.d_namep, bounding_box_dims /
2.0),
+ m_collision_shape(tree_updater, dir.d_namep, bounding_box_dims / 2.0),
m_rigid_body(build_construction_info(m_motion_state, m_collision_shape,
mass))
{}
Modified: brlcad/trunk/src/libged/simulate/world_object.hpp
===================================================================
--- brlcad/trunk/src/libged/simulate/world_object.hpp 2016-10-09 01:34:28 UTC
(rev 69011)
+++ brlcad/trunk/src/libged/simulate/world_object.hpp 2016-10-11 02:38:23 UTC
(rev 69012)
@@ -40,8 +40,8 @@
class MatrixMotionState : public btMotionState
{
public:
- MatrixMotionState(mat_t matrix, const btVector3 &origin,
- TreeUpdater &tree_updater);
+ explicit MatrixMotionState(fastf_t *matrix, const btVector3 &origin,
+ TreeUpdater &tree_updater);
virtual void getWorldTransform(btTransform &dest) const;
virtual void setWorldTransform(const btTransform &transform);
@@ -60,8 +60,8 @@
class WorldObject
{
public:
- static WorldObject *create(db_i &db_instance, directory &vdirectory,
- mat_t matrix, TreeUpdater &tree_updater);
+ static WorldObject *create(db_i &db, directory &dir, fastf_t *matrix,
+ TreeUpdater &tree_updater);
~WorldObject();
void add_to_world(btDiscreteDynamicsWorld &world);
@@ -71,8 +71,9 @@
WorldObject(const WorldObject &source);
WorldObject &operator=(const WorldObject &source);
- WorldObject(directory &vdirectory, mat_t matrix, TreeUpdater &tree_updater,
- btVector3 bounding_box_pos, btVector3 bounding_box_dims,
btScalar mass);
+ explicit WorldObject(directory &dir, fastf_t *matrix,
+ TreeUpdater &tree_updater, btVector3 bounding_box_pos,
+ btVector3 bounding_box_dims, fastf_t mass);
btDiscreteDynamicsWorld *m_world;
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits