mirror of
https://github.com/panda3d/panda3d.git
synced 2025-09-29 08:15:18 -04:00
general: Break apart BUILDING_PANDAPHYSICS
This commit is contained in:
parent
7e61891c09
commit
e73c25d15e
@ -111,6 +111,12 @@
|
||||
#define BUILDING_PANDA_EXPRESS
|
||||
#endif
|
||||
|
||||
/* BUILDING_PANDAPHYSICS for these: */
|
||||
#ifdef BUILDING_PANDAPHYSICS
|
||||
#define BUILDING_PANDA_PARTICLESYSTEM
|
||||
#define BUILDING_PANDA_PHYSICS
|
||||
#endif
|
||||
|
||||
#ifdef BUILDING_LIBPANDA
|
||||
#define EXPCL_LIBPANDA EXPORT_CLASS
|
||||
#define EXPTP_LIBPANDA EXPORT_TEMPL
|
||||
@ -287,6 +293,14 @@
|
||||
#define EXPTP_PANDA_PARAMETRICS IMPORT_TEMPL
|
||||
#endif
|
||||
|
||||
#ifdef BUILDING_PANDA_PARTICLESYSTEM
|
||||
#define EXPCL_PANDA_PARTICLESYSTEM EXPORT_CLASS
|
||||
#define EXPTP_PANDA_PARTICLESYSTEM EXPORT_TEMPL
|
||||
#else
|
||||
#define EXPCL_PANDA_PARTICLESYSTEM IMPORT_CLASS
|
||||
#define EXPTP_PANDA_PARTICLESYSTEM IMPORT_TEMPL
|
||||
#endif
|
||||
|
||||
#ifdef BUILDING_PANDA_PGRAPH
|
||||
#define EXPCL_PANDA_PGRAPH EXPORT_CLASS
|
||||
#define EXPTP_PANDA_PGRAPH EXPORT_TEMPL
|
||||
@ -311,6 +325,14 @@
|
||||
#define EXPTP_PANDA_PGUI IMPORT_TEMPL
|
||||
#endif
|
||||
|
||||
#ifdef BUILDING_PANDA_PHYSICS
|
||||
#define EXPCL_PANDA_PHYSICS EXPORT_CLASS
|
||||
#define EXPTP_PANDA_PHYSICS EXPORT_TEMPL
|
||||
#else
|
||||
#define EXPCL_PANDA_PHYSICS IMPORT_CLASS
|
||||
#define EXPTP_PANDA_PHYSICS IMPORT_TEMPL
|
||||
#endif
|
||||
|
||||
#ifdef BUILDING_PANDA_PIPELINE
|
||||
#define EXPCL_PANDA_PIPELINE EXPORT_CLASS
|
||||
#define EXPTP_PANDA_PIPELINE EXPORT_TEMPL
|
||||
|
@ -19,7 +19,7 @@
|
||||
/**
|
||||
* Describes a planar ring region in which particles are generated.
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS ArcEmitter : public RingEmitter {
|
||||
class EXPCL_PANDA_PARTICLESYSTEM ArcEmitter : public RingEmitter {
|
||||
PUBLISHED:
|
||||
ArcEmitter();
|
||||
ArcEmitter(const ArcEmitter ©);
|
||||
|
@ -20,7 +20,7 @@
|
||||
/**
|
||||
* An individual, physically-modelable particle abstract base class.
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS BaseParticle : public PhysicsObject {
|
||||
class EXPCL_PANDA_PARTICLESYSTEM BaseParticle : public PhysicsObject {
|
||||
public:
|
||||
// local methods
|
||||
INLINE void set_age(PN_stdfloat age);
|
||||
|
@ -22,7 +22,7 @@
|
||||
|
||||
#include "mathNumbers.h"
|
||||
|
||||
class EXPCL_PANDAPHYSICS BaseParticleEmitter : public ReferenceCount {
|
||||
class EXPCL_PANDA_PARTICLESYSTEM BaseParticleEmitter : public ReferenceCount {
|
||||
PUBLISHED:
|
||||
enum emissionType {
|
||||
ET_EXPLICIT, // all particles are emitted in parallel along the same vector
|
||||
|
@ -25,7 +25,7 @@
|
||||
/**
|
||||
* Pure Virtual base class for creating particles
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS BaseParticleFactory : public ReferenceCount {
|
||||
class EXPCL_PANDA_PARTICLESYSTEM BaseParticleFactory : public ReferenceCount {
|
||||
PUBLISHED:
|
||||
virtual ~BaseParticleFactory();
|
||||
|
||||
|
@ -29,7 +29,7 @@
|
||||
/**
|
||||
* Pure virtual particle renderer base class
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS BaseParticleRenderer : public ReferenceCount {
|
||||
class EXPCL_PANDA_PARTICLESYSTEM BaseParticleRenderer : public ReferenceCount {
|
||||
PUBLISHED:
|
||||
enum ParticleRendererAlphaMode {
|
||||
PR_ALPHA_NONE,
|
||||
|
@ -19,7 +19,7 @@
|
||||
/**
|
||||
* Describes a voluminous box region in which particles are generated.
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS BoxEmitter : public BaseParticleEmitter {
|
||||
class EXPCL_PANDA_PARTICLESYSTEM BoxEmitter : public BaseParticleEmitter {
|
||||
PUBLISHED:
|
||||
BoxEmitter();
|
||||
BoxEmitter(const BoxEmitter ©);
|
||||
|
@ -24,7 +24,7 @@
|
||||
* virtual interpolate() function.
|
||||
*/
|
||||
|
||||
class EXPCL_PANDAPHYSICS ColorInterpolationFunction : public TypedReferenceCount {
|
||||
class EXPCL_PANDA_PARTICLESYSTEM ColorInterpolationFunction : public TypedReferenceCount {
|
||||
PUBLISHED:
|
||||
// virtual string get_type();
|
||||
|
||||
@ -57,7 +57,7 @@ private:
|
||||
* Defines a constant color over the lifetime of the segment.
|
||||
*/
|
||||
|
||||
class EXPCL_PANDAPHYSICS ColorInterpolationFunctionConstant : public ColorInterpolationFunction {
|
||||
class EXPCL_PANDA_PARTICLESYSTEM ColorInterpolationFunctionConstant : public ColorInterpolationFunction {
|
||||
PUBLISHED:
|
||||
INLINE LColor get_color_a() const;
|
||||
|
||||
@ -96,7 +96,7 @@ private:
|
||||
* Defines a linear interpolation over the lifetime of the segment.
|
||||
*/
|
||||
|
||||
class EXPCL_PANDAPHYSICS ColorInterpolationFunctionLinear : public ColorInterpolationFunctionConstant {
|
||||
class EXPCL_PANDA_PARTICLESYSTEM ColorInterpolationFunctionLinear : public ColorInterpolationFunctionConstant {
|
||||
PUBLISHED:
|
||||
INLINE LColor get_color_b() const;
|
||||
|
||||
@ -138,7 +138,7 @@ private:
|
||||
* repeats until the end of the segment.
|
||||
*/
|
||||
|
||||
class EXPCL_PANDAPHYSICS ColorInterpolationFunctionStepwave : public ColorInterpolationFunctionLinear {
|
||||
class EXPCL_PANDA_PARTICLESYSTEM ColorInterpolationFunctionStepwave : public ColorInterpolationFunctionLinear {
|
||||
PUBLISHED:
|
||||
INLINE PN_stdfloat get_width_a() const;
|
||||
INLINE PN_stdfloat get_width_b() const;
|
||||
@ -183,7 +183,7 @@ private:
|
||||
* result in a higher frequency cycle.
|
||||
*/
|
||||
|
||||
class EXPCL_PANDAPHYSICS ColorInterpolationFunctionSinusoid : public ColorInterpolationFunctionLinear {
|
||||
class EXPCL_PANDA_PARTICLESYSTEM ColorInterpolationFunctionSinusoid : public ColorInterpolationFunctionLinear {
|
||||
PUBLISHED:
|
||||
INLINE PN_stdfloat get_period() const;
|
||||
|
||||
@ -224,7 +224,7 @@ private:
|
||||
* segment also has a function associated with it.
|
||||
*/
|
||||
|
||||
class EXPCL_PANDAPHYSICS ColorInterpolationSegment : public ReferenceCount {
|
||||
class EXPCL_PANDA_PARTICLESYSTEM ColorInterpolationSegment : public ReferenceCount {
|
||||
public:
|
||||
ColorInterpolationSegment(ColorInterpolationFunction* function, const PN_stdfloat &time_begin, const PN_stdfloat &time_end, const bool is_modulated, const int id);
|
||||
|
||||
@ -266,7 +266,7 @@ protected:
|
||||
* Access to these segments is provided but not necessary general use.
|
||||
*/
|
||||
|
||||
class EXPCL_PANDAPHYSICS ColorInterpolationManager : public ReferenceCount {
|
||||
class EXPCL_PANDA_PARTICLESYSTEM ColorInterpolationManager : public ReferenceCount {
|
||||
PUBLISHED:
|
||||
ColorInterpolationManager();
|
||||
ColorInterpolationManager(const LColor &c);
|
||||
|
@ -16,8 +16,8 @@
|
||||
#include "geomParticleRenderer.h"
|
||||
#include "geomNode.h"
|
||||
|
||||
#if !defined(CPPPARSER) && !defined(BUILDING_PANDAPHYSICS)
|
||||
#error Buildsystem error: BUILDING_PANDAPHYSICS not defined
|
||||
#if !defined(CPPPARSER) && !defined(BUILDING_PANDA_PARTICLESYSTEM)
|
||||
#error Buildsystem error: BUILDING_PANDA_PARTICLESYSTEM not defined
|
||||
#endif
|
||||
|
||||
ConfigureDef(config_particlesystem);
|
||||
|
@ -18,10 +18,10 @@
|
||||
#include "notifyCategoryProxy.h"
|
||||
#include "dconfig.h"
|
||||
|
||||
ConfigureDecl(config_particlesystem, EXPCL_PANDAPHYSICS, EXPTP_PANDAPHYSICS);
|
||||
NotifyCategoryDecl(particlesystem, EXPCL_PANDAPHYSICS, EXPTP_PANDAPHYSICS);
|
||||
ConfigureDecl(config_particlesystem, EXPCL_PANDA_PARTICLESYSTEM, EXPTP_PANDA_PARTICLESYSTEM);
|
||||
NotifyCategoryDecl(particlesystem, EXPCL_PANDA_PARTICLESYSTEM, EXPTP_PANDA_PARTICLESYSTEM);
|
||||
|
||||
extern EXPCL_PANDAPHYSICS void init_libparticlesystem();
|
||||
extern EXPCL_PANDA_PARTICLESYSTEM void init_libparticlesystem();
|
||||
|
||||
#ifndef NDEBUG //[
|
||||
// Non-release build:
|
||||
|
@ -19,7 +19,7 @@
|
||||
/**
|
||||
* Describes a planar disc region from which particles are generated
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS DiscEmitter : public BaseParticleEmitter {
|
||||
class EXPCL_PANDA_PARTICLESYSTEM DiscEmitter : public BaseParticleEmitter {
|
||||
PUBLISHED:
|
||||
DiscEmitter();
|
||||
DiscEmitter(const DiscEmitter ©);
|
||||
|
@ -23,7 +23,7 @@
|
||||
#include "pvector.h"
|
||||
#include "pStatCollector.h"
|
||||
|
||||
class EXPCL_PANDAPHYSICS GeomParticleRenderer : public BaseParticleRenderer {
|
||||
class EXPCL_PANDA_PARTICLESYSTEM GeomParticleRenderer : public BaseParticleRenderer {
|
||||
PUBLISHED:
|
||||
explicit GeomParticleRenderer(ParticleRendererAlphaMode am = PR_ALPHA_NONE,
|
||||
PandaNode *geom_node = nullptr);
|
||||
|
@ -19,7 +19,7 @@
|
||||
/**
|
||||
* Describes a linear region in which particles are generated.
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS LineEmitter : public BaseParticleEmitter {
|
||||
class EXPCL_PANDA_PARTICLESYSTEM LineEmitter : public BaseParticleEmitter {
|
||||
PUBLISHED:
|
||||
LineEmitter();
|
||||
LineEmitter(const LineEmitter ©);
|
||||
|
@ -28,7 +28,7 @@
|
||||
* sparks, etc.
|
||||
*/
|
||||
|
||||
class EXPCL_PANDAPHYSICS LineParticleRenderer : public BaseParticleRenderer {
|
||||
class EXPCL_PANDA_PARTICLESYSTEM LineParticleRenderer : public BaseParticleRenderer {
|
||||
PUBLISHED:
|
||||
LineParticleRenderer();
|
||||
LineParticleRenderer(const LineParticleRenderer& copy);
|
||||
|
@ -20,7 +20,7 @@
|
||||
* Describes a particle that has angular characteristics (velocity,
|
||||
* orientation).
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS OrientedParticle : public BaseParticle {
|
||||
class EXPCL_PANDA_PARTICLESYSTEM OrientedParticle : public BaseParticle {
|
||||
public:
|
||||
OrientedParticle(int lifespan = 0, bool alive = false);
|
||||
OrientedParticle(const OrientedParticle ©);
|
||||
|
@ -21,7 +21,7 @@
|
||||
/**
|
||||
* Creates particles that are affected by angular forces.
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS OrientedParticleFactory : public BaseParticleFactory {
|
||||
class EXPCL_PANDA_PARTICLESYSTEM OrientedParticleFactory : public BaseParticleFactory {
|
||||
PUBLISHED:
|
||||
OrientedParticleFactory();
|
||||
OrientedParticleFactory(const OrientedParticleFactory ©);
|
||||
|
@ -37,7 +37,7 @@ class ParticleSystemManager;
|
||||
/**
|
||||
* Contains and manages a particle system.
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS ParticleSystem : public Physical {
|
||||
class EXPCL_PANDA_PARTICLESYSTEM ParticleSystem : public Physical {
|
||||
PUBLISHED:
|
||||
// constructordestructor
|
||||
|
||||
|
@ -24,7 +24,7 @@
|
||||
* one doesn't have to be updated and rendered every frame See Also :
|
||||
* particleSystemManager.cxx
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS ParticleSystemManager {
|
||||
class EXPCL_PANDA_PARTICLESYSTEM ParticleSystemManager {
|
||||
PUBLISHED:
|
||||
explicit ParticleSystemManager(int every_nth_frame = 1);
|
||||
virtual ~ParticleSystemManager();
|
||||
|
@ -19,7 +19,7 @@
|
||||
/**
|
||||
* Describes a planar ring region in which particles are generated.
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS PointEmitter : public BaseParticleEmitter {
|
||||
class EXPCL_PANDA_PARTICLESYSTEM PointEmitter : public BaseParticleEmitter {
|
||||
PUBLISHED:
|
||||
PointEmitter();
|
||||
PointEmitter(const PointEmitter ©);
|
||||
|
@ -20,7 +20,7 @@
|
||||
* Describes a particle that requires representation by a point (pixel,
|
||||
* sparkle, billboard)
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS PointParticle : public BaseParticle {
|
||||
class EXPCL_PANDA_PARTICLESYSTEM PointParticle : public BaseParticle {
|
||||
public:
|
||||
PointParticle(PN_stdfloat lifespan = 0.0f, bool alive = false);
|
||||
PointParticle(const PointParticle ©);
|
||||
|
@ -20,7 +20,7 @@
|
||||
* Creates point particles to user specs
|
||||
*/
|
||||
|
||||
class EXPCL_PANDAPHYSICS PointParticleFactory : public BaseParticleFactory {
|
||||
class EXPCL_PANDA_PARTICLESYSTEM PointParticleFactory : public BaseParticleFactory {
|
||||
PUBLISHED:
|
||||
PointParticleFactory();
|
||||
PointParticleFactory(const PointParticleFactory ©);
|
||||
|
@ -30,7 +30,7 @@
|
||||
* BillboardParticleRenderer for that.
|
||||
*/
|
||||
|
||||
class EXPCL_PANDAPHYSICS PointParticleRenderer : public BaseParticleRenderer {
|
||||
class EXPCL_PANDA_PARTICLESYSTEM PointParticleRenderer : public BaseParticleRenderer {
|
||||
PUBLISHED:
|
||||
enum PointParticleBlendType {
|
||||
PP_ONE_COLOR,
|
||||
|
@ -19,7 +19,7 @@
|
||||
/**
|
||||
* Describes a planar square region in which particles are generated.
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS RectangleEmitter : public BaseParticleEmitter {
|
||||
class EXPCL_PANDA_PARTICLESYSTEM RectangleEmitter : public BaseParticleEmitter {
|
||||
PUBLISHED:
|
||||
RectangleEmitter();
|
||||
RectangleEmitter(const RectangleEmitter ©);
|
||||
|
@ -19,7 +19,7 @@
|
||||
/**
|
||||
* Describes a planar ring region in which particles are generated.
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS RingEmitter : public BaseParticleEmitter {
|
||||
class EXPCL_PANDA_PARTICLESYSTEM RingEmitter : public BaseParticleEmitter {
|
||||
PUBLISHED:
|
||||
RingEmitter();
|
||||
RingEmitter(const RingEmitter ©);
|
||||
|
@ -31,7 +31,7 @@ enum SparkleParticleLifeScale {
|
||||
/**
|
||||
* pretty sparkly things.
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS SparkleParticleRenderer : public BaseParticleRenderer {
|
||||
class EXPCL_PANDA_PARTICLESYSTEM SparkleParticleRenderer : public BaseParticleRenderer {
|
||||
PUBLISHED:
|
||||
enum SparkleParticleLifeScale {
|
||||
SP_NO_SCALE,
|
||||
|
@ -19,7 +19,7 @@
|
||||
/**
|
||||
* Describes a curved space in which particles are generated.
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS SphereSurfaceEmitter : public BaseParticleEmitter {
|
||||
class EXPCL_PANDA_PARTICLESYSTEM SphereSurfaceEmitter : public BaseParticleEmitter {
|
||||
PUBLISHED:
|
||||
SphereSurfaceEmitter();
|
||||
SphereSurfaceEmitter(const SphereSurfaceEmitter ©);
|
||||
|
@ -19,7 +19,7 @@
|
||||
/**
|
||||
* Describes a voluminous spherical region in which particles are generated.
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS SphereVolumeEmitter : public BaseParticleEmitter {
|
||||
class EXPCL_PANDA_PARTICLESYSTEM SphereVolumeEmitter : public BaseParticleEmitter {
|
||||
PUBLISHED:
|
||||
SphereVolumeEmitter();
|
||||
SphereVolumeEmitter(const SphereVolumeEmitter ©);
|
||||
|
@ -151,7 +151,7 @@ private:
|
||||
/**
|
||||
* Renders a particle system with high-speed nasty trick sprites.
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS SpriteParticleRenderer : public BaseParticleRenderer {
|
||||
class EXPCL_PANDA_PARTICLESYSTEM SpriteParticleRenderer : public BaseParticleRenderer {
|
||||
PUBLISHED:
|
||||
explicit SpriteParticleRenderer(Texture *tex = nullptr);
|
||||
SpriteParticleRenderer(const SpriteParticleRenderer ©);
|
||||
|
@ -20,7 +20,7 @@
|
||||
* Describes a planar ring region in which tangent particles are generated,
|
||||
* and particles fly off tangential to the ring.
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS TangentRingEmitter : public BaseParticleEmitter {
|
||||
class EXPCL_PANDA_PARTICLESYSTEM TangentRingEmitter : public BaseParticleEmitter {
|
||||
PUBLISHED:
|
||||
TangentRingEmitter();
|
||||
TangentRingEmitter(const TangentRingEmitter ©);
|
||||
|
@ -22,7 +22,7 @@
|
||||
* your sprites to spin without having them be full-blown oriented (i.e.
|
||||
* angry quat math), use this.
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS ZSpinParticle : public BaseParticle {
|
||||
class EXPCL_PANDA_PARTICLESYSTEM ZSpinParticle : public BaseParticle {
|
||||
public:
|
||||
ZSpinParticle();
|
||||
ZSpinParticle(const ZSpinParticle ©);
|
||||
|
@ -19,7 +19,7 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS ZSpinParticleFactory : public BaseParticleFactory {
|
||||
class EXPCL_PANDA_PARTICLESYSTEM ZSpinParticleFactory : public BaseParticleFactory {
|
||||
PUBLISHED:
|
||||
ZSpinParticleFactory();
|
||||
ZSpinParticleFactory(const ZSpinParticleFactory ©);
|
||||
|
@ -23,7 +23,7 @@
|
||||
* will be reflected as transforms. This relation goes both ways; changes in
|
||||
* the transform will update the object's position (shoves).
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS ActorNode : public PhysicalNode {
|
||||
class EXPCL_PANDA_PHYSICS ActorNode : public PhysicalNode {
|
||||
PUBLISHED:
|
||||
explicit ActorNode(const std::string &name = "");
|
||||
ActorNode(const ActorNode ©);
|
||||
|
@ -20,7 +20,7 @@
|
||||
* Performs Euler integration on a vector of physically modelable objects
|
||||
* given a quantum dt.
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS AngularEulerIntegrator : public AngularIntegrator {
|
||||
class EXPCL_PANDA_PHYSICS AngularEulerIntegrator : public AngularIntegrator {
|
||||
PUBLISHED:
|
||||
AngularEulerIntegrator();
|
||||
virtual ~AngularEulerIntegrator();
|
||||
|
@ -19,7 +19,7 @@
|
||||
/**
|
||||
* pure virtual parent of all quat-based forces.
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS AngularForce : public BaseForce {
|
||||
class EXPCL_PANDA_PHYSICS AngularForce : public BaseForce {
|
||||
PUBLISHED:
|
||||
virtual ~AngularForce();
|
||||
|
||||
|
@ -22,7 +22,7 @@
|
||||
* Pure virtual base class for physical modeling. Takes physically modelable
|
||||
* objects and applies forces to them.
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS AngularIntegrator : public BaseIntegrator {
|
||||
class EXPCL_PANDA_PHYSICS AngularIntegrator : public BaseIntegrator {
|
||||
PUBLISHED:
|
||||
virtual ~AngularIntegrator();
|
||||
public:
|
||||
|
@ -20,7 +20,7 @@
|
||||
* a simple directed torque force, the angular equivalent of simple vector
|
||||
* force.
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS AngularVectorForce : public AngularForce {
|
||||
class EXPCL_PANDA_PHYSICS AngularVectorForce : public AngularForce {
|
||||
PUBLISHED:
|
||||
explicit AngularVectorForce(const LRotation& quat);
|
||||
explicit AngularVectorForce(PN_stdfloat h, PN_stdfloat p, PN_stdfloat r);
|
||||
|
@ -26,7 +26,7 @@ class ForceNode;
|
||||
/**
|
||||
* pure virtual base class for all forces that could POSSIBLY exist.
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS BaseForce : public TypedReferenceCount {
|
||||
class EXPCL_PANDA_PHYSICS BaseForce : public TypedReferenceCount {
|
||||
PUBLISHED:
|
||||
virtual ~BaseForce();
|
||||
|
||||
|
@ -31,7 +31,7 @@ class Physical;
|
||||
* pure virtual integrator class that holds cached matrix information that
|
||||
* really should be common to any possible child implementation.
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS BaseIntegrator : public ReferenceCount {
|
||||
class EXPCL_PANDA_PHYSICS BaseIntegrator : public ReferenceCount {
|
||||
public:
|
||||
typedef epvector<LMatrix4> MatrixVector;
|
||||
typedef pvector<PT(LinearForce)> LinearForceVector;
|
||||
|
@ -26,8 +26,8 @@
|
||||
|
||||
#include "dconfig.h"
|
||||
|
||||
#if !defined(CPPPARSER) && !defined(BUILDING_PANDAPHYSICS)
|
||||
#error Buildsystem error: BUILDING_PANDAPHYSICS not defined
|
||||
#if !defined(CPPPARSER) && !defined(BUILDING_PANDA_PHYSICS)
|
||||
#error Buildsystem error: BUILDING_PANDA_PHYSICS not defined
|
||||
#endif
|
||||
|
||||
ConfigureDef(config_physics);
|
||||
|
@ -18,10 +18,10 @@
|
||||
#include "notifyCategoryProxy.h"
|
||||
#include "dconfig.h"
|
||||
|
||||
ConfigureDecl(config_physics, EXPCL_PANDAPHYSICS, EXPTP_PANDAPHYSICS);
|
||||
NotifyCategoryDecl(physics, EXPCL_PANDAPHYSICS, EXPTP_PANDAPHYSICS);
|
||||
ConfigureDecl(config_physics, EXPCL_PANDA_PHYSICS, EXPTP_PANDA_PHYSICS);
|
||||
NotifyCategoryDecl(physics, EXPCL_PANDA_PHYSICS, EXPTP_PANDA_PHYSICS);
|
||||
|
||||
extern EXPCL_PANDAPHYSICS void init_libphysics();
|
||||
extern EXPCL_PANDA_PHYSICS void init_libphysics();
|
||||
|
||||
// These macros get stripped out in a non-debug build (like asserts). Use them
|
||||
// like cout but with paranthesis aroud the cout input. e.g. foo_debug("The
|
||||
|
@ -24,7 +24,7 @@
|
||||
* coordinate systems. An example of this would be simulating gravity in a
|
||||
* rotating space station. or something.
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS ForceNode : public PandaNode {
|
||||
class EXPCL_PANDA_PHYSICS ForceNode : public PandaNode {
|
||||
PUBLISHED:
|
||||
explicit ForceNode(const std::string &name);
|
||||
INLINE void clear();
|
||||
|
@ -22,7 +22,7 @@
|
||||
* not make sense for a physics simulation, but it's very handy for a game.
|
||||
* I.e. this is the force applied by user on the selected object.
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS LinearControlForce : public LinearForce {
|
||||
class EXPCL_PANDA_PHYSICS LinearControlForce : public LinearForce {
|
||||
PUBLISHED:
|
||||
explicit LinearControlForce(const PhysicsObject *po = 0, PN_stdfloat a = 1.0f,
|
||||
bool mass = false);
|
||||
|
@ -23,7 +23,7 @@
|
||||
* warned- this will suck anything that it can reach directly into orbit and
|
||||
* will NOT let go.
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS LinearCylinderVortexForce : public LinearForce {
|
||||
class EXPCL_PANDA_PHYSICS LinearCylinderVortexForce : public LinearForce {
|
||||
PUBLISHED:
|
||||
explicit LinearCylinderVortexForce(PN_stdfloat radius = 1.0f,
|
||||
PN_stdfloat length = 0.0f,
|
||||
|
@ -21,7 +21,7 @@ class BamReader;
|
||||
/**
|
||||
* Pure virtual class for sinks and sources
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS LinearDistanceForce : public LinearForce {
|
||||
class EXPCL_PANDA_PHYSICS LinearDistanceForce : public LinearForce {
|
||||
PUBLISHED:
|
||||
enum FalloffType {
|
||||
FT_ONE_OVER_R,
|
||||
|
@ -20,7 +20,7 @@
|
||||
* Performs Euler integration on a vector of physically modelable objects
|
||||
* given a quantum dt.
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS LinearEulerIntegrator : public LinearIntegrator {
|
||||
class EXPCL_PANDA_PHYSICS LinearEulerIntegrator : public LinearIntegrator {
|
||||
PUBLISHED:
|
||||
LinearEulerIntegrator();
|
||||
virtual ~LinearEulerIntegrator();
|
||||
|
@ -20,7 +20,7 @@
|
||||
* A force that acts on a PhysicsObject by way of an Integrator. This is a
|
||||
* pure virtual base class.
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS LinearForce : public BaseForce {
|
||||
class EXPCL_PANDA_PHYSICS LinearForce : public BaseForce {
|
||||
PUBLISHED:
|
||||
~LinearForce();
|
||||
|
||||
|
@ -19,7 +19,7 @@
|
||||
/**
|
||||
* Friction-based drag force
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS LinearFrictionForce : public LinearForce {
|
||||
class EXPCL_PANDA_PHYSICS LinearFrictionForce : public LinearForce {
|
||||
PUBLISHED:
|
||||
explicit LinearFrictionForce(PN_stdfloat coef = 1.0f, PN_stdfloat a = 1.0f, bool m = false);
|
||||
LinearFrictionForce(const LinearFrictionForce ©);
|
||||
|
@ -23,7 +23,7 @@
|
||||
* Pure virtual base class for physical modeling. Takes physically modelable
|
||||
* objects and applies forces to them.
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS LinearIntegrator : public BaseIntegrator {
|
||||
class EXPCL_PANDA_PHYSICS LinearIntegrator : public BaseIntegrator {
|
||||
PUBLISHED:
|
||||
virtual ~LinearIntegrator();
|
||||
public:
|
||||
|
@ -20,7 +20,7 @@
|
||||
* Completely random noise force vector. Not repeatable, reliable, or
|
||||
* predictable.
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS LinearJitterForce : public LinearRandomForce {
|
||||
class EXPCL_PANDA_PHYSICS LinearJitterForce : public LinearRandomForce {
|
||||
PUBLISHED:
|
||||
explicit LinearJitterForce(PN_stdfloat a = 1.0f, bool m = false);
|
||||
LinearJitterForce(const LinearJitterForce ©);
|
||||
|
@ -21,7 +21,7 @@
|
||||
/**
|
||||
* Repeating noise force vector.
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS LinearNoiseForce : public LinearRandomForce {
|
||||
class EXPCL_PANDA_PHYSICS LinearNoiseForce : public LinearRandomForce {
|
||||
PUBLISHED:
|
||||
explicit LinearNoiseForce(PN_stdfloat a = 1.0f, bool m = false);
|
||||
LinearNoiseForce(const LinearNoiseForce ©);
|
||||
|
@ -22,7 +22,7 @@
|
||||
/**
|
||||
* Pure virtual, parent to noiseForce and jitterForce
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS LinearRandomForce : public LinearForce {
|
||||
class EXPCL_PANDA_PHYSICS LinearRandomForce : public LinearForce {
|
||||
PUBLISHED:
|
||||
virtual ~LinearRandomForce();
|
||||
|
||||
|
@ -19,7 +19,7 @@
|
||||
/**
|
||||
* Attractor force. Think black hole.
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS LinearSinkForce : public LinearDistanceForce {
|
||||
class EXPCL_PANDA_PHYSICS LinearSinkForce : public LinearDistanceForce {
|
||||
PUBLISHED:
|
||||
explicit LinearSinkForce(const LPoint3& p, FalloffType f, PN_stdfloat r,
|
||||
PN_stdfloat a = 1.0f, bool m = true);
|
||||
|
@ -19,7 +19,7 @@
|
||||
/**
|
||||
* Repellant force.
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS LinearSourceForce : public LinearDistanceForce {
|
||||
class EXPCL_PANDA_PHYSICS LinearSourceForce : public LinearDistanceForce {
|
||||
PUBLISHED:
|
||||
explicit LinearSourceForce(const LPoint3& p, FalloffType f, PN_stdfloat r,
|
||||
PN_stdfloat a = 1.0f, bool mass = true);
|
||||
|
@ -19,7 +19,7 @@
|
||||
/**
|
||||
* A programmable force that takes an evaluator function.
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS LinearUserDefinedForce : public LinearForce {
|
||||
class EXPCL_PANDA_PHYSICS LinearUserDefinedForce : public LinearForce {
|
||||
PUBLISHED:
|
||||
explicit LinearUserDefinedForce(LVector3 (*proc)(const PhysicsObject *) = nullptr,
|
||||
PN_stdfloat a = 1.0f, bool md = false);
|
||||
|
@ -20,7 +20,7 @@
|
||||
* Simple directed vector force. Suitable for gravity, non-turbulent wind,
|
||||
* etc...
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS LinearVectorForce : public LinearForce {
|
||||
class EXPCL_PANDA_PHYSICS LinearVectorForce : public LinearForce {
|
||||
PUBLISHED:
|
||||
explicit LinearVectorForce(const LVector3& vec, PN_stdfloat a = 1.0f, bool mass = false);
|
||||
explicit LinearVectorForce(PN_stdfloat x = 0.0f, PN_stdfloat y = 0.0f, PN_stdfloat z = 0.0f,
|
||||
|
@ -34,7 +34,7 @@ class PhysicsManager;
|
||||
* Defines a set of physically modeled attributes. If you want physics
|
||||
* applied to your class, derive it from this.
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS Physical : public TypedReferenceCount {
|
||||
class EXPCL_PANDA_PHYSICS Physical : public TypedReferenceCount {
|
||||
public:
|
||||
// typedef pvector<PT(PhysicsObject)> PhysicsObjectVector;
|
||||
typedef pvector<PT(LinearForce)> LinearForceVector;
|
||||
|
@ -25,7 +25,7 @@
|
||||
/**
|
||||
* Graph node that encapsulated a series of physical objects
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS PhysicalNode : public PandaNode {
|
||||
class EXPCL_PANDA_PHYSICS PhysicalNode : public PandaNode {
|
||||
PUBLISHED:
|
||||
explicit PhysicalNode(const std::string &name);
|
||||
INLINE void clear();
|
||||
|
@ -23,7 +23,7 @@
|
||||
* that attempt to move into solid walls. This also puts forces onto the
|
||||
* physics objects
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS PhysicsCollisionHandler :
|
||||
class EXPCL_PANDA_PHYSICS PhysicsCollisionHandler :
|
||||
public CollisionHandlerPusher {
|
||||
PUBLISHED:
|
||||
PhysicsCollisionHandler();
|
||||
|
@ -33,7 +33,7 @@
|
||||
* Physics don't get much higher-level than this. Attach as many Physicals
|
||||
* (particle systems, etc..) as you want, pick an integrator and go.
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS PhysicsManager {
|
||||
class EXPCL_PANDA_PHYSICS PhysicsManager {
|
||||
public:
|
||||
// NOTE that the physicals container is NOT reference counted. this does
|
||||
// indeed mean that you are NOT supposed to use this as a primary storage
|
||||
|
@ -24,7 +24,7 @@
|
||||
* motion to your class, do NOT derive from this. Derive from Physical
|
||||
* instead.
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS PhysicsObject : public TypedReferenceCount {
|
||||
class EXPCL_PANDA_PHYSICS PhysicsObject : public TypedReferenceCount {
|
||||
public:
|
||||
typedef pvector<PT(PhysicsObject)> Vector;
|
||||
|
||||
|
@ -22,7 +22,7 @@
|
||||
* This is a set of zero or more PhysicsObjects. It's handy for returning
|
||||
* from functions that need to return multiple PhysicsObjects.
|
||||
*/
|
||||
class EXPCL_PANDAPHYSICS PhysicsObjectCollection {
|
||||
class EXPCL_PANDA_PHYSICS PhysicsObjectCollection {
|
||||
PUBLISHED:
|
||||
PhysicsObjectCollection();
|
||||
PhysicsObjectCollection(const PhysicsObjectCollection ©);
|
||||
|
Loading…
x
Reference in New Issue
Block a user