mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-03 18:31:55 -04:00
Convenience classes for vehicles and wheels (no members or methods yet).
This commit is contained in:
parent
d66ff1a325
commit
7bd70efba7
@ -119,12 +119,12 @@
|
|||||||
physxTriangleMeshShapeDesc.I physxTriangleMeshShapeDesc.h \
|
physxTriangleMeshShapeDesc.I physxTriangleMeshShapeDesc.h \
|
||||||
physxTriggerReport.I physxTriggerReport.h \
|
physxTriggerReport.I physxTriggerReport.h \
|
||||||
physxUtilLib.I physxUtilLib.h \
|
physxUtilLib.I physxUtilLib.h \
|
||||||
|
physxVehicle.I physxVehicle.h \
|
||||||
|
physxVehicleDesc.I physxVehicleDesc.h \
|
||||||
|
physxWheel.I physxWheel.h \
|
||||||
|
physxWheelDesc.I physxWheel.h \
|
||||||
physxWheelShape.I physxWheelShape.h \
|
physxWheelShape.I physxWheelShape.h \
|
||||||
physxWheelShapeDesc.I physxWheelShapeDesc.h \
|
physxWheelShapeDesc.I physxWheelShapeDesc.h \
|
||||||
#physxVehicleGears.I physxVehicleGears.h \
|
|
||||||
#physxVehicleGearsDesc.I physxVehicleGearsDesc.h \
|
|
||||||
#physxVehicleMotor.I physxVehicleMotor.h \
|
|
||||||
#physxVehicleMotorDesc.I physxVehicleMotorDesc.h \
|
|
||||||
|
|
||||||
#define INCLUDED_SOURCES \
|
#define INCLUDED_SOURCES \
|
||||||
config_physx.cxx \
|
config_physx.cxx \
|
||||||
@ -235,12 +235,12 @@
|
|||||||
physxTriangleMeshShapeDesc.cxx \
|
physxTriangleMeshShapeDesc.cxx \
|
||||||
physxTriggerReport.cxx \
|
physxTriggerReport.cxx \
|
||||||
physxUtilLib.cxx \
|
physxUtilLib.cxx \
|
||||||
|
physxVehicle.cxx \
|
||||||
|
physxVehicleDesc.cxx \
|
||||||
|
physxWheel.cxx \
|
||||||
|
physxWheelDesc.cxx \
|
||||||
physxWheelShape.cxx \
|
physxWheelShape.cxx \
|
||||||
physxWheelShapeDesc.cxx \
|
physxWheelShapeDesc.cxx \
|
||||||
#physxVehicleGears.cxx \
|
|
||||||
#physxVehicleGearsDesc.cxx \
|
|
||||||
#physxVehicleMotor.cxx \
|
|
||||||
#physxVehicleMotorDesc.cxx \
|
|
||||||
|
|
||||||
#define INSTALL_HEADERS \
|
#define INSTALL_HEADERS \
|
||||||
config_physx.h \
|
config_physx.h \
|
||||||
@ -351,12 +351,12 @@
|
|||||||
physxTriangleMeshShapeDesc.I physxTriangleMeshShapeDesc.h \
|
physxTriangleMeshShapeDesc.I physxTriangleMeshShapeDesc.h \
|
||||||
physxTriggerReport.I physxTriggerReport.h \
|
physxTriggerReport.I physxTriggerReport.h \
|
||||||
physxUtilLib.I physxUtilLib.h \
|
physxUtilLib.I physxUtilLib.h \
|
||||||
|
physxVehicle.I physxVehicle.h \
|
||||||
|
physxVehicleDesc.I physxVehicleDesc.h \
|
||||||
|
physxWheel.I physxWheel.h \
|
||||||
|
physxWheelDesc.I physxWheel.h \
|
||||||
physxWheelShape.I physxWheelShape.h \
|
physxWheelShape.I physxWheelShape.h \
|
||||||
physxWheelShapeDesc.I physxWheelShapeDesc.h \
|
physxWheelShapeDesc.I physxWheelShapeDesc.h \
|
||||||
#physxVehicleGears.I physxVehicleGears.h \
|
|
||||||
#physxVehicleGearsDesc.I physxVehicleGearsDesc.h \
|
|
||||||
#physxVehicleMotor.I physxVehicleMotor.h \
|
|
||||||
#physxVehicleMotorDesc.I physxVehicleMotorDesc.h \
|
|
||||||
|
|
||||||
#define IGATESCAN all
|
#define IGATESCAN all
|
||||||
|
|
||||||
|
@ -22,6 +22,7 @@
|
|||||||
INLINE PhysxObject::
|
INLINE PhysxObject::
|
||||||
PhysxObject() {
|
PhysxObject() {
|
||||||
|
|
||||||
|
_error_type = ET_empty;
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
|
@ -64,5 +64,6 @@ ls(ostream &out, int indent_level) const {
|
|||||||
_forcefields.ls(out, indent_level);
|
_forcefields.ls(out, indent_level);
|
||||||
_ffgroups.ls(out, indent_level);
|
_ffgroups.ls(out, indent_level);
|
||||||
_controllers.ls(out, indent_level);
|
_controllers.ls(out, indent_level);
|
||||||
|
_vehicles.ls(out, indent_level);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -20,8 +20,8 @@
|
|||||||
#include "physxControllerDesc.h"
|
#include "physxControllerDesc.h"
|
||||||
#include "physxSceneStats2.h"
|
#include "physxSceneStats2.h"
|
||||||
#include "physxConstraintDominance.h"
|
#include "physxConstraintDominance.h"
|
||||||
//#include "physxVehicle.h"
|
#include "physxVehicle.h"
|
||||||
//#include "physxVehicleDesc.h"
|
#include "physxVehicleDesc.h"
|
||||||
|
|
||||||
TypeHandle PhysxScene::_type_handle;
|
TypeHandle PhysxScene::_type_handle;
|
||||||
|
|
||||||
@ -67,10 +67,10 @@ link(NxScene *scenePtr) {
|
|||||||
void PhysxScene::
|
void PhysxScene::
|
||||||
unlink() {
|
unlink() {
|
||||||
|
|
||||||
// Destroy vehicles
|
// Unlink vehicles
|
||||||
//for (unsigned int i=0; i < _vehicles.size(); i++) {
|
for (unsigned int i=0; i < _vehicles.size(); i++) {
|
||||||
// _vehicles[i]->release();
|
_vehicles[i]->release();
|
||||||
//}
|
}
|
||||||
|
|
||||||
// Unlink controllers
|
// Unlink controllers
|
||||||
NxU32 nControllers = _cm->getNbControllers();
|
NxU32 nControllers = _cm->getNbControllers();
|
||||||
@ -183,10 +183,10 @@ simulate(float dt) {
|
|||||||
_pcollector_simulate.start();
|
_pcollector_simulate.start();
|
||||||
|
|
||||||
// Update all vehicles
|
// Update all vehicles
|
||||||
//for (unsigned int i=0; i < _vehicles.size(); i++) {
|
for (unsigned int i=0; i < _vehicles.size(); i++) {
|
||||||
// PhysxVehicle *vehicle = _vehicles[i];
|
PhysxVehicle *vehicle = _vehicles[i];
|
||||||
// vehicle->update_vehicle(dt);
|
vehicle->update_vehicle(dt);
|
||||||
//}
|
}
|
||||||
|
|
||||||
// Update all controllers
|
// Update all controllers
|
||||||
for (NxU32 i=0; i < _cm->getNbControllers(); i++) {
|
for (NxU32 i=0; i < _cm->getNbControllers(); i++) {
|
||||||
@ -856,7 +856,6 @@ get_force_field_shape_group(unsigned int idx) const {
|
|||||||
return groupPtr ? (PhysxForceFieldShapeGroup *)groupPtr->userData : NULL;
|
return groupPtr ? (PhysxForceFieldShapeGroup *)groupPtr->userData : NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: PhysxScene::get_num_vehicles
|
// Function: PhysxScene::get_num_vehicles
|
||||||
// Access: Published
|
// Access: Published
|
||||||
@ -902,7 +901,6 @@ get_vehicle(unsigned int idx) const {
|
|||||||
|
|
||||||
return _vehicles[idx];
|
return _vehicles[idx];
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: PhysxScene::get_stats2
|
// Function: PhysxScene::get_stats2
|
||||||
|
@ -48,8 +48,8 @@ class PhysxRay;
|
|||||||
class PhysxRaycastHit;
|
class PhysxRaycastHit;
|
||||||
class PhysxRaycastReport;
|
class PhysxRaycastReport;
|
||||||
class PhysxSceneStats2;
|
class PhysxSceneStats2;
|
||||||
//class PhysxVehicle;
|
class PhysxVehicle;
|
||||||
//class PhysxVehicleDesc;
|
class PhysxVehicleDesc;
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Class : PhysxScene
|
// Class : PhysxScene
|
||||||
@ -132,10 +132,10 @@ PUBLISHED:
|
|||||||
MAKE_SEQ(get_force_field_shape_groups, get_num_force_field_shape_groups, get_force_field_shape_group);
|
MAKE_SEQ(get_force_field_shape_groups, get_num_force_field_shape_groups, get_force_field_shape_group);
|
||||||
|
|
||||||
// Vehicles
|
// Vehicles
|
||||||
//unsigned int get_num_vehicles() const;
|
unsigned int get_num_vehicles() const;
|
||||||
//PhysxVehicle *create_vehicle(PhysxVehicleDesc &desc);
|
PhysxVehicle *create_vehicle(PhysxVehicleDesc &desc);
|
||||||
//PhysxVehicle *get_vehicle(unsigned int idx) const;
|
PhysxVehicle *get_vehicle(unsigned int idx) const;
|
||||||
//MAKE_SEQ(get_vehicles, get_num_vehicles, get_vehicle);
|
MAKE_SEQ(get_vehicles, get_num_vehicles, get_vehicle);
|
||||||
|
|
||||||
// Raycast queries
|
// Raycast queries
|
||||||
bool raycast_any_shape(const PhysxRay &ray,
|
bool raycast_any_shape(const PhysxRay &ray,
|
||||||
@ -220,7 +220,7 @@ public:
|
|||||||
PhysxObjectCollection<PhysxForceField> _forcefields;
|
PhysxObjectCollection<PhysxForceField> _forcefields;
|
||||||
PhysxObjectCollection<PhysxForceFieldShapeGroup> _ffgroups;
|
PhysxObjectCollection<PhysxForceFieldShapeGroup> _ffgroups;
|
||||||
PhysxObjectCollection<PhysxController> _controllers;
|
PhysxObjectCollection<PhysxController> _controllers;
|
||||||
//PhysxObjectCollection<PhysxVehicle> _vehicles;
|
PhysxObjectCollection<PhysxVehicle> _vehicles;
|
||||||
|
|
||||||
PhysxMaterial *get_wheel_shape_material();
|
PhysxMaterial *get_wheel_shape_material();
|
||||||
|
|
||||||
|
59
panda/src/physx/physxVehicle.I
Normal file
59
panda/src/physx/physxVehicle.I
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
// Filename: physxVehicle.I
|
||||||
|
// Created by: enn0x (23Mar10)
|
||||||
|
//
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// PANDA 3D SOFTWARE
|
||||||
|
// Copyright (c) Carnegie Mellon University. All rights reserved.
|
||||||
|
//
|
||||||
|
// All use of this software is subject to the terms of the revised BSD
|
||||||
|
// license. You should have received a copy of this license along
|
||||||
|
// with this source code in a file named "LICENSE."
|
||||||
|
//
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: PhysxVehicle::Constructor
|
||||||
|
// Access: Published
|
||||||
|
// Description:
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
INLINE PhysxVehicle::
|
||||||
|
PhysxVehicle() : PhysxObject() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: PhysxVehicle::Destructor
|
||||||
|
// Access: Published
|
||||||
|
// Description:
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
INLINE PhysxVehicle::
|
||||||
|
~PhysxVehicle() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: PhysxVehicle::ls
|
||||||
|
// Access: Published
|
||||||
|
// Description:
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
INLINE void PhysxVehicle::
|
||||||
|
ls() const {
|
||||||
|
|
||||||
|
ls(nout);
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: PhysxVehicle::ls
|
||||||
|
// Access: Published
|
||||||
|
// Description:
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
INLINE void PhysxVehicle::
|
||||||
|
ls(ostream &out, int indent_level) const {
|
||||||
|
|
||||||
|
indent(out, indent_level) << get_type().get_name()
|
||||||
|
<< " (at 0x" << this << ")\n";
|
||||||
|
}
|
||||||
|
|
106
panda/src/physx/physxVehicle.cxx
Normal file
106
panda/src/physx/physxVehicle.cxx
Normal file
@ -0,0 +1,106 @@
|
|||||||
|
// Filename: physxVehicle.cxx
|
||||||
|
// Created by: enn0x (23Mar10)
|
||||||
|
//
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// PANDA 3D SOFTWARE
|
||||||
|
// Copyright (c) Carnegie Mellon University. All rights reserved.
|
||||||
|
//
|
||||||
|
// All use of this software is subject to the terms of the revised BSD
|
||||||
|
// license. You should have received a copy of this license along
|
||||||
|
// with this source code in a file named "LICENSE."
|
||||||
|
//
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#include "physxVehicle.h"
|
||||||
|
#include "physxActor.h"
|
||||||
|
#include "physxWheel.h"
|
||||||
|
#include "physxScene.h"
|
||||||
|
|
||||||
|
TypeHandle PhysxVehicle::_type_handle;
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: PhysxVehicle::create
|
||||||
|
// Access: Public
|
||||||
|
// Description:
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
void PhysxVehicle::
|
||||||
|
create(PhysxScene *scene, PhysxVehicleDesc &desc) {
|
||||||
|
|
||||||
|
nassertv(_error_type == ET_empty);
|
||||||
|
|
||||||
|
_scene = scene;
|
||||||
|
|
||||||
|
// TODO !!!
|
||||||
|
|
||||||
|
_error_type = ET_ok;
|
||||||
|
_scene->_vehicles.add(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: PhysxVehicle::release
|
||||||
|
// Access: Published
|
||||||
|
// Description: Destroys this vehicle.
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
void PhysxVehicle::
|
||||||
|
release() {
|
||||||
|
|
||||||
|
nassertv(_error_type == ET_ok);
|
||||||
|
|
||||||
|
_error_type = ET_released;
|
||||||
|
_scene->_vehicles.remove(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: PhysxVehicle::update_vehicle
|
||||||
|
// Access: Public
|
||||||
|
// Description:
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
void PhysxVehicle::
|
||||||
|
update_vehicle(float dt) {
|
||||||
|
|
||||||
|
nassertv(_error_type == ET_ok);
|
||||||
|
|
||||||
|
// TODO !!!
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: PhysxVehicle::get_actor
|
||||||
|
// Access: Published
|
||||||
|
// Description: Returns the actor for this vehicle.
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
PhysxActor *PhysxVehicle::
|
||||||
|
get_actor() const {
|
||||||
|
|
||||||
|
nassertr(_error_type == ET_ok, NULL);
|
||||||
|
return _actor;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: PhysxVehicle::get_num_wheels
|
||||||
|
// Access: Published
|
||||||
|
// Description: Returns the number of wheels on this vehicle.
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
unsigned int PhysxVehicle::
|
||||||
|
get_num_wheels() const {
|
||||||
|
|
||||||
|
nassertr(_error_type == ET_ok, 0);
|
||||||
|
return _wheels.size();
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: PhysxVehicle::get_wheel
|
||||||
|
// Access: Published
|
||||||
|
// Description: Returns the n-th wheel of this vehicle.
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
PhysxWheel *PhysxVehicle::
|
||||||
|
get_wheel(unsigned int idx) const {
|
||||||
|
|
||||||
|
nassertr(_error_type == ET_ok, NULL);
|
||||||
|
return _wheels[idx];
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
86
panda/src/physx/physxVehicle.h
Normal file
86
panda/src/physx/physxVehicle.h
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
// Filename: physxVehicle.h
|
||||||
|
// Created by: enn0x (23Mar10)
|
||||||
|
//
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// PANDA 3D SOFTWARE
|
||||||
|
// Copyright (c) Carnegie Mellon University. All rights reserved.
|
||||||
|
//
|
||||||
|
// All use of this software is subject to the terms of the revised BSD
|
||||||
|
// license. You should have received a copy of this license along
|
||||||
|
// with this source code in a file named "LICENSE."
|
||||||
|
//
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef PHYSXVEHICLE_H
|
||||||
|
#define PHYSXVEHICLE_H
|
||||||
|
|
||||||
|
#include "pandabase.h"
|
||||||
|
#include "pointerToArray.h"
|
||||||
|
|
||||||
|
#include "physxObject.h"
|
||||||
|
#include "physx_includes.h"
|
||||||
|
|
||||||
|
class PhysxActor;
|
||||||
|
class PhysxWheel;
|
||||||
|
class PhysxScene;
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Class : PhysxVehicle
|
||||||
|
// Description :
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
class EXPCL_PANDAPHYSX PhysxVehicle : public PhysxObject {
|
||||||
|
|
||||||
|
PUBLISHED:
|
||||||
|
INLINE PhysxVehicle();
|
||||||
|
INLINE ~PhysxVehicle();
|
||||||
|
|
||||||
|
//PhysxActor *get_actor() const;
|
||||||
|
|
||||||
|
//unsigned int get_num_wheels() const;
|
||||||
|
//PhysxWheel *get_wheel(unsigned int idx) const;
|
||||||
|
//MAKE_SEQ(get_wheels, get_num_wheels, get_wheel);
|
||||||
|
|
||||||
|
INLINE void ls() const;
|
||||||
|
INLINE void ls(ostream &out, int indent_level=0) const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
PUBLISHED:
|
||||||
|
void release();
|
||||||
|
|
||||||
|
public:
|
||||||
|
void create(PhysxScene *scene, PhysxVehicleDesc &desc);
|
||||||
|
void update_vehicle(float dt);
|
||||||
|
|
||||||
|
private:
|
||||||
|
PTA(PT(PhysxWheel)) _wheels;
|
||||||
|
PT(PhysxActor) _actor;
|
||||||
|
PT(PhysxScene) _scene;
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
public:
|
||||||
|
static TypeHandle get_class_type() {
|
||||||
|
return _type_handle;
|
||||||
|
}
|
||||||
|
static void init_type() {
|
||||||
|
PhysxObject::init_type();
|
||||||
|
register_type(_type_handle, "PhysxVehicle",
|
||||||
|
PhysxObject::get_class_type());
|
||||||
|
}
|
||||||
|
virtual TypeHandle get_type() const {
|
||||||
|
return get_class_type();
|
||||||
|
}
|
||||||
|
virtual TypeHandle force_init_type() {
|
||||||
|
init_type();
|
||||||
|
return get_class_type();
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
static TypeHandle _type_handle;
|
||||||
|
};
|
||||||
|
|
||||||
|
#include "physxVehicle.I"
|
||||||
|
|
||||||
|
#endif // PHYSXVEHICLE_H
|
58
panda/src/physx/physxVehicleDesc.I
Normal file
58
panda/src/physx/physxVehicleDesc.I
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
// Filename: physxVehicleDesc.I
|
||||||
|
// Created by: enn0x (23Mar10)
|
||||||
|
//
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// PANDA 3D SOFTWARE
|
||||||
|
// Copyright (c) Carnegie Mellon University. All rights reserved.
|
||||||
|
//
|
||||||
|
// All use of this software is subject to the terms of the revised BSD
|
||||||
|
// license. You should have received a copy of this license along
|
||||||
|
// with this source code in a file named "LICENSE."
|
||||||
|
//
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: PhysxVehicleDesc::Constructor
|
||||||
|
// Access: Published
|
||||||
|
// Description:
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
INLINE PhysxVehicleDesc::
|
||||||
|
PhysxVehicleDesc() {
|
||||||
|
|
||||||
|
set_to_default();
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: PhysxVehicleDesc::Destructor
|
||||||
|
// Access: Published
|
||||||
|
// Description:
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
INLINE PhysxVehicleDesc::
|
||||||
|
~PhysxVehicleDesc() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: PhysxVehicleDesc::set_to_default
|
||||||
|
// Access: Published
|
||||||
|
// Description: (re)sets the structure to the default.
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
INLINE void PhysxVehicleDesc::
|
||||||
|
set_to_default() {
|
||||||
|
|
||||||
|
// TODO
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: PhysxVehicleDesc::is_valid
|
||||||
|
// Access: Published
|
||||||
|
// Description: Returns true if the descriptor is valid.
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
INLINE bool PhysxVehicleDesc::
|
||||||
|
is_valid() const {
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
29
panda/src/physx/physxVehicleDesc.cxx
Normal file
29
panda/src/physx/physxVehicleDesc.cxx
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
// Filename: physxVehicleDesc.cxx
|
||||||
|
// Created by: enn0x (23Mar10)
|
||||||
|
//
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// PANDA 3D SOFTWARE
|
||||||
|
// Copyright (c) Carnegie Mellon University. All rights reserved.
|
||||||
|
//
|
||||||
|
// All use of this software is subject to the terms of the revised BSD
|
||||||
|
// license. You should have received a copy of this license along
|
||||||
|
// with this source code in a file named "LICENSE."
|
||||||
|
//
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#include "physxVehicleDesc.h"
|
||||||
|
|
||||||
|
/*
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: PhysxVehicleDesc::add_wheel
|
||||||
|
// Access: Published
|
||||||
|
// Description:
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
void PhysxVehicleDesc::
|
||||||
|
add_wheel(PhysxWheelDesc *wheelDesc) {
|
||||||
|
|
||||||
|
_wheels.push_back(wheelDesc);
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
40
panda/src/physx/physxVehicleDesc.h
Normal file
40
panda/src/physx/physxVehicleDesc.h
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
// Filename: physxVehicleDesc.h
|
||||||
|
// Created by: enn0x (23Mar10)
|
||||||
|
//
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// PANDA 3D SOFTWARE
|
||||||
|
// Copyright (c) Carnegie Mellon University. All rights reserved.
|
||||||
|
//
|
||||||
|
// All use of this software is subject to the terms of the revised BSD
|
||||||
|
// license. You should have received a copy of this license along
|
||||||
|
// with this source code in a file named "LICENSE."
|
||||||
|
//
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef PHYSXVEHICLEDESC_H
|
||||||
|
#define PHYSXVEHICLEDESC_H
|
||||||
|
|
||||||
|
#include "pandabase.h"
|
||||||
|
|
||||||
|
#include "physx_includes.h"
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Class : PhysxVehicleDesc
|
||||||
|
// Description :
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
class EXPCL_PANDAPHYSX PhysxVehicleDesc : public ReferenceCount {
|
||||||
|
|
||||||
|
PUBLISHED:
|
||||||
|
INLINE PhysxVehicleDesc();
|
||||||
|
INLINE ~PhysxVehicleDesc();
|
||||||
|
|
||||||
|
INLINE void set_to_default();
|
||||||
|
INLINE bool is_valid() const;
|
||||||
|
|
||||||
|
public:
|
||||||
|
};
|
||||||
|
|
||||||
|
#include "physxVehicleDesc.I"
|
||||||
|
|
||||||
|
#endif // PHYSXVEHICLEDESC_H
|
59
panda/src/physx/physxWheel.I
Normal file
59
panda/src/physx/physxWheel.I
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
// Filename: physxWheel.I
|
||||||
|
// Created by: enn0x (23Mar10)
|
||||||
|
//
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// PANDA 3D SOFTWARE
|
||||||
|
// Copyright (c) Carnegie Mellon University. All rights reserved.
|
||||||
|
//
|
||||||
|
// All use of this software is subject to the terms of the revised BSD
|
||||||
|
// license. You should have received a copy of this license along
|
||||||
|
// with this source code in a file named "LICENSE."
|
||||||
|
//
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: PhysxWheel::Constructor
|
||||||
|
// Access: Public
|
||||||
|
// Description:
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
INLINE PhysxWheel::
|
||||||
|
PhysxWheel() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: PhysxWheel::Destructor
|
||||||
|
// Access: Public
|
||||||
|
// Description:
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
INLINE PhysxWheel::
|
||||||
|
~PhysxWheel() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: PhysxWheel::ls
|
||||||
|
// Access: Published
|
||||||
|
// Description:
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
INLINE void PhysxWheel::
|
||||||
|
ls() const {
|
||||||
|
|
||||||
|
ls(nout);
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: PhysxWheel::ls
|
||||||
|
// Access: Published
|
||||||
|
// Description:
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
INLINE void PhysxWheel::
|
||||||
|
ls(ostream &out, int indent_level) const {
|
||||||
|
|
||||||
|
indent(out, indent_level) << get_type().get_name()
|
||||||
|
<< " (at 0x" << this << ")\n";
|
||||||
|
}
|
||||||
|
|
81
panda/src/physx/physxWheel.cxx
Normal file
81
panda/src/physx/physxWheel.cxx
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
// Filename: physxWheel.cxx
|
||||||
|
// Created by: enn0x (23Mar10)
|
||||||
|
//
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// PANDA 3D SOFTWARE
|
||||||
|
// Copyright (c) Carnegie Mellon University. All rights reserved.
|
||||||
|
//
|
||||||
|
// All use of this software is subject to the terms of the revised BSD
|
||||||
|
// license. You should have received a copy of this license along
|
||||||
|
// with this source code in a file named "LICENSE."
|
||||||
|
//
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#include "physxWheel.h"
|
||||||
|
#include "physxWheelDesc.h"
|
||||||
|
#include "physxWheelShape.h"
|
||||||
|
|
||||||
|
TypeHandle PhysxWheel::_type_handle;
|
||||||
|
|
||||||
|
/*
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: PhysxWheel::get_wheel_shape
|
||||||
|
// Access: Published
|
||||||
|
// Description:
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
PhysxWheelShape *PhysxWheel::
|
||||||
|
get_wheel_shape() const {
|
||||||
|
|
||||||
|
return _wheelShape;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: PhysxWheel::attach_node_path
|
||||||
|
// Access: Published
|
||||||
|
// Description: Attaches a node path to this wheel. The node
|
||||||
|
// path's transform will be updated automatically.
|
||||||
|
//
|
||||||
|
// Note: any non-uniform scale or shear set on the
|
||||||
|
// NodePath's transform will be overwritten at the
|
||||||
|
// time of the first update.
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
void PhysxWheel::
|
||||||
|
attach_node_path(const NodePath &np) {
|
||||||
|
|
||||||
|
nassertv(_error_type == ET_ok);
|
||||||
|
nassertv_always(!np.is_empty());
|
||||||
|
_np = NodePath(np);
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: PhysxWheel::detach_node_path
|
||||||
|
// Access: Published
|
||||||
|
// Description: Detaches a previously assigned NodePath from this
|
||||||
|
// wheel. The NodePath's transform will no longer
|
||||||
|
// be updated.
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
void PhysxWheel::
|
||||||
|
detach_node_path() {
|
||||||
|
|
||||||
|
nassertv(_error_type == ET_ok);
|
||||||
|
_np = NodePath();
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: PhysxWheel::get_node_path
|
||||||
|
// Access: Published
|
||||||
|
// Description: Retrieves a previously attached NodePath. An empty
|
||||||
|
// NodePath will be returned if no NodePath has been
|
||||||
|
// attached to this wheel.
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
NodePath PhysxWheel::
|
||||||
|
get_node_path() const {
|
||||||
|
|
||||||
|
nassertr(_error_type == ET_ok, NodePath::fail());
|
||||||
|
return _np;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
77
panda/src/physx/physxWheel.h
Normal file
77
panda/src/physx/physxWheel.h
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
// Filename: physxWheel.h
|
||||||
|
// Created by: enn0x (23Mar10)
|
||||||
|
//
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// PANDA 3D SOFTWARE
|
||||||
|
// Copyright (c) Carnegie Mellon University. All rights reserved.
|
||||||
|
//
|
||||||
|
// All use of this software is subject to the terms of the revised BSD
|
||||||
|
// license. You should have received a copy of this license along
|
||||||
|
// with this source code in a file named "LICENSE."
|
||||||
|
//
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef PHYSXWHEEL_H
|
||||||
|
#define PHYSXWHEEL_H
|
||||||
|
|
||||||
|
#include "pandabase.h"
|
||||||
|
#include "nodePath.h"
|
||||||
|
|
||||||
|
#include "physxObject.h"
|
||||||
|
#include "physx_includes.h"
|
||||||
|
|
||||||
|
class PhysxWheelDesc;
|
||||||
|
class PhysxWheelShape;
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Class : PhysxWheel
|
||||||
|
// Description :
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
class EXPCL_PANDAPHYSX PhysxWheel : public PhysxObject {
|
||||||
|
|
||||||
|
PUBLISHED:
|
||||||
|
INLINE PhysxWheel();
|
||||||
|
INLINE ~PhysxWheel();
|
||||||
|
|
||||||
|
//PhysxActor *get_touched_actor() const;
|
||||||
|
//PhysxWheelShape *get_wheel_shape() const;
|
||||||
|
|
||||||
|
//void attach_node_path(const NodePath &np);
|
||||||
|
//void detach_node_path();
|
||||||
|
//NodePath get_node_path() const;
|
||||||
|
|
||||||
|
INLINE void ls() const;
|
||||||
|
INLINE void ls(ostream &out, int indent_level=0) const;
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
private:
|
||||||
|
PT(PhysxWheelShape) _wheelShape;
|
||||||
|
NodePath _np;
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
public:
|
||||||
|
static TypeHandle get_class_type() {
|
||||||
|
return _type_handle;
|
||||||
|
}
|
||||||
|
static void init_type() {
|
||||||
|
PhysxObject::init_type();
|
||||||
|
register_type(_type_handle, "PhysxWheel",
|
||||||
|
PhysxObject::get_class_type());
|
||||||
|
}
|
||||||
|
virtual TypeHandle get_type() const {
|
||||||
|
return get_class_type();
|
||||||
|
}
|
||||||
|
virtual TypeHandle force_init_type() {
|
||||||
|
init_type();
|
||||||
|
return get_class_type();
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
static TypeHandle _type_handle;
|
||||||
|
};
|
||||||
|
|
||||||
|
#include "physxWheel.I"
|
||||||
|
|
||||||
|
#endif // PHYSXWHEEL_H
|
60
panda/src/physx/physxWheelDesc.I
Normal file
60
panda/src/physx/physxWheelDesc.I
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
// Filename: physxWheelDesc.I
|
||||||
|
// Created by: enn0x (23Mar10)
|
||||||
|
//
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// PANDA 3D SOFTWARE
|
||||||
|
// Copyright (c) Carnegie Mellon University. All rights reserved.
|
||||||
|
//
|
||||||
|
// All use of this software is subject to the terms of the revised BSD
|
||||||
|
// license. You should have received a copy of this license along
|
||||||
|
// with this source code in a file named "LICENSE."
|
||||||
|
//
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: PhysxWheelDesc::Constructor
|
||||||
|
// Access: Published
|
||||||
|
// Description:
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
INLINE PhysxWheelDesc::
|
||||||
|
PhysxWheelDesc() {
|
||||||
|
|
||||||
|
set_to_default();
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: PhysxWheelDesc::Destructor
|
||||||
|
// Access: Published
|
||||||
|
// Description:
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
INLINE PhysxWheelDesc::
|
||||||
|
~PhysxWheelDesc() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: PhysxWheelDesc::set_to_default
|
||||||
|
// Access: Published
|
||||||
|
// Description: (re)sets the structure to the default.
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
INLINE void PhysxWheelDesc::
|
||||||
|
set_to_default() {
|
||||||
|
|
||||||
|
// TODO
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: PhysxWheelDesc::is_valid
|
||||||
|
// Access: Published
|
||||||
|
// Description: Returns true if the descriptor is valid.
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
INLINE bool PhysxWheelDesc::
|
||||||
|
is_valid() const {
|
||||||
|
|
||||||
|
// TODO
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
29
panda/src/physx/physxWheelDesc.cxx
Normal file
29
panda/src/physx/physxWheelDesc.cxx
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
// Filename: physxWheelDesc.cxx
|
||||||
|
// Created by: enn0x (23Mar10)
|
||||||
|
//
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// PANDA 3D SOFTWARE
|
||||||
|
// Copyright (c) Carnegie Mellon University. All rights reserved.
|
||||||
|
//
|
||||||
|
// All use of this software is subject to the terms of the revised BSD
|
||||||
|
// license. You should have received a copy of this license along
|
||||||
|
// with this source code in a file named "LICENSE."
|
||||||
|
//
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#include "physxWheelDesc.h"
|
||||||
|
|
||||||
|
/*
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: PhysxWheelDesc::set_wheel_radius
|
||||||
|
// Access: Published
|
||||||
|
// Description:
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
void PhysxWheelDesc::
|
||||||
|
set_wheel_radius(float wheelRadius) {
|
||||||
|
|
||||||
|
_wheelRadius = wheelRadius;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
41
panda/src/physx/physxWheelDesc.h
Normal file
41
panda/src/physx/physxWheelDesc.h
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
// Filename: physxWheelDesc.h
|
||||||
|
// Created by: enn0x (23Mar10)
|
||||||
|
//
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// PANDA 3D SOFTWARE
|
||||||
|
// Copyright (c) Carnegie Mellon University. All rights reserved.
|
||||||
|
//
|
||||||
|
// All use of this software is subject to the terms of the revised BSD
|
||||||
|
// license. You should have received a copy of this license along
|
||||||
|
// with this source code in a file named "LICENSE."
|
||||||
|
//
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef PHYSXWHEELDESC_H
|
||||||
|
#define PHYSXWHEELDESC_H
|
||||||
|
|
||||||
|
#include "pandabase.h"
|
||||||
|
#include "lpoint3.h"
|
||||||
|
|
||||||
|
#include "physx_includes.h"
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Class : PhysxWheelDesc
|
||||||
|
// Description :
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
class EXPCL_PANDAPHYSX PhysxWheelDesc : public ReferenceCount {
|
||||||
|
|
||||||
|
PUBLISHED:
|
||||||
|
INLINE PhysxWheelDesc();
|
||||||
|
INLINE ~PhysxWheelDesc();
|
||||||
|
|
||||||
|
INLINE void set_to_default();
|
||||||
|
INLINE bool is_valid() const;
|
||||||
|
|
||||||
|
public:
|
||||||
|
};
|
||||||
|
|
||||||
|
#include "physxWheelDesc.I"
|
||||||
|
|
||||||
|
#endif // PHYSXWHEELDESC_H
|
@ -106,13 +106,13 @@
|
|||||||
#include "physxTriangleMeshShapeDesc.cxx"
|
#include "physxTriangleMeshShapeDesc.cxx"
|
||||||
#include "physxTriggerReport.cxx"
|
#include "physxTriggerReport.cxx"
|
||||||
#include "physxUtilLib.cxx"
|
#include "physxUtilLib.cxx"
|
||||||
//#include "physxVehicle.cxx"
|
#include "physxVehicle.cxx"
|
||||||
//#include "physxVehicleDesc.cxx"
|
#include "physxVehicleDesc.cxx"
|
||||||
//#include "physxVehicleGears.cxx"
|
//#include "physxVehicleGears.cxx"
|
||||||
//#include "physxVehicleGearsDesc.cxx"
|
//#include "physxVehicleGearsDesc.cxx"
|
||||||
//#include "physxVehicleMotor.cxx"
|
//#include "physxVehicleMotor.cxx"
|
||||||
//#include "physxVehicleMotorDesc.cxx"
|
//#include "physxVehicleMotorDesc.cxx"
|
||||||
//#include "physxWheel.cxx"
|
#include "physxWheel.cxx"
|
||||||
//#include "physxWheelDesc.cxx"
|
#include "physxWheelDesc.cxx"
|
||||||
#include "physxWheelShape.cxx"
|
#include "physxWheelShape.cxx"
|
||||||
#include "physxWheelShapeDesc.cxx"
|
#include "physxWheelShapeDesc.cxx"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user