elementarladung
03-07-2006 09:37:25
please forgive me to ask these question in a Ogre Forum
Is it easy possible to use the NXOgre for other engines like Irrlicht or Torque Game engine ?
Or is it especially for OGRE ?
Thx forward.
elementarladung
03-07-2006 09:37:25
betajaen
03-07-2006 10:26:34
elementarladung
04-07-2006 13:42:49
Game_Ender
04-07-2006 15:18:24
betajaen
04-07-2006 17:09:22
Wretched_Wyx
04-07-2006 17:12:29
betajaen
04-07-2006 17:14:08
On top of the last few comments, someone has already made a PhysX wrapper for Torque.
elementarladung
04-07-2006 17:29:51
elementarladung
06-07-2006 10:31:46
PhysXWorld.h(105) : error C2040: 'PhysXWorld::mScene' : 'std::vector<_Ty>' differs in levels of indirection from 'PhysXScene *'
protected:
// Variables shared between "friends"
// ----------------------------------
std::vector < PhysXScene* > mScene;
#ifndef __PhysXScene_H__
#define __PhysXScene_H__
#include "PhysX.h"
class PhysXScene: public NxUserTriggerReport{
friend PhysXWorld;
/*friend body;
friend controllable;*/
public:
// *structors
PhysXScene(StringTableEntry _name, PhysXWorld *_world);
~PhysXScene();
void simulate(F32 _time, bool _cleanupFrame = false);
bool simulateClearFrame();
// Class related
StringTableEntry getName();
// Creators
//group* createGroup(Ogre::String _name);
//stage* createStage(Ogre::String _name, Ogre::Vector3 _from, Ogre::Vector3 _to);
//body* createBody(Ogre::String _name, Ogre::String _meshName, nxOgre::shape *_shape, float _density, Ogre::Vector3 _pos);
//shape* createShape(shape *_shape);
//body* createStaticBody(Ogre::String _name, Ogre::String _meshName, nxOgre::shape *_shape, Ogre::Vector3 _pos);
//character* createCharacter(Ogre::String _name, Ogre::String _meshName, Ogre::Vector3 _position, Ogre::Vector3 _bounds);
//material* createMaterial(Ogre::String _name,float _staticFriction, float _dynamicFriction, float _bounce);
//rayCaster* createRayCaster(Ogre::Vector3 _pos, Ogre::Vector3 _direction, float _length = 100.0f);
//joint* createJoint(joint *_joint);
//particleEmitter* createParticleEmitter(particleEmitter *_emitter);
/*void createContactPair(body *a, body *b, bool _start = true, bool _touch = true, bool _end = true);*/
//motorisedJoint* createMotorisedJoint(body *_first, body *_second, Ogre::Vector3 _anchor, Ogre::Vector3 _axis, bool _collisions = false);
//motorisedJoint* createMotorisedJoint(body *_first, Ogre::Vector3 _anchor, Ogre::Vector3 _axis);
//void createMaterialAlias(Ogre::String _name, material *_material);
//stateTrigger* createStateTrigger(Ogre::String _name, stateType _stateType, Ogre::Vector3 _pos, shape *_shape);
//callbackTrigger* createCallbackTrigger(callbackTrigger *_trigger);
bool createCollection();
bool createCharacter();
/*void addPrefab(Prefabs::prefab *_prefab);
void removePrefab(Ogre::String _name);*/
// Finders
/*group* findGroup(Ogre::String);*/
U32 findGroupIndex(StringTableEntry);
/*body* findBody(StringTableEntry);
material* findMaterial(StringTableEntry _matName);
NxMaterialIndex findMaterialIndex(StringTableEntry _matName);*/
bool hasMaterial(StringTableEntry _matName);
//bool join(body *_body1, body *_body2, Ogre::Vector3 _pos, int _type);
//bool joinToWorld(body *_body, Ogre::Vector3 _pos, int _type);
void pause();
void resume();
// Misc.
void hasFloor(bool _f = true);
void hasGravity(VectorF _g = VectorF(0,-9.80665,0));
void setWind(VectorF _wind);
VectorF PhysXScene::getWind();
NxPhysicsSDK *mPhysicsSDK;
NxScene* mScene;
/*Ogre::SceneManager *mSceneMgr;*/
/*material *mDefaultMaterial;*/
void onTrigger(NxShape &,NxShape &,NxTriggerFlag);
// Use this function wisely!
U32 getBodyCount();
/*stateMachine *mStateMachine;
contactReporter* mContactReporter;*/
private:
StringTableEntry mName;
PhysXWorld *mWorld;
// Novodex simulator bits:-
NxReal maxTimestep;
NxTimeStepMethod method;
NxU32 maxIter;
NxU32 numSubSteps;
S32 mNextGroupID;
// Containers
//std::vector < nxOgre::body* > mBody;
//std::vector < nxOgre::controllable* > mControllable;
//std::vector < nxOgre::Prefabs::prefab* > mPrefab;
//std::vector < nxOgre::joint* > mJoint;
//std::vector < nxOgre::particleEmitter* > mParticleEmitter;
//std::vector < nxOgre::trigger* > mTrigger;
NxActor* mFloorActor;
/*std::vector< material* > mMaterials;*/
//std::map< Ogre::String, nxOgre::material* > mMaterialAlias;
//std::map< Ogre::String, nxOgre::group* > mGroup;
// Scene that we are focused on to.
//stage *mFocusedScene;
NxVec3 mWindDirection;
protected:
/*static bool _NxScene_create(TiXmlElement *_scenedef, world *_world, Ogre::SceneManager *_mgr);*/
};
#endif
betajaen
06-07-2006 11:40:12
elementarladung
06-07-2006 11:59:25
betajaen
06-07-2006 12:22:31
elementarladung
06-07-2006 21:48:54
5>PhysXWorld.obj : error LNK2005: "void * __cdecl operator new(unsigned int,void *)" (??2@YAPAXIPAX@Z) already defined in winMemory.obj
betajaen
06-07-2006 22:25:58
elementarladung
07-07-2006 08:46:05
#ifndef _PHYSX_H_
#define _PHYSX_H_
#ifndef _TORQUE_TYPES_H_
#include "platform/types.h"
#endif
#if defined(TORQUE_OS_MAC)
#define __APPLE__
#elif defined(TORQUE_OS_LINUX)
#define LINUX
#elif defined(TORQUE_OS_WIN32)
#define WIN32
#endif
#define _WHOLE_TERRAIN_
#define _DONT_USE_SHAPEBASE_
#include "nxOgre.h"
#pragma comment(lib, "nxOgre.lib")
#endif
#ifndef _PHYSX_WORLD_H_
#define _PHYSX_WORLD_H_
#include "physX/PhysX.h"
#ifndef _NETOBJECT_H_
#include "sim/netObject.h"
#endif
#ifndef _ITICKABLE_H_
#include "core/iTickable.h"
#endif
class ShapeBase;
class PhysXWorld : public NetObject, public virtual ITickable
{
private:
typedef NetObject Parent;
public:
PhysXWorld(void);
};
#endif
#include "physX/PhysXWorld.h"
PhysXWorld::PhysXWorld()
{
}
betajaen
07-07-2006 09:15:29
elementarladung
07-07-2006 09:19:50
5>Linking...
5>PhysXWorld.obj : error LNK2005: "void * __cdecl operator new(unsigned int,void *)" (??2@YAPAXIPAX@Z) already defined in winMemory.obj
5>../example/TSE.exe : fatal error LNK1169: one or more multiply defined symbols found
5>Build log was saved at "file://c:\copy\torque\TSE\engine\out.vc7.win32.release\BuildLog.htm"
betajaen
07-07-2006 09:21:58
elementarladung
07-07-2006 09:33:58
ColeZero
07-07-2006 13:04:39
betajaen
07-07-2006 14:30:20
elementarladung
07-07-2006 16:09:46
elementarladung
08-07-2006 10:12:07
elementarladung
10-07-2006 12:46:53
// Clear all groups.
if (mGroup.size() > 0) {
for(Map< StringTableEntry, nxOgre::group* >::Iterator i = mGroup.begin();i != mGroup.end();++i) {
delete static_cast<group*> (i->second);
}
}
mGroup.empty();
..\engine\nxOgre\nxOgre_scene.cpp(104) : error C2039: 'second' : is not a member of 'HashTable<Key,Value>::Pair'
..\engine\nxOgre\nxOgre_scene.cpp(108) : error C2039: 'empty' : is not a member of 'Map<Key,Value>'
betajaen
10-07-2006 13:07:59