15 #ifndef LINEARNOISEFORCE_H
16 #define LINEARNOISEFORCE_H
18 #include "pandabase.h"
19 #include "linearRandomForce.h"
20 #include "configVariableInt.h"
32 virtual void output(ostream &out)
const;
33 virtual void write(ostream &out,
unsigned int indent=0)
const;
37 static void init_noise_tables();
40 static unsigned char _prn_table[256];
41 static LVector3 _gradient_table[256];
42 static bool _initialized;
44 INLINE PN_stdfloat cubic_step(
const PN_stdfloat x)
const;
47 INLINE
unsigned char get_prn_entry(
const LPoint3& point)
const;
48 INLINE
unsigned char get_prn_entry(
const PN_stdfloat x,
const PN_stdfloat y,
const PN_stdfloat z)
const;
51 INLINE
LVector3& get_lattice_entry(
const PN_stdfloat x,
const PN_stdfloat y,
const PN_stdfloat z);
53 INLINE
unsigned char prn_lookup(
int index)
const;
62 static void init_type() {
63 LinearRandomForce::init_type();
64 register_type(_type_handle,
"LinearNoiseForce",
65 LinearRandomForce::get_class_type());
68 return get_class_type();
70 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
76 #include "linearNoiseForce.I"
78 #endif // LINEARNOISEFORCE_H
Pure virtual, parent to noiseForce and jitterForce.
virtual void write(ostream &out, unsigned int indent=0) const
Write a string representation of this instance to <out>.
A body on which physics will be applied.
virtual void output(ostream &out) const
Write a string representation of this instance to <out>.
This is a three-component vector distance (as opposed to a three-component point, which represents a ...
This is a three-component point in space (as opposed to a three-component vector, which represents a ...
A force that acts on a PhysicsObject by way of an Integrator.
Repeating noise force vector.
This is a convenience class to specialize ConfigVariable as an integer type.
TypeHandle is the identifier used to differentiate C++ class types.