general: Break apart BUILDING_PANDAPHYSICS

This commit is contained in:
Sam Edwards 2018-06-10 19:19:24 -06:00
parent 7e61891c09
commit e73c25d15e
61 changed files with 94 additions and 72 deletions

View File

@ -111,6 +111,12 @@
#define BUILDING_PANDA_EXPRESS #define BUILDING_PANDA_EXPRESS
#endif #endif
/* BUILDING_PANDAPHYSICS for these: */
#ifdef BUILDING_PANDAPHYSICS
#define BUILDING_PANDA_PARTICLESYSTEM
#define BUILDING_PANDA_PHYSICS
#endif
#ifdef BUILDING_LIBPANDA #ifdef BUILDING_LIBPANDA
#define EXPCL_LIBPANDA EXPORT_CLASS #define EXPCL_LIBPANDA EXPORT_CLASS
#define EXPTP_LIBPANDA EXPORT_TEMPL #define EXPTP_LIBPANDA EXPORT_TEMPL
@ -287,6 +293,14 @@
#define EXPTP_PANDA_PARAMETRICS IMPORT_TEMPL #define EXPTP_PANDA_PARAMETRICS IMPORT_TEMPL
#endif #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 #ifdef BUILDING_PANDA_PGRAPH
#define EXPCL_PANDA_PGRAPH EXPORT_CLASS #define EXPCL_PANDA_PGRAPH EXPORT_CLASS
#define EXPTP_PANDA_PGRAPH EXPORT_TEMPL #define EXPTP_PANDA_PGRAPH EXPORT_TEMPL
@ -311,6 +325,14 @@
#define EXPTP_PANDA_PGUI IMPORT_TEMPL #define EXPTP_PANDA_PGUI IMPORT_TEMPL
#endif #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 #ifdef BUILDING_PANDA_PIPELINE
#define EXPCL_PANDA_PIPELINE EXPORT_CLASS #define EXPCL_PANDA_PIPELINE EXPORT_CLASS
#define EXPTP_PANDA_PIPELINE EXPORT_TEMPL #define EXPTP_PANDA_PIPELINE EXPORT_TEMPL

View File

@ -19,7 +19,7 @@
/** /**
* Describes a planar ring region in which particles are generated. * Describes a planar ring region in which particles are generated.
*/ */
class EXPCL_PANDAPHYSICS ArcEmitter : public RingEmitter { class EXPCL_PANDA_PARTICLESYSTEM ArcEmitter : public RingEmitter {
PUBLISHED: PUBLISHED:
ArcEmitter(); ArcEmitter();
ArcEmitter(const ArcEmitter &copy); ArcEmitter(const ArcEmitter &copy);

View File

@ -20,7 +20,7 @@
/** /**
* An individual, physically-modelable particle abstract base class. * An individual, physically-modelable particle abstract base class.
*/ */
class EXPCL_PANDAPHYSICS BaseParticle : public PhysicsObject { class EXPCL_PANDA_PARTICLESYSTEM BaseParticle : public PhysicsObject {
public: public:
// local methods // local methods
INLINE void set_age(PN_stdfloat age); INLINE void set_age(PN_stdfloat age);

View File

@ -22,7 +22,7 @@
#include "mathNumbers.h" #include "mathNumbers.h"
class EXPCL_PANDAPHYSICS BaseParticleEmitter : public ReferenceCount { class EXPCL_PANDA_PARTICLESYSTEM BaseParticleEmitter : public ReferenceCount {
PUBLISHED: PUBLISHED:
enum emissionType { enum emissionType {
ET_EXPLICIT, // all particles are emitted in parallel along the same vector ET_EXPLICIT, // all particles are emitted in parallel along the same vector

View File

@ -25,7 +25,7 @@
/** /**
* Pure Virtual base class for creating particles * Pure Virtual base class for creating particles
*/ */
class EXPCL_PANDAPHYSICS BaseParticleFactory : public ReferenceCount { class EXPCL_PANDA_PARTICLESYSTEM BaseParticleFactory : public ReferenceCount {
PUBLISHED: PUBLISHED:
virtual ~BaseParticleFactory(); virtual ~BaseParticleFactory();

View File

@ -29,7 +29,7 @@
/** /**
* Pure virtual particle renderer base class * Pure virtual particle renderer base class
*/ */
class EXPCL_PANDAPHYSICS BaseParticleRenderer : public ReferenceCount { class EXPCL_PANDA_PARTICLESYSTEM BaseParticleRenderer : public ReferenceCount {
PUBLISHED: PUBLISHED:
enum ParticleRendererAlphaMode { enum ParticleRendererAlphaMode {
PR_ALPHA_NONE, PR_ALPHA_NONE,

View File

@ -19,7 +19,7 @@
/** /**
* Describes a voluminous box region in which particles are generated. * Describes a voluminous box region in which particles are generated.
*/ */
class EXPCL_PANDAPHYSICS BoxEmitter : public BaseParticleEmitter { class EXPCL_PANDA_PARTICLESYSTEM BoxEmitter : public BaseParticleEmitter {
PUBLISHED: PUBLISHED:
BoxEmitter(); BoxEmitter();
BoxEmitter(const BoxEmitter &copy); BoxEmitter(const BoxEmitter &copy);

View File

@ -24,7 +24,7 @@
* virtual interpolate() function. * virtual interpolate() function.
*/ */
class EXPCL_PANDAPHYSICS ColorInterpolationFunction : public TypedReferenceCount { class EXPCL_PANDA_PARTICLESYSTEM ColorInterpolationFunction : public TypedReferenceCount {
PUBLISHED: PUBLISHED:
// virtual string get_type(); // virtual string get_type();
@ -57,7 +57,7 @@ private:
* Defines a constant color over the lifetime of the segment. * Defines a constant color over the lifetime of the segment.
*/ */
class EXPCL_PANDAPHYSICS ColorInterpolationFunctionConstant : public ColorInterpolationFunction { class EXPCL_PANDA_PARTICLESYSTEM ColorInterpolationFunctionConstant : public ColorInterpolationFunction {
PUBLISHED: PUBLISHED:
INLINE LColor get_color_a() const; INLINE LColor get_color_a() const;
@ -96,7 +96,7 @@ private:
* Defines a linear interpolation over the lifetime of the segment. * Defines a linear interpolation over the lifetime of the segment.
*/ */
class EXPCL_PANDAPHYSICS ColorInterpolationFunctionLinear : public ColorInterpolationFunctionConstant { class EXPCL_PANDA_PARTICLESYSTEM ColorInterpolationFunctionLinear : public ColorInterpolationFunctionConstant {
PUBLISHED: PUBLISHED:
INLINE LColor get_color_b() const; INLINE LColor get_color_b() const;
@ -138,7 +138,7 @@ private:
* repeats until the end of the segment. * repeats until the end of the segment.
*/ */
class EXPCL_PANDAPHYSICS ColorInterpolationFunctionStepwave : public ColorInterpolationFunctionLinear { class EXPCL_PANDA_PARTICLESYSTEM ColorInterpolationFunctionStepwave : public ColorInterpolationFunctionLinear {
PUBLISHED: PUBLISHED:
INLINE PN_stdfloat get_width_a() const; INLINE PN_stdfloat get_width_a() const;
INLINE PN_stdfloat get_width_b() const; INLINE PN_stdfloat get_width_b() const;
@ -183,7 +183,7 @@ private:
* result in a higher frequency cycle. * result in a higher frequency cycle.
*/ */
class EXPCL_PANDAPHYSICS ColorInterpolationFunctionSinusoid : public ColorInterpolationFunctionLinear { class EXPCL_PANDA_PARTICLESYSTEM ColorInterpolationFunctionSinusoid : public ColorInterpolationFunctionLinear {
PUBLISHED: PUBLISHED:
INLINE PN_stdfloat get_period() const; INLINE PN_stdfloat get_period() const;
@ -224,7 +224,7 @@ private:
* segment also has a function associated with it. * segment also has a function associated with it.
*/ */
class EXPCL_PANDAPHYSICS ColorInterpolationSegment : public ReferenceCount { class EXPCL_PANDA_PARTICLESYSTEM ColorInterpolationSegment : public ReferenceCount {
public: public:
ColorInterpolationSegment(ColorInterpolationFunction* function, const PN_stdfloat &time_begin, const PN_stdfloat &time_end, const bool is_modulated, const int id); 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. * 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: PUBLISHED:
ColorInterpolationManager(); ColorInterpolationManager();
ColorInterpolationManager(const LColor &c); ColorInterpolationManager(const LColor &c);

View File

@ -16,8 +16,8 @@
#include "geomParticleRenderer.h" #include "geomParticleRenderer.h"
#include "geomNode.h" #include "geomNode.h"
#if !defined(CPPPARSER) && !defined(BUILDING_PANDAPHYSICS) #if !defined(CPPPARSER) && !defined(BUILDING_PANDA_PARTICLESYSTEM)
#error Buildsystem error: BUILDING_PANDAPHYSICS not defined #error Buildsystem error: BUILDING_PANDA_PARTICLESYSTEM not defined
#endif #endif
ConfigureDef(config_particlesystem); ConfigureDef(config_particlesystem);

View File

@ -18,10 +18,10 @@
#include "notifyCategoryProxy.h" #include "notifyCategoryProxy.h"
#include "dconfig.h" #include "dconfig.h"
ConfigureDecl(config_particlesystem, EXPCL_PANDAPHYSICS, EXPTP_PANDAPHYSICS); ConfigureDecl(config_particlesystem, EXPCL_PANDA_PARTICLESYSTEM, EXPTP_PANDA_PARTICLESYSTEM);
NotifyCategoryDecl(particlesystem, EXPCL_PANDAPHYSICS, EXPTP_PANDAPHYSICS); NotifyCategoryDecl(particlesystem, EXPCL_PANDA_PARTICLESYSTEM, EXPTP_PANDA_PARTICLESYSTEM);
extern EXPCL_PANDAPHYSICS void init_libparticlesystem(); extern EXPCL_PANDA_PARTICLESYSTEM void init_libparticlesystem();
#ifndef NDEBUG //[ #ifndef NDEBUG //[
// Non-release build: // Non-release build:

View File

@ -19,7 +19,7 @@
/** /**
* Describes a planar disc region from which particles are generated * Describes a planar disc region from which particles are generated
*/ */
class EXPCL_PANDAPHYSICS DiscEmitter : public BaseParticleEmitter { class EXPCL_PANDA_PARTICLESYSTEM DiscEmitter : public BaseParticleEmitter {
PUBLISHED: PUBLISHED:
DiscEmitter(); DiscEmitter();
DiscEmitter(const DiscEmitter &copy); DiscEmitter(const DiscEmitter &copy);

View File

@ -23,7 +23,7 @@
#include "pvector.h" #include "pvector.h"
#include "pStatCollector.h" #include "pStatCollector.h"
class EXPCL_PANDAPHYSICS GeomParticleRenderer : public BaseParticleRenderer { class EXPCL_PANDA_PARTICLESYSTEM GeomParticleRenderer : public BaseParticleRenderer {
PUBLISHED: PUBLISHED:
explicit GeomParticleRenderer(ParticleRendererAlphaMode am = PR_ALPHA_NONE, explicit GeomParticleRenderer(ParticleRendererAlphaMode am = PR_ALPHA_NONE,
PandaNode *geom_node = nullptr); PandaNode *geom_node = nullptr);

View File

@ -19,7 +19,7 @@
/** /**
* Describes a linear region in which particles are generated. * Describes a linear region in which particles are generated.
*/ */
class EXPCL_PANDAPHYSICS LineEmitter : public BaseParticleEmitter { class EXPCL_PANDA_PARTICLESYSTEM LineEmitter : public BaseParticleEmitter {
PUBLISHED: PUBLISHED:
LineEmitter(); LineEmitter();
LineEmitter(const LineEmitter &copy); LineEmitter(const LineEmitter &copy);

View File

@ -28,7 +28,7 @@
* sparks, etc. * sparks, etc.
*/ */
class EXPCL_PANDAPHYSICS LineParticleRenderer : public BaseParticleRenderer { class EXPCL_PANDA_PARTICLESYSTEM LineParticleRenderer : public BaseParticleRenderer {
PUBLISHED: PUBLISHED:
LineParticleRenderer(); LineParticleRenderer();
LineParticleRenderer(const LineParticleRenderer& copy); LineParticleRenderer(const LineParticleRenderer& copy);

View File

@ -20,7 +20,7 @@
* Describes a particle that has angular characteristics (velocity, * Describes a particle that has angular characteristics (velocity,
* orientation). * orientation).
*/ */
class EXPCL_PANDAPHYSICS OrientedParticle : public BaseParticle { class EXPCL_PANDA_PARTICLESYSTEM OrientedParticle : public BaseParticle {
public: public:
OrientedParticle(int lifespan = 0, bool alive = false); OrientedParticle(int lifespan = 0, bool alive = false);
OrientedParticle(const OrientedParticle &copy); OrientedParticle(const OrientedParticle &copy);

View File

@ -21,7 +21,7 @@
/** /**
* Creates particles that are affected by angular forces. * Creates particles that are affected by angular forces.
*/ */
class EXPCL_PANDAPHYSICS OrientedParticleFactory : public BaseParticleFactory { class EXPCL_PANDA_PARTICLESYSTEM OrientedParticleFactory : public BaseParticleFactory {
PUBLISHED: PUBLISHED:
OrientedParticleFactory(); OrientedParticleFactory();
OrientedParticleFactory(const OrientedParticleFactory &copy); OrientedParticleFactory(const OrientedParticleFactory &copy);

View File

@ -37,7 +37,7 @@ class ParticleSystemManager;
/** /**
* Contains and manages a particle system. * Contains and manages a particle system.
*/ */
class EXPCL_PANDAPHYSICS ParticleSystem : public Physical { class EXPCL_PANDA_PARTICLESYSTEM ParticleSystem : public Physical {
PUBLISHED: PUBLISHED:
// constructordestructor // constructordestructor

View File

@ -24,7 +24,7 @@
* one doesn't have to be updated and rendered every frame See Also : * one doesn't have to be updated and rendered every frame See Also :
* particleSystemManager.cxx * particleSystemManager.cxx
*/ */
class EXPCL_PANDAPHYSICS ParticleSystemManager { class EXPCL_PANDA_PARTICLESYSTEM ParticleSystemManager {
PUBLISHED: PUBLISHED:
explicit ParticleSystemManager(int every_nth_frame = 1); explicit ParticleSystemManager(int every_nth_frame = 1);
virtual ~ParticleSystemManager(); virtual ~ParticleSystemManager();

View File

@ -19,7 +19,7 @@
/** /**
* Describes a planar ring region in which particles are generated. * Describes a planar ring region in which particles are generated.
*/ */
class EXPCL_PANDAPHYSICS PointEmitter : public BaseParticleEmitter { class EXPCL_PANDA_PARTICLESYSTEM PointEmitter : public BaseParticleEmitter {
PUBLISHED: PUBLISHED:
PointEmitter(); PointEmitter();
PointEmitter(const PointEmitter &copy); PointEmitter(const PointEmitter &copy);

View File

@ -20,7 +20,7 @@
* Describes a particle that requires representation by a point (pixel, * Describes a particle that requires representation by a point (pixel,
* sparkle, billboard) * sparkle, billboard)
*/ */
class EXPCL_PANDAPHYSICS PointParticle : public BaseParticle { class EXPCL_PANDA_PARTICLESYSTEM PointParticle : public BaseParticle {
public: public:
PointParticle(PN_stdfloat lifespan = 0.0f, bool alive = false); PointParticle(PN_stdfloat lifespan = 0.0f, bool alive = false);
PointParticle(const PointParticle &copy); PointParticle(const PointParticle &copy);

View File

@ -20,7 +20,7 @@
* Creates point particles to user specs * Creates point particles to user specs
*/ */
class EXPCL_PANDAPHYSICS PointParticleFactory : public BaseParticleFactory { class EXPCL_PANDA_PARTICLESYSTEM PointParticleFactory : public BaseParticleFactory {
PUBLISHED: PUBLISHED:
PointParticleFactory(); PointParticleFactory();
PointParticleFactory(const PointParticleFactory &copy); PointParticleFactory(const PointParticleFactory &copy);

View File

@ -30,7 +30,7 @@
* BillboardParticleRenderer for that. * BillboardParticleRenderer for that.
*/ */
class EXPCL_PANDAPHYSICS PointParticleRenderer : public BaseParticleRenderer { class EXPCL_PANDA_PARTICLESYSTEM PointParticleRenderer : public BaseParticleRenderer {
PUBLISHED: PUBLISHED:
enum PointParticleBlendType { enum PointParticleBlendType {
PP_ONE_COLOR, PP_ONE_COLOR,

View File

@ -19,7 +19,7 @@
/** /**
* Describes a planar square region in which particles are generated. * Describes a planar square region in which particles are generated.
*/ */
class EXPCL_PANDAPHYSICS RectangleEmitter : public BaseParticleEmitter { class EXPCL_PANDA_PARTICLESYSTEM RectangleEmitter : public BaseParticleEmitter {
PUBLISHED: PUBLISHED:
RectangleEmitter(); RectangleEmitter();
RectangleEmitter(const RectangleEmitter &copy); RectangleEmitter(const RectangleEmitter &copy);

View File

@ -19,7 +19,7 @@
/** /**
* Describes a planar ring region in which particles are generated. * Describes a planar ring region in which particles are generated.
*/ */
class EXPCL_PANDAPHYSICS RingEmitter : public BaseParticleEmitter { class EXPCL_PANDA_PARTICLESYSTEM RingEmitter : public BaseParticleEmitter {
PUBLISHED: PUBLISHED:
RingEmitter(); RingEmitter();
RingEmitter(const RingEmitter &copy); RingEmitter(const RingEmitter &copy);

View File

@ -31,7 +31,7 @@ enum SparkleParticleLifeScale {
/** /**
* pretty sparkly things. * pretty sparkly things.
*/ */
class EXPCL_PANDAPHYSICS SparkleParticleRenderer : public BaseParticleRenderer { class EXPCL_PANDA_PARTICLESYSTEM SparkleParticleRenderer : public BaseParticleRenderer {
PUBLISHED: PUBLISHED:
enum SparkleParticleLifeScale { enum SparkleParticleLifeScale {
SP_NO_SCALE, SP_NO_SCALE,

View File

@ -19,7 +19,7 @@
/** /**
* Describes a curved space in which particles are generated. * Describes a curved space in which particles are generated.
*/ */
class EXPCL_PANDAPHYSICS SphereSurfaceEmitter : public BaseParticleEmitter { class EXPCL_PANDA_PARTICLESYSTEM SphereSurfaceEmitter : public BaseParticleEmitter {
PUBLISHED: PUBLISHED:
SphereSurfaceEmitter(); SphereSurfaceEmitter();
SphereSurfaceEmitter(const SphereSurfaceEmitter &copy); SphereSurfaceEmitter(const SphereSurfaceEmitter &copy);

View File

@ -19,7 +19,7 @@
/** /**
* Describes a voluminous spherical region in which particles are generated. * Describes a voluminous spherical region in which particles are generated.
*/ */
class EXPCL_PANDAPHYSICS SphereVolumeEmitter : public BaseParticleEmitter { class EXPCL_PANDA_PARTICLESYSTEM SphereVolumeEmitter : public BaseParticleEmitter {
PUBLISHED: PUBLISHED:
SphereVolumeEmitter(); SphereVolumeEmitter();
SphereVolumeEmitter(const SphereVolumeEmitter &copy); SphereVolumeEmitter(const SphereVolumeEmitter &copy);

View File

@ -151,7 +151,7 @@ private:
/** /**
* Renders a particle system with high-speed nasty trick sprites. * Renders a particle system with high-speed nasty trick sprites.
*/ */
class EXPCL_PANDAPHYSICS SpriteParticleRenderer : public BaseParticleRenderer { class EXPCL_PANDA_PARTICLESYSTEM SpriteParticleRenderer : public BaseParticleRenderer {
PUBLISHED: PUBLISHED:
explicit SpriteParticleRenderer(Texture *tex = nullptr); explicit SpriteParticleRenderer(Texture *tex = nullptr);
SpriteParticleRenderer(const SpriteParticleRenderer &copy); SpriteParticleRenderer(const SpriteParticleRenderer &copy);

View File

@ -20,7 +20,7 @@
* Describes a planar ring region in which tangent particles are generated, * Describes a planar ring region in which tangent particles are generated,
* and particles fly off tangential to the ring. * and particles fly off tangential to the ring.
*/ */
class EXPCL_PANDAPHYSICS TangentRingEmitter : public BaseParticleEmitter { class EXPCL_PANDA_PARTICLESYSTEM TangentRingEmitter : public BaseParticleEmitter {
PUBLISHED: PUBLISHED:
TangentRingEmitter(); TangentRingEmitter();
TangentRingEmitter(const TangentRingEmitter &copy); TangentRingEmitter(const TangentRingEmitter &copy);

View File

@ -22,7 +22,7 @@
* your sprites to spin without having them be full-blown oriented (i.e. * your sprites to spin without having them be full-blown oriented (i.e.
* angry quat math), use this. * angry quat math), use this.
*/ */
class EXPCL_PANDAPHYSICS ZSpinParticle : public BaseParticle { class EXPCL_PANDA_PARTICLESYSTEM ZSpinParticle : public BaseParticle {
public: public:
ZSpinParticle(); ZSpinParticle();
ZSpinParticle(const ZSpinParticle &copy); ZSpinParticle(const ZSpinParticle &copy);

View File

@ -19,7 +19,7 @@
/** /**
* *
*/ */
class EXPCL_PANDAPHYSICS ZSpinParticleFactory : public BaseParticleFactory { class EXPCL_PANDA_PARTICLESYSTEM ZSpinParticleFactory : public BaseParticleFactory {
PUBLISHED: PUBLISHED:
ZSpinParticleFactory(); ZSpinParticleFactory();
ZSpinParticleFactory(const ZSpinParticleFactory &copy); ZSpinParticleFactory(const ZSpinParticleFactory &copy);

View File

@ -23,7 +23,7 @@
* will be reflected as transforms. This relation goes both ways; changes in * will be reflected as transforms. This relation goes both ways; changes in
* the transform will update the object's position (shoves). * the transform will update the object's position (shoves).
*/ */
class EXPCL_PANDAPHYSICS ActorNode : public PhysicalNode { class EXPCL_PANDA_PHYSICS ActorNode : public PhysicalNode {
PUBLISHED: PUBLISHED:
explicit ActorNode(const std::string &name = ""); explicit ActorNode(const std::string &name = "");
ActorNode(const ActorNode &copy); ActorNode(const ActorNode &copy);

View File

@ -20,7 +20,7 @@
* Performs Euler integration on a vector of physically modelable objects * Performs Euler integration on a vector of physically modelable objects
* given a quantum dt. * given a quantum dt.
*/ */
class EXPCL_PANDAPHYSICS AngularEulerIntegrator : public AngularIntegrator { class EXPCL_PANDA_PHYSICS AngularEulerIntegrator : public AngularIntegrator {
PUBLISHED: PUBLISHED:
AngularEulerIntegrator(); AngularEulerIntegrator();
virtual ~AngularEulerIntegrator(); virtual ~AngularEulerIntegrator();

View File

@ -19,7 +19,7 @@
/** /**
* pure virtual parent of all quat-based forces. * pure virtual parent of all quat-based forces.
*/ */
class EXPCL_PANDAPHYSICS AngularForce : public BaseForce { class EXPCL_PANDA_PHYSICS AngularForce : public BaseForce {
PUBLISHED: PUBLISHED:
virtual ~AngularForce(); virtual ~AngularForce();

View File

@ -22,7 +22,7 @@
* Pure virtual base class for physical modeling. Takes physically modelable * Pure virtual base class for physical modeling. Takes physically modelable
* objects and applies forces to them. * objects and applies forces to them.
*/ */
class EXPCL_PANDAPHYSICS AngularIntegrator : public BaseIntegrator { class EXPCL_PANDA_PHYSICS AngularIntegrator : public BaseIntegrator {
PUBLISHED: PUBLISHED:
virtual ~AngularIntegrator(); virtual ~AngularIntegrator();
public: public:

View File

@ -20,7 +20,7 @@
* a simple directed torque force, the angular equivalent of simple vector * a simple directed torque force, the angular equivalent of simple vector
* force. * force.
*/ */
class EXPCL_PANDAPHYSICS AngularVectorForce : public AngularForce { class EXPCL_PANDA_PHYSICS AngularVectorForce : public AngularForce {
PUBLISHED: PUBLISHED:
explicit AngularVectorForce(const LRotation& quat); explicit AngularVectorForce(const LRotation& quat);
explicit AngularVectorForce(PN_stdfloat h, PN_stdfloat p, PN_stdfloat r); explicit AngularVectorForce(PN_stdfloat h, PN_stdfloat p, PN_stdfloat r);

View File

@ -26,7 +26,7 @@ class ForceNode;
/** /**
* pure virtual base class for all forces that could POSSIBLY exist. * 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: PUBLISHED:
virtual ~BaseForce(); virtual ~BaseForce();

View File

@ -31,7 +31,7 @@ class Physical;
* pure virtual integrator class that holds cached matrix information that * pure virtual integrator class that holds cached matrix information that
* really should be common to any possible child implementation. * really should be common to any possible child implementation.
*/ */
class EXPCL_PANDAPHYSICS BaseIntegrator : public ReferenceCount { class EXPCL_PANDA_PHYSICS BaseIntegrator : public ReferenceCount {
public: public:
typedef epvector<LMatrix4> MatrixVector; typedef epvector<LMatrix4> MatrixVector;
typedef pvector<PT(LinearForce)> LinearForceVector; typedef pvector<PT(LinearForce)> LinearForceVector;

View File

@ -26,8 +26,8 @@
#include "dconfig.h" #include "dconfig.h"
#if !defined(CPPPARSER) && !defined(BUILDING_PANDAPHYSICS) #if !defined(CPPPARSER) && !defined(BUILDING_PANDA_PHYSICS)
#error Buildsystem error: BUILDING_PANDAPHYSICS not defined #error Buildsystem error: BUILDING_PANDA_PHYSICS not defined
#endif #endif
ConfigureDef(config_physics); ConfigureDef(config_physics);

View File

@ -18,10 +18,10 @@
#include "notifyCategoryProxy.h" #include "notifyCategoryProxy.h"
#include "dconfig.h" #include "dconfig.h"
ConfigureDecl(config_physics, EXPCL_PANDAPHYSICS, EXPTP_PANDAPHYSICS); ConfigureDecl(config_physics, EXPCL_PANDA_PHYSICS, EXPTP_PANDA_PHYSICS);
NotifyCategoryDecl(physics, EXPCL_PANDAPHYSICS, EXPTP_PANDAPHYSICS); 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 // 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 // like cout but with paranthesis aroud the cout input. e.g. foo_debug("The

View File

@ -24,7 +24,7 @@
* coordinate systems. An example of this would be simulating gravity in a * coordinate systems. An example of this would be simulating gravity in a
* rotating space station. or something. * rotating space station. or something.
*/ */
class EXPCL_PANDAPHYSICS ForceNode : public PandaNode { class EXPCL_PANDA_PHYSICS ForceNode : public PandaNode {
PUBLISHED: PUBLISHED:
explicit ForceNode(const std::string &name); explicit ForceNode(const std::string &name);
INLINE void clear(); INLINE void clear();

View File

@ -22,7 +22,7 @@
* not make sense for a physics simulation, but it's very handy for a game. * 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. * 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: PUBLISHED:
explicit LinearControlForce(const PhysicsObject *po = 0, PN_stdfloat a = 1.0f, explicit LinearControlForce(const PhysicsObject *po = 0, PN_stdfloat a = 1.0f,
bool mass = false); bool mass = false);

View File

@ -23,7 +23,7 @@
* warned- this will suck anything that it can reach directly into orbit and * warned- this will suck anything that it can reach directly into orbit and
* will NOT let go. * will NOT let go.
*/ */
class EXPCL_PANDAPHYSICS LinearCylinderVortexForce : public LinearForce { class EXPCL_PANDA_PHYSICS LinearCylinderVortexForce : public LinearForce {
PUBLISHED: PUBLISHED:
explicit LinearCylinderVortexForce(PN_stdfloat radius = 1.0f, explicit LinearCylinderVortexForce(PN_stdfloat radius = 1.0f,
PN_stdfloat length = 0.0f, PN_stdfloat length = 0.0f,

View File

@ -21,7 +21,7 @@ class BamReader;
/** /**
* Pure virtual class for sinks and sources * Pure virtual class for sinks and sources
*/ */
class EXPCL_PANDAPHYSICS LinearDistanceForce : public LinearForce { class EXPCL_PANDA_PHYSICS LinearDistanceForce : public LinearForce {
PUBLISHED: PUBLISHED:
enum FalloffType { enum FalloffType {
FT_ONE_OVER_R, FT_ONE_OVER_R,

View File

@ -20,7 +20,7 @@
* Performs Euler integration on a vector of physically modelable objects * Performs Euler integration on a vector of physically modelable objects
* given a quantum dt. * given a quantum dt.
*/ */
class EXPCL_PANDAPHYSICS LinearEulerIntegrator : public LinearIntegrator { class EXPCL_PANDA_PHYSICS LinearEulerIntegrator : public LinearIntegrator {
PUBLISHED: PUBLISHED:
LinearEulerIntegrator(); LinearEulerIntegrator();
virtual ~LinearEulerIntegrator(); virtual ~LinearEulerIntegrator();

View File

@ -20,7 +20,7 @@
* A force that acts on a PhysicsObject by way of an Integrator. This is a * A force that acts on a PhysicsObject by way of an Integrator. This is a
* pure virtual base class. * pure virtual base class.
*/ */
class EXPCL_PANDAPHYSICS LinearForce : public BaseForce { class EXPCL_PANDA_PHYSICS LinearForce : public BaseForce {
PUBLISHED: PUBLISHED:
~LinearForce(); ~LinearForce();

View File

@ -19,7 +19,7 @@
/** /**
* Friction-based drag force * Friction-based drag force
*/ */
class EXPCL_PANDAPHYSICS LinearFrictionForce : public LinearForce { class EXPCL_PANDA_PHYSICS LinearFrictionForce : public LinearForce {
PUBLISHED: PUBLISHED:
explicit LinearFrictionForce(PN_stdfloat coef = 1.0f, PN_stdfloat a = 1.0f, bool m = false); explicit LinearFrictionForce(PN_stdfloat coef = 1.0f, PN_stdfloat a = 1.0f, bool m = false);
LinearFrictionForce(const LinearFrictionForce &copy); LinearFrictionForce(const LinearFrictionForce &copy);

View File

@ -23,7 +23,7 @@
* Pure virtual base class for physical modeling. Takes physically modelable * Pure virtual base class for physical modeling. Takes physically modelable
* objects and applies forces to them. * objects and applies forces to them.
*/ */
class EXPCL_PANDAPHYSICS LinearIntegrator : public BaseIntegrator { class EXPCL_PANDA_PHYSICS LinearIntegrator : public BaseIntegrator {
PUBLISHED: PUBLISHED:
virtual ~LinearIntegrator(); virtual ~LinearIntegrator();
public: public:

View File

@ -20,7 +20,7 @@
* Completely random noise force vector. Not repeatable, reliable, or * Completely random noise force vector. Not repeatable, reliable, or
* predictable. * predictable.
*/ */
class EXPCL_PANDAPHYSICS LinearJitterForce : public LinearRandomForce { class EXPCL_PANDA_PHYSICS LinearJitterForce : public LinearRandomForce {
PUBLISHED: PUBLISHED:
explicit LinearJitterForce(PN_stdfloat a = 1.0f, bool m = false); explicit LinearJitterForce(PN_stdfloat a = 1.0f, bool m = false);
LinearJitterForce(const LinearJitterForce &copy); LinearJitterForce(const LinearJitterForce &copy);

View File

@ -21,7 +21,7 @@
/** /**
* Repeating noise force vector. * Repeating noise force vector.
*/ */
class EXPCL_PANDAPHYSICS LinearNoiseForce : public LinearRandomForce { class EXPCL_PANDA_PHYSICS LinearNoiseForce : public LinearRandomForce {
PUBLISHED: PUBLISHED:
explicit LinearNoiseForce(PN_stdfloat a = 1.0f, bool m = false); explicit LinearNoiseForce(PN_stdfloat a = 1.0f, bool m = false);
LinearNoiseForce(const LinearNoiseForce &copy); LinearNoiseForce(const LinearNoiseForce &copy);

View File

@ -22,7 +22,7 @@
/** /**
* Pure virtual, parent to noiseForce and jitterForce * Pure virtual, parent to noiseForce and jitterForce
*/ */
class EXPCL_PANDAPHYSICS LinearRandomForce : public LinearForce { class EXPCL_PANDA_PHYSICS LinearRandomForce : public LinearForce {
PUBLISHED: PUBLISHED:
virtual ~LinearRandomForce(); virtual ~LinearRandomForce();

View File

@ -19,7 +19,7 @@
/** /**
* Attractor force. Think black hole. * Attractor force. Think black hole.
*/ */
class EXPCL_PANDAPHYSICS LinearSinkForce : public LinearDistanceForce { class EXPCL_PANDA_PHYSICS LinearSinkForce : public LinearDistanceForce {
PUBLISHED: PUBLISHED:
explicit LinearSinkForce(const LPoint3& p, FalloffType f, PN_stdfloat r, explicit LinearSinkForce(const LPoint3& p, FalloffType f, PN_stdfloat r,
PN_stdfloat a = 1.0f, bool m = true); PN_stdfloat a = 1.0f, bool m = true);

View File

@ -19,7 +19,7 @@
/** /**
* Repellant force. * Repellant force.
*/ */
class EXPCL_PANDAPHYSICS LinearSourceForce : public LinearDistanceForce { class EXPCL_PANDA_PHYSICS LinearSourceForce : public LinearDistanceForce {
PUBLISHED: PUBLISHED:
explicit LinearSourceForce(const LPoint3& p, FalloffType f, PN_stdfloat r, explicit LinearSourceForce(const LPoint3& p, FalloffType f, PN_stdfloat r,
PN_stdfloat a = 1.0f, bool mass = true); PN_stdfloat a = 1.0f, bool mass = true);

View File

@ -19,7 +19,7 @@
/** /**
* A programmable force that takes an evaluator function. * A programmable force that takes an evaluator function.
*/ */
class EXPCL_PANDAPHYSICS LinearUserDefinedForce : public LinearForce { class EXPCL_PANDA_PHYSICS LinearUserDefinedForce : public LinearForce {
PUBLISHED: PUBLISHED:
explicit LinearUserDefinedForce(LVector3 (*proc)(const PhysicsObject *) = nullptr, explicit LinearUserDefinedForce(LVector3 (*proc)(const PhysicsObject *) = nullptr,
PN_stdfloat a = 1.0f, bool md = false); PN_stdfloat a = 1.0f, bool md = false);

View File

@ -20,7 +20,7 @@
* Simple directed vector force. Suitable for gravity, non-turbulent wind, * Simple directed vector force. Suitable for gravity, non-turbulent wind,
* etc... * etc...
*/ */
class EXPCL_PANDAPHYSICS LinearVectorForce : public LinearForce { class EXPCL_PANDA_PHYSICS LinearVectorForce : public LinearForce {
PUBLISHED: PUBLISHED:
explicit LinearVectorForce(const LVector3& vec, PN_stdfloat a = 1.0f, bool mass = false); 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, explicit LinearVectorForce(PN_stdfloat x = 0.0f, PN_stdfloat y = 0.0f, PN_stdfloat z = 0.0f,

View File

@ -34,7 +34,7 @@ class PhysicsManager;
* Defines a set of physically modeled attributes. If you want physics * Defines a set of physically modeled attributes. If you want physics
* applied to your class, derive it from this. * applied to your class, derive it from this.
*/ */
class EXPCL_PANDAPHYSICS Physical : public TypedReferenceCount { class EXPCL_PANDA_PHYSICS Physical : public TypedReferenceCount {
public: public:
// typedef pvector<PT(PhysicsObject)> PhysicsObjectVector; // typedef pvector<PT(PhysicsObject)> PhysicsObjectVector;
typedef pvector<PT(LinearForce)> LinearForceVector; typedef pvector<PT(LinearForce)> LinearForceVector;

View File

@ -25,7 +25,7 @@
/** /**
* Graph node that encapsulated a series of physical objects * Graph node that encapsulated a series of physical objects
*/ */
class EXPCL_PANDAPHYSICS PhysicalNode : public PandaNode { class EXPCL_PANDA_PHYSICS PhysicalNode : public PandaNode {
PUBLISHED: PUBLISHED:
explicit PhysicalNode(const std::string &name); explicit PhysicalNode(const std::string &name);
INLINE void clear(); INLINE void clear();

View File

@ -23,7 +23,7 @@
* that attempt to move into solid walls. This also puts forces onto the * that attempt to move into solid walls. This also puts forces onto the
* physics objects * physics objects
*/ */
class EXPCL_PANDAPHYSICS PhysicsCollisionHandler : class EXPCL_PANDA_PHYSICS PhysicsCollisionHandler :
public CollisionHandlerPusher { public CollisionHandlerPusher {
PUBLISHED: PUBLISHED:
PhysicsCollisionHandler(); PhysicsCollisionHandler();

View File

@ -33,7 +33,7 @@
* Physics don't get much higher-level than this. Attach as many Physicals * Physics don't get much higher-level than this. Attach as many Physicals
* (particle systems, etc..) as you want, pick an integrator and go. * (particle systems, etc..) as you want, pick an integrator and go.
*/ */
class EXPCL_PANDAPHYSICS PhysicsManager { class EXPCL_PANDA_PHYSICS PhysicsManager {
public: public:
// NOTE that the physicals container is NOT reference counted. this does // 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 // indeed mean that you are NOT supposed to use this as a primary storage

View File

@ -24,7 +24,7 @@
* motion to your class, do NOT derive from this. Derive from Physical * motion to your class, do NOT derive from this. Derive from Physical
* instead. * instead.
*/ */
class EXPCL_PANDAPHYSICS PhysicsObject : public TypedReferenceCount { class EXPCL_PANDA_PHYSICS PhysicsObject : public TypedReferenceCount {
public: public:
typedef pvector<PT(PhysicsObject)> Vector; typedef pvector<PT(PhysicsObject)> Vector;

View File

@ -22,7 +22,7 @@
* This is a set of zero or more PhysicsObjects. It's handy for returning * This is a set of zero or more PhysicsObjects. It's handy for returning
* from functions that need to return multiple PhysicsObjects. * from functions that need to return multiple PhysicsObjects.
*/ */
class EXPCL_PANDAPHYSICS PhysicsObjectCollection { class EXPCL_PANDA_PHYSICS PhysicsObjectCollection {
PUBLISHED: PUBLISHED:
PhysicsObjectCollection(); PhysicsObjectCollection();
PhysicsObjectCollection(const PhysicsObjectCollection &copy); PhysicsObjectCollection(const PhysicsObjectCollection &copy);