Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'extern/bullet/Extras/PhysicsInterface/Common/PHY_Pro.h')
-rw-r--r--extern/bullet/Extras/PhysicsInterface/Common/PHY_Pro.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/extern/bullet/Extras/PhysicsInterface/Common/PHY_Pro.h b/extern/bullet/Extras/PhysicsInterface/Common/PHY_Pro.h
new file mode 100644
index 00000000000..871cc64d375
--- /dev/null
+++ b/extern/bullet/Extras/PhysicsInterface/Common/PHY_Pro.h
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2001-2005 Erwin Coumans <phy@erwincoumans.com>
+ *
+ * Permission to use, copy, modify, distribute and sell this software
+ * and its documentation for any purpose is hereby granted without fee,
+ * provided that the above copyright notice appear in all copies and
+ * that both that copyright notice and this permission notice appear
+ * in supporting documentation. Erwin Coumans makes no
+ * representations about the suitability of this software for any
+ * purpose. It is provided "as is" without express or implied warranty.
+ *
+ */
+
+#ifndef PHY_PROPSH
+#define PHY_PROPSH
+
+
+class CollisionShape;
+
+// Properties of dynamic objects
+struct PHY_ShapeProps {
+ float m_mass; // Total mass
+ float m_inertia; // Inertia, should be a tensor some time
+ float m_lin_drag; // Linear drag (air, water) 0 = concrete, 1 = vacuum
+ float m_ang_drag; // Angular drag
+ float m_friction_scaling[3]; // Scaling for anisotropic friction. Component in range [0, 1]
+ bool m_do_anisotropic; // Should I do anisotropic friction?
+ bool m_do_fh; // Should the object have a linear Fh spring?
+ bool m_do_rot_fh; // Should the object have an angular Fh spring?
+ CollisionShape* m_shape;
+};
+
+
+// Properties of collidable objects (non-ghost objects)
+struct PHY_MaterialProps {
+ float m_restitution; // restitution of energie after a collision 0 = inelastic, 1 = elastic
+ float m_friction; // Coulomb friction (= ratio between the normal en maximum friction force)
+ float m_fh_spring; // Spring constant (both linear and angular)
+ float m_fh_damping; // Damping factor (linear and angular) in range [0, 1]
+ float m_fh_distance; // The range above the surface where Fh is active.
+ bool m_fh_normal; // Should the object slide off slopes?
+};
+
+#endif //PHY_PROPSH
+