efl: merge ephysics
changes: * __UNUSED__ -> EINA_UNUSED * Fixed doc hierarchy SVN revision: 82126
7
AUTHORS
|
@ -235,3 +235,10 @@ Cedric Bail <cedric@efl.so>
|
||||||
Mikael Sans <sans.mikael@gmail.com>
|
Mikael Sans <sans.mikael@gmail.com>
|
||||||
Christophe Dumez <christophe.dumez@intel.com>
|
Christophe Dumez <christophe.dumez@intel.com>
|
||||||
Stefan Schmidt <stefan@datenfreihafen.org>
|
Stefan Schmidt <stefan@datenfreihafen.org>
|
||||||
|
|
||||||
|
|
||||||
|
EPhysics
|
||||||
|
--------
|
||||||
|
Bruno Dilly <bdilly@profusion.mobi>
|
||||||
|
Leandro Dorileo <dorileo@profusion.mobi>
|
||||||
|
Ricardo de Almeida Gonzaga <ricardo@profusion.mobi>
|
||||||
|
|
|
@ -99,7 +99,8 @@ pc/edbus2.pc \
|
||||||
pc/efreet.pc \
|
pc/efreet.pc \
|
||||||
pc/efreet-mime.pc \
|
pc/efreet-mime.pc \
|
||||||
pc/efreet-trash.pc \
|
pc/efreet-trash.pc \
|
||||||
pc/eeze.pc
|
pc/eeze.pc \
|
||||||
|
pc/ephysics.pc
|
||||||
|
|
||||||
pkgconfigdir = $(libdir)/pkgconfig
|
pkgconfigdir = $(libdir)/pkgconfig
|
||||||
pkgconfig_DATA =
|
pkgconfig_DATA =
|
||||||
|
@ -213,6 +214,10 @@ if HAVE_EEZE
|
||||||
pkgconfig_DATA += pc/eeze.pc
|
pkgconfig_DATA += pc/eeze.pc
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
if HAVE_EPHYSICS
|
||||||
|
pkgconfig_DATA += pc/ephysics.pc
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
# D-Bus services:
|
# D-Bus services:
|
||||||
|
|
||||||
|
|
52
configure.ac
|
@ -3217,6 +3217,55 @@ AC_DEFINE_UNQUOTED([EEZE_EJECT_BIN], ["$with_eeze_eject"], [eject bin to use])
|
||||||
EFL_LIB_END_OPTIONAL([Eeze])
|
EFL_LIB_END_OPTIONAL([Eeze])
|
||||||
#### End of Eeze
|
#### End of Eeze
|
||||||
|
|
||||||
|
|
||||||
|
#### EPhysics
|
||||||
|
AC_ARG_ENABLE([physics],
|
||||||
|
[AC_HELP_STRING([--disable-physics],
|
||||||
|
[disable physics effects and support. @<:@default=enabled@:>@])],
|
||||||
|
[
|
||||||
|
if test "x${enableval}" = "xyes" ; then
|
||||||
|
want_physics="yes"
|
||||||
|
else
|
||||||
|
want_physics="no"
|
||||||
|
fi
|
||||||
|
],
|
||||||
|
[want_physics="yes"])
|
||||||
|
|
||||||
|
EFL_LIB_START_OPTIONAL([EPhysics], [test "${want_physics}" = "yes"])
|
||||||
|
|
||||||
|
### Additional options to configure
|
||||||
|
|
||||||
|
### Default values
|
||||||
|
|
||||||
|
### Checks for programs
|
||||||
|
|
||||||
|
### Checks for libraries
|
||||||
|
EFL_PLATFORM_DEPEND([EPHYSICS], [evil])
|
||||||
|
|
||||||
|
EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [eina])
|
||||||
|
EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [evas])
|
||||||
|
EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [ecore])
|
||||||
|
|
||||||
|
EFL_DEPEND_PKG([EPHYSICS], [BULLET], [bullet >= 2.80])
|
||||||
|
|
||||||
|
EFL_EVAL_PKGS([EPHYSICS])
|
||||||
|
|
||||||
|
### Checks for header files
|
||||||
|
|
||||||
|
### Checks for types
|
||||||
|
|
||||||
|
### Checks for structures
|
||||||
|
|
||||||
|
### Checks for compiler characteristics
|
||||||
|
|
||||||
|
### Checks for linker characteristics
|
||||||
|
|
||||||
|
### Checks for library functions
|
||||||
|
|
||||||
|
EFL_LIB_END_OPTIONAL([EPhysics])
|
||||||
|
#### End of EPhysics
|
||||||
|
|
||||||
|
|
||||||
AC_CONFIG_FILES([
|
AC_CONFIG_FILES([
|
||||||
Makefile
|
Makefile
|
||||||
data/Makefile
|
data/Makefile
|
||||||
|
@ -3234,6 +3283,7 @@ src/examples/evas/Makefile
|
||||||
src/examples/ecore/Makefile
|
src/examples/ecore/Makefile
|
||||||
src/examples/eio/Makefile
|
src/examples/eio/Makefile
|
||||||
src/examples/edbus/Makefile
|
src/examples/edbus/Makefile
|
||||||
|
src/examples/ephysics/Makefile
|
||||||
src/lib/eina/eina_config.h
|
src/lib/eina/eina_config.h
|
||||||
src/lib/ecore_x/ecore_x_version.h
|
src/lib/ecore_x/ecore_x_version.h
|
||||||
spec/efl.spec
|
spec/efl.spec
|
||||||
|
@ -3280,6 +3330,7 @@ pc/efreet.pc
|
||||||
pc/efreet-mime.pc
|
pc/efreet-mime.pc
|
||||||
pc/efreet-trash.pc
|
pc/efreet-trash.pc
|
||||||
pc/eeze.pc
|
pc/eeze.pc
|
||||||
|
pc/ephysics.pc
|
||||||
dbus-services/org.enlightenment.Efreet.service
|
dbus-services/org.enlightenment.Efreet.service
|
||||||
$po_makefile_in
|
$po_makefile_in
|
||||||
])
|
])
|
||||||
|
@ -3485,6 +3536,7 @@ echo " Ecore_Evas...................: $have_ecore_evas"
|
||||||
echo
|
echo
|
||||||
|
|
||||||
echo "Eeze...................: ${efl_lib_optional_eeze} (tizen: ${want_tizen})"
|
echo "Eeze...................: ${efl_lib_optional_eeze} (tizen: ${want_tizen})"
|
||||||
|
echo "EPhysics...............: ${efl_lib_optional_ephysics}"
|
||||||
echo "Tests..................: ${build_tests}"
|
echo "Tests..................: ${build_tests}"
|
||||||
|
|
||||||
echo "Examples...............: make examples"
|
echo "Examples...............: make examples"
|
||||||
|
|
|
@ -601,7 +601,8 @@ INPUT = @top_srcdir@/src/lib \
|
||||||
@srcdir@/evas_examples.dox \
|
@srcdir@/evas_examples.dox \
|
||||||
@srcdir@/eo_tutorial.dox \
|
@srcdir@/eo_tutorial.dox \
|
||||||
@srcdir@/eio_examples.dox \
|
@srcdir@/eio_examples.dox \
|
||||||
@srcdir@/edbus_examples.dox
|
@srcdir@/edbus_examples.dox \
|
||||||
|
@srcdir@/ephysics_examples.dox
|
||||||
|
|
||||||
# This tag can be used to specify the character encoding of the source files
|
# This tag can be used to specify the character encoding of the source files
|
||||||
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
|
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
|
||||||
|
@ -808,7 +809,8 @@ ecore_ _ecore_ Ecore_ _Ecore_ ECORE_ _ECORE_ \
|
||||||
eio_ _eio_ Eio_ _Eio_ EIO_ _EIO_ \
|
eio_ _eio_ Eio_ _Eio_ EIO_ _EIO_ \
|
||||||
edbus_ _edbus_ EDBus_ _EDBus_ EDBUS_ _EDBUS_ \
|
edbus_ _edbus_ EDBus_ _EDBus_ EDBUS_ _EDBUS_ \
|
||||||
efreet_ _efreet_ Efreet_ _Efreet_ EFREET_ _EFREET_ \
|
efreet_ _efreet_ Efreet_ _Efreet_ EFREET_ _EFREET_ \
|
||||||
eeze_ _eeze_ Eeze_ _Eeze_ EEZE_ _EEZE_
|
eeze_ _eeze_ Eeze_ _Eeze_ EEZE_ _EEZE_ \
|
||||||
|
ephysics_ _ephysics_ EPhysics_ _EPhysics_ EPHYSICS_ _EPHYSICS_
|
||||||
|
|
||||||
|
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
/**
|
/**
|
||||||
* @page Examples Examples
|
* @page ephysics_examples EPhysics Examples
|
||||||
*
|
|
||||||
* Here is a page with examples.
|
|
||||||
*
|
*
|
||||||
|
* Examples:
|
||||||
* @li @ref tutorial_ephysics_bouncing_ball
|
* @li @ref tutorial_ephysics_bouncing_ball
|
||||||
* @li @ref tutorial_ephysics_bouncing_text
|
* @li @ref tutorial_ephysics_bouncing_text
|
||||||
* @li @ref tutorial_ephysics_camera
|
* @li @ref tutorial_ephysics_camera
|
Before Width: | Height: | Size: 94 KiB After Width: | Height: | Size: 94 KiB |
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 80 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 90 KiB After Width: | Height: | Size: 90 KiB |
Before Width: | Height: | Size: 101 KiB After Width: | Height: | Size: 101 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 55 KiB |
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 56 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 91 KiB After Width: | Height: | Size: 91 KiB |
Before Width: | Height: | Size: 53 KiB After Width: | Height: | Size: 53 KiB |
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 60 KiB |
|
@ -19,6 +19,7 @@
|
||||||
* @li @ref edbus_main d-bus integration.
|
* @li @ref edbus_main d-bus integration.
|
||||||
* @li @ref efreet_main freedesktop.org (xdg) menu and desktop integration.
|
* @li @ref efreet_main freedesktop.org (xdg) menu and desktop integration.
|
||||||
* @li @ref eeze_main hardware device manipulation and notification.
|
* @li @ref eeze_main hardware device manipulation and notification.
|
||||||
|
* @li @ref ephysics_main physics simulation integration and visual effects.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -35,6 +36,7 @@
|
||||||
* @author Boris "billiob" Faure <billiob@@gmail.com>
|
* @author Boris "billiob" Faure <billiob@@gmail.com>
|
||||||
* @author Brett Nash <nash@@nash.id.au>
|
* @author Brett Nash <nash@@nash.id.au>
|
||||||
* @author Brian 'rephorm' Mattern <rephorm@@rephorm.com>
|
* @author Brian 'rephorm' Mattern <rephorm@@rephorm.com>
|
||||||
|
* @author Bruno Dilly <bdilly@@profusion.mobi>
|
||||||
* @author Burra <burra@@colorado.edu>
|
* @author Burra <burra@@colorado.edu>
|
||||||
* @author Carsten Haitzler <raster@@@rasterman.com>
|
* @author Carsten Haitzler <raster@@@rasterman.com>
|
||||||
* @author Cedric Bail <cedric.bail@@free.fr>
|
* @author Cedric Bail <cedric.bail@@free.fr>
|
||||||
|
@ -69,6 +71,7 @@
|
||||||
* @author Kim Woelders <kim@@woelders.dk>
|
* @author Kim Woelders <kim@@woelders.dk>
|
||||||
* @author Kim Yunhan <spbear@@gmail.com>
|
* @author Kim Yunhan <spbear@@gmail.com>
|
||||||
* @author Lars Munch <lars@@segv.dk>
|
* @author Lars Munch <lars@@segv.dk>
|
||||||
|
* @author Leandro Dorileo <dorileo@@profusion.mobi>
|
||||||
* @author Leandro Pereira <leandro@@profusion.mobi>
|
* @author Leandro Pereira <leandro@@profusion.mobi>
|
||||||
* @author Leif Middelschulte <leif.middelschulte@@gmail.com>
|
* @author Leif Middelschulte <leif.middelschulte@@gmail.com>
|
||||||
* @author Lucas De Marchi <lucas.demarchi@@profusion.mobi>
|
* @author Lucas De Marchi <lucas.demarchi@@profusion.mobi>
|
||||||
|
@ -90,6 +93,7 @@
|
||||||
* @author Rafael Antognolli <antognolli@@profusion.mobi>
|
* @author Rafael Antognolli <antognolli@@profusion.mobi>
|
||||||
* @author Rafal Krypa <r.krypa@@samsung.com>
|
* @author Rafal Krypa <r.krypa@@samsung.com>
|
||||||
* @author Raphael Kubo da Costa <kubo@@profusion.mobi>
|
* @author Raphael Kubo da Costa <kubo@@profusion.mobi>
|
||||||
|
* @author Ricardo de Almeida Gonzaga <ricardo@@profusion.mobi>
|
||||||
* @author Rui Miguel Silva Seabra <rms@@1407.org>
|
* @author Rui Miguel Silva Seabra <rms@@1407.org>
|
||||||
* @author Samsung Electronics
|
* @author Samsung Electronics
|
||||||
* @author Samsung SAIT
|
* @author Samsung SAIT
|
||||||
|
@ -187,7 +191,6 @@
|
||||||
* @brief FreeDesktop.Org (XDG) menu and desktop integration.
|
* @brief FreeDesktop.Org (XDG) menu and desktop integration.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @defgroup Eeze
|
* @defgroup Eeze
|
||||||
*
|
*
|
||||||
|
|
|
@ -64,6 +64,9 @@ include Makefile_Efreet.am
|
||||||
if HAVE_EEZE
|
if HAVE_EEZE
|
||||||
include Makefile_Eeze.am
|
include Makefile_Eeze.am
|
||||||
endif
|
endif
|
||||||
|
if HAVE_EPHYSICS
|
||||||
|
include Makefile_EPhysics.am
|
||||||
|
endif
|
||||||
|
|
||||||
.PHONY: benchmark examples
|
.PHONY: benchmark examples
|
||||||
|
|
||||||
|
@ -99,6 +102,7 @@ clean-local:
|
||||||
rm -rf lib/edbus/*.gcno
|
rm -rf lib/edbus/*.gcno
|
||||||
rm -rf lib/efreet/*.gcno
|
rm -rf lib/efreet/*.gcno
|
||||||
rm -rf lib/eeze/*.gcno
|
rm -rf lib/eeze/*.gcno
|
||||||
|
rm -rf lib/ephysics/*.gcno
|
||||||
rm -rf modules/eina/mp/pass_through/*.gcno
|
rm -rf modules/eina/mp/pass_through/*.gcno
|
||||||
rm -rf modules/eina/mp/one_big/*.gcno
|
rm -rf modules/eina/mp/one_big/*.gcno
|
||||||
rm -rf modules/eina/mp/chained_pool/*.gcno
|
rm -rf modules/eina/mp/chained_pool/*.gcno
|
||||||
|
|
|
@ -0,0 +1,47 @@
|
||||||
|
|
||||||
|
### Library
|
||||||
|
|
||||||
|
lib_LTLIBRARIES += \
|
||||||
|
lib/ephysics/libephysics.la
|
||||||
|
|
||||||
|
installed_ephysicsmainheadersdir = $(includedir)/ephysics-@VMAJ@
|
||||||
|
dist_installed_ephysicsmainheaders_DATA = \
|
||||||
|
lib/ephysics/EPhysics.h
|
||||||
|
|
||||||
|
lib_ephysics_libephysics_la_SOURCES = \
|
||||||
|
lib/ephysics/ephysics_private.h \
|
||||||
|
lib/ephysics/ephysics_trimesh.h \
|
||||||
|
lib/ephysics/ephysics_body_materials.h \
|
||||||
|
lib/ephysics/ephysics_body.cpp \
|
||||||
|
lib/ephysics/ephysics_camera.cpp \
|
||||||
|
lib/ephysics/ephysics_constraints.cpp \
|
||||||
|
lib/ephysics/ephysics_main.cpp \
|
||||||
|
lib/ephysics/ephysics_quaternion.cpp \
|
||||||
|
lib/ephysics/ephysics_shape.cpp \
|
||||||
|
lib/ephysics/ephysics_world.cpp
|
||||||
|
|
||||||
|
lib_ephysics_libephysics_la_CPPFLAGS = \
|
||||||
|
-I$(top_srcdir)/src/lib/eina \
|
||||||
|
-I$(top_builddir)/src/lib/eina \
|
||||||
|
-I$(top_srcdir)/src/lib/eo \
|
||||||
|
-I$(top_builddir)/src/lib/eo \
|
||||||
|
-I$(top_srcdir)/src/lib/ecore \
|
||||||
|
-I$(top_builddir)/src/lib/ecore \
|
||||||
|
-I$(top_srcdir)/src/lib/evas \
|
||||||
|
-I$(top_builddir)/src/lib/evas \
|
||||||
|
-I$(top_srcdir)/src/lib/ephysics \
|
||||||
|
-I$(top_builddir)/src/lib/ephysics \
|
||||||
|
@EFL_COV_CFLAGS@ \
|
||||||
|
@EPHYSICS_CFLAGS@ \
|
||||||
|
-DEFL_EPHYSICS_BUILD
|
||||||
|
|
||||||
|
lib_ephysics_libephysics_la_LIBADD = \
|
||||||
|
lib/eina/libeina.la \
|
||||||
|
lib/eo/libeo.la \
|
||||||
|
lib/ecore/libecore.la \
|
||||||
|
lib/evas/libevas.la \
|
||||||
|
@EFL_COV_LIBS@ \
|
||||||
|
@EPHYSICS_LIBS@
|
||||||
|
|
||||||
|
lib_ephysics_libephysics_la_LDFLAGS = @EFL_LTLIBRARY_FLAGS@
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
MAINTAINERCLEANFILES = Makefile.in
|
MAINTAINERCLEANFILES = Makefile.in
|
||||||
|
|
||||||
SUBDIRS = eina eo eet evas ecore eio edbus
|
SUBDIRS = eina eo eet evas ecore eio edbus ephysics
|
||||||
|
|
||||||
examples:
|
examples:
|
||||||
@$(MAKE) $(AM_MAKEFLAGS) -C eina examples
|
@$(MAKE) $(AM_MAKEFLAGS) -C eina examples
|
||||||
|
@ -10,6 +10,7 @@ examples:
|
||||||
@$(MAKE) $(AM_MAKEFLAGS) -C ecore examples
|
@$(MAKE) $(AM_MAKEFLAGS) -C ecore examples
|
||||||
@$(MAKE) $(AM_MAKEFLAGS) -C eio examples
|
@$(MAKE) $(AM_MAKEFLAGS) -C eio examples
|
||||||
@$(MAKE) $(AM_MAKEFLAGS) -C edbus examples
|
@$(MAKE) $(AM_MAKEFLAGS) -C edbus examples
|
||||||
|
@$(MAKE) $(AM_MAKEFLAGS) -C ephysics examples
|
||||||
|
|
||||||
install-examples:
|
install-examples:
|
||||||
@$(MAKE) $(AM_MAKEFLAGS) -C eina install-examples
|
@$(MAKE) $(AM_MAKEFLAGS) -C eina install-examples
|
||||||
|
@ -19,3 +20,4 @@ install-examples:
|
||||||
@$(MAKE) $(AM_MAKEFLAGS) -C ecore install-examples
|
@$(MAKE) $(AM_MAKEFLAGS) -C ecore install-examples
|
||||||
@$(MAKE) $(AM_MAKEFLAGS) -C eio install-examples
|
@$(MAKE) $(AM_MAKEFLAGS) -C eio install-examples
|
||||||
@$(MAKE) $(AM_MAKEFLAGS) -C edbus install-examples
|
@$(MAKE) $(AM_MAKEFLAGS) -C edbus install-examples
|
||||||
|
@$(MAKE) $(AM_MAKEFLAGS) -C ephysics install-examples
|
||||||
|
|
|
@ -0,0 +1,87 @@
|
||||||
|
MAINTAINERCLEANFILES = Makefile.in
|
||||||
|
|
||||||
|
AM_CPPFLAGS = \
|
||||||
|
-I. \
|
||||||
|
-I$(top_srcdir)/src/lib/eina \
|
||||||
|
-I$(top_builddir)/src/lib/eina \
|
||||||
|
-I$(top_srcdir)/src/lib/eo \
|
||||||
|
-I$(top_builddir)/src/lib/eo \
|
||||||
|
-I$(top_srcdir)/src/lib/ecore \
|
||||||
|
-I$(top_builddir)/src/lib/ecore \
|
||||||
|
-I$(top_srcdir)/src/lib/evas \
|
||||||
|
-I$(top_builddir)/src/lib/evas \
|
||||||
|
-I$(top_srcdir)/src/lib/ecore_evas \
|
||||||
|
-I$(top_builddir)/src/lib/ecore_evas \
|
||||||
|
-I$(top_srcdir)/src/lib/ephysics \
|
||||||
|
-I$(top_builddir)/src/lib/ephysics
|
||||||
|
|
||||||
|
LDADD = \
|
||||||
|
$(top_builddir)/src/lib/eina/libeina.la \
|
||||||
|
$(top_builddir)/src/lib/eo/libeo.la \
|
||||||
|
$(top_builddir)/src/lib/ecore/libecore.la \
|
||||||
|
$(top_builddir)/src/lib/evas/libevas.la \
|
||||||
|
$(top_builddir)/src/lib/ecore_evas/libecore_evas.la \
|
||||||
|
$(top_builddir)/src/lib/ephysics/libephysics.la \
|
||||||
|
@EPHYSICS_LDFLAGS@
|
||||||
|
|
||||||
|
SRCS = \
|
||||||
|
ephysics_logo.c \
|
||||||
|
ephysics_test.h \
|
||||||
|
test_bouncing_ball.c \
|
||||||
|
test_bouncing_text.c \
|
||||||
|
test.c \
|
||||||
|
test_camera.c \
|
||||||
|
test_camera_track.c \
|
||||||
|
test_colliding_balls.c \
|
||||||
|
test_collision_detection.c \
|
||||||
|
test_collision_filter.c \
|
||||||
|
test_constraint.c \
|
||||||
|
test_delete.c \
|
||||||
|
test_forces.c \
|
||||||
|
test_growing_balls.c \
|
||||||
|
test_no_gravity.c \
|
||||||
|
test_rotating_forever.c \
|
||||||
|
test_shapes.c \
|
||||||
|
test_sleeping_threshold.c \
|
||||||
|
test_slider.c \
|
||||||
|
test_velocity.c
|
||||||
|
|
||||||
|
EXTRA_PROGRAMS =
|
||||||
|
|
||||||
|
# NOTE: neither ephysics_test or ephysics_logo won't be built as they needs Elementary
|
||||||
|
# TODO: convert these to bare ecore_evas, at least a reduced set to have compile-able examples
|
||||||
|
|
||||||
|
ephysics_test_SOURCES = \
|
||||||
|
ephysics_test.h \
|
||||||
|
test_bouncing_ball.c \
|
||||||
|
test_bouncing_text.c \
|
||||||
|
test.c \
|
||||||
|
test_camera.c \
|
||||||
|
test_camera_track.c \
|
||||||
|
test_colliding_balls.c \
|
||||||
|
test_collision_detection.c \
|
||||||
|
test_collision_filter.c \
|
||||||
|
test_constraint.c \
|
||||||
|
test_delete.c \
|
||||||
|
test_forces.c \
|
||||||
|
test_growing_balls.c \
|
||||||
|
test_no_gravity.c \
|
||||||
|
test_rotating_forever.c \
|
||||||
|
test_shapes.c \
|
||||||
|
test_sleeping_threshold.c \
|
||||||
|
test_slider.c \
|
||||||
|
test_velocity.c
|
||||||
|
|
||||||
|
examples: $(EXTRA_PROGRAMS)
|
||||||
|
|
||||||
|
clean-local:
|
||||||
|
rm -f $(EXTRA_PROGRAMS)
|
||||||
|
|
||||||
|
install-examples:
|
||||||
|
mkdir -p $(datadir)/ephysics/examples
|
||||||
|
$(install_sh_DATA) -c $(SRCS) $(datadir)/ephysics/examples
|
||||||
|
|
||||||
|
uninstall-local:
|
||||||
|
for f in $(SRCS) ; do \
|
||||||
|
rm -f $(datadir)/ephysics/examples/$$f ; \
|
||||||
|
done
|
|
@ -2,12 +2,18 @@
|
||||||
#define EPHYSICS_H
|
#define EPHYSICS_H
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @mainpage EPhysics Library Documentation
|
* @page ephysics_main EPhysics
|
||||||
*
|
*
|
||||||
* @version 0.1.0
|
* @date 2012 (created)
|
||||||
* @date 2012
|
|
||||||
*
|
*
|
||||||
* @section intro What is EPhysics ?
|
* @section toc Table of Contents
|
||||||
|
*
|
||||||
|
* @li @ref ephysics_main_intro
|
||||||
|
* @li @ref ephysics_main_compiling
|
||||||
|
* @li @ref ephysics_main_next_steps
|
||||||
|
* @li @ref ephysics_main_intro_example
|
||||||
|
*
|
||||||
|
* @section ephysics_main_intro Introduction
|
||||||
*
|
*
|
||||||
* EPhysics is a library that makes it easy to use Ecore, Evas and Bullet
|
* EPhysics is a library that makes it easy to use Ecore, Evas and Bullet
|
||||||
* Physics together. It's a kind of wrapper, a glue, between these libraries.
|
* Physics together. It's a kind of wrapper, a glue, between these libraries.
|
||||||
|
@ -16,7 +22,33 @@
|
||||||
* @image html diagram_ephysics.png
|
* @image html diagram_ephysics.png
|
||||||
* @image latex diagram_ephysics.eps
|
* @image latex diagram_ephysics.eps
|
||||||
*
|
*
|
||||||
* For a better reference, check the following groups:
|
* @section ephysics_main_compiling How to compile
|
||||||
|
*
|
||||||
|
* Ephysics is a library your application links to. The procedure for this is
|
||||||
|
* very simple. You simply have to compile your application with the
|
||||||
|
* appropriate compiler flags that the @c pkg-config script outputs. For
|
||||||
|
* example:
|
||||||
|
*
|
||||||
|
* Compiling C or C++ files into object files:
|
||||||
|
*
|
||||||
|
* @verbatim
|
||||||
|
gcc -c -o main.o main.c `pkg-config --cflags ephysics`
|
||||||
|
@endverbatim
|
||||||
|
*
|
||||||
|
* Linking object files into a binary executable:
|
||||||
|
*
|
||||||
|
* @verbatim
|
||||||
|
gcc -o my_application main.o `pkg-config --libs ephysics`
|
||||||
|
@endverbatim
|
||||||
|
*
|
||||||
|
* See @ref pkgconfig
|
||||||
|
*
|
||||||
|
* @section ephysics_main_next_steps Next Steps
|
||||||
|
*
|
||||||
|
* After you understood what EPhysics is and installed it in your system
|
||||||
|
* you should proceed understanding the programming interface.
|
||||||
|
*
|
||||||
|
* Recommended reading:
|
||||||
* @li @ref EPhysics
|
* @li @ref EPhysics
|
||||||
* @li @ref EPhysics_World
|
* @li @ref EPhysics_World
|
||||||
* @li @ref EPhysics_Body
|
* @li @ref EPhysics_Body
|
||||||
|
@ -25,20 +57,11 @@
|
||||||
* @li @ref EPhysics_Quaternion
|
* @li @ref EPhysics_Quaternion
|
||||||
* @li @ref EPhysics_Shape
|
* @li @ref EPhysics_Shape
|
||||||
*
|
*
|
||||||
* Please see the @ref authors page for contact details.
|
* @section ephysics_main_intro_example Introductory Example
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
*
|
||||||
* @page authors Authors
|
* @include test_bouncing_ball.c
|
||||||
*
|
|
||||||
* @author Bruno Dilly <bdilly@@profusion.mobi>
|
|
||||||
* @author Leandro Dorileo <dorileo@@profusion.mobi>
|
|
||||||
* @author Ricardo de Almeida Gonzaga <ricardo@@profusion.mobi>
|
|
||||||
*
|
|
||||||
* Please contact <enlightenment-devel@lists.sourceforge.net> to get in
|
|
||||||
* contact with the developers and maintainers.
|
|
||||||
*
|
*
|
||||||
|
* More examples can be found at @ref ephysics_examples.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <Evas.h>
|
#include <Evas.h>
|
||||||
|
@ -82,8 +105,8 @@ extern "C" {
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief How to initialize EPhysics.
|
* @brief Physics simulation integration and visual effects.
|
||||||
* @defgroup EPhysics Top Level API available to add physics effects.
|
* @defgroup EPhysics EPhysics
|
||||||
*
|
*
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
|
@ -333,7 +333,7 @@ ephysics_body_soft_body_slice_index_get(EPhysics_Body *body, Evas_Object *slice)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_ephysics_body_soft_body_slice_del_cb(void *data, Evas *evas __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
|
_ephysics_body_soft_body_slice_del_cb(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED)
|
||||||
{
|
{
|
||||||
EPhysics_Body_Soft_Body_Slice *slice = (EPhysics_Body_Soft_Body_Slice *)data;
|
EPhysics_Body_Soft_Body_Slice *slice = (EPhysics_Body_Soft_Body_Slice *)data;
|
||||||
slice->evas_obj = NULL;
|
slice->evas_obj = NULL;
|
||||||
|
@ -882,7 +882,7 @@ err_body:
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_ephysics_body_evas_obj_del_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
_ephysics_body_evas_obj_del_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
||||||
{
|
{
|
||||||
EPhysics_Body *body = (EPhysics_Body *) data;
|
EPhysics_Body *body = (EPhysics_Body *) data;
|
||||||
|
|
||||||
|
@ -1197,7 +1197,7 @@ _ephysics_body_move(EPhysics_Body *body, Evas_Coord x, Evas_Coord y, Evas_Coord
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_ephysics_body_evas_obj_resize_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
|
_ephysics_body_evas_obj_resize_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED)
|
||||||
{
|
{
|
||||||
EPhysics_Body *body = (EPhysics_Body *) data;
|
EPhysics_Body *body = (EPhysics_Body *) data;
|
||||||
int w, h;
|
int w, h;
|
||||||
|
@ -1222,7 +1222,7 @@ _ephysics_body_evas_obj_resize_cb(void *data, Evas *e __UNUSED__, Evas_Object *o
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_ephysics_body_soft_body_evas_restack_cb(void *data, Evas *evas __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
|
_ephysics_body_soft_body_evas_restack_cb(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED)
|
||||||
{
|
{
|
||||||
EPhysics_Body *body = (EPhysics_Body *)data;
|
EPhysics_Body *body = (EPhysics_Body *)data;
|
||||||
Eina_List *slices;
|
Eina_List *slices;
|
||||||
|
@ -1404,7 +1404,7 @@ _ephysics_body_evas_obj_map_apply(EPhysics_Body *body, Evas_Map *map, Evas_Objec
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_ephysics_cloth_face_objs_update(EPhysics_Body *body __UNUSED__)
|
_ephysics_cloth_face_objs_update(EPhysics_Body *body EINA_UNUSED)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -4506,7 +4506,7 @@ ephysics_body_clockwise_get(const EPhysics_Body *body)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_ephysics_body_face_obj_del_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
|
_ephysics_body_face_obj_del_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED)
|
||||||
{
|
{
|
||||||
EPhysics_Body *body = (EPhysics_Body *) data;
|
EPhysics_Body *body = (EPhysics_Body *) data;
|
||||||
EPhysics_Body_Face_Obj *face_obj;
|
EPhysics_Body_Face_Obj *face_obj;
|
||||||
|
@ -4574,7 +4574,7 @@ _ephysics_body_face_evas_object_add(EPhysics_Body *body, EPhysics_Body_Face face
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_ephysics_body_box_face_obj_resize_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
|
_ephysics_body_box_face_obj_resize_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED)
|
||||||
{
|
{
|
||||||
EPhysics_Body_Face face = EPHYSICS_BODY_FACE_LAST;
|
EPhysics_Body_Face face = EPHYSICS_BODY_FACE_LAST;
|
||||||
EPhysics_Body *body = (EPhysics_Body *) data;
|
EPhysics_Body *body = (EPhysics_Body *) data;
|
||||||
|
@ -4748,7 +4748,7 @@ _ephysics_body_box_face_evas_object_unset(EPhysics_Body *body, EPhysics_Body_Fac
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_ephysics_body_cylinder_face_obj_resize_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
|
_ephysics_body_cylinder_face_obj_resize_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED)
|
||||||
{
|
{
|
||||||
EPhysics_Body_Face face = EPHYSICS_BODY_FACE_LAST;
|
EPhysics_Body_Face face = EPHYSICS_BODY_FACE_LAST;
|
||||||
EPhysics_Body *body = (EPhysics_Body *) data;
|
EPhysics_Body *body = (EPhysics_Body *) data;
|
||||||
|
@ -4909,7 +4909,7 @@ _ephysics_body_cylinder_face_evas_object_unset(EPhysics_Body *body, EPhysics_Bod
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_ephysics_body_soft_body_face_resize_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
|
_ephysics_body_soft_body_face_resize_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED)
|
||||||
{
|
{
|
||||||
int w, h;
|
int w, h;
|
||||||
EPhysics_Body_Face_Obj *face;
|
EPhysics_Body_Face_Obj *face;
|
||||||
|
@ -5031,7 +5031,7 @@ _ephysics_body_cloth_face_evas_object_unset(EPhysics_Body *body, EPhysics_Body_F
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_ephysics_body_soft_sphere_face_obj_resize_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
|
_ephysics_body_soft_sphere_face_obj_resize_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED)
|
||||||
{
|
{
|
||||||
EPhysics_Body *body = (EPhysics_Body *) data;
|
EPhysics_Body *body = (EPhysics_Body *) data;
|
||||||
Evas_Coord bd, w, h;
|
Evas_Coord bd, w, h;
|
||||||
|
@ -5044,7 +5044,7 @@ _ephysics_body_soft_sphere_face_obj_resize_cb(void *data, Evas *e __UNUSED__, Ev
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_ephysics_body_soft_sphere_face_evas_object_del_cb(void *data, Evas *evas __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
_ephysics_body_soft_sphere_face_evas_object_del_cb(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
||||||
{
|
{
|
||||||
Eina_List *l;
|
Eina_List *l;
|
||||||
void *ldata;
|
void *ldata;
|
|
@ -27,7 +27,7 @@ struct _EPhysics_Camera {
|
||||||
};
|
};
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_ephysics_camera_target_del_cb(void *data, EPhysics_Body *body, void *event_info __UNUSED__)
|
_ephysics_camera_target_del_cb(void *data, EPhysics_Body *body, void *event_info EINA_UNUSED)
|
||||||
{
|
{
|
||||||
EPhysics_Camera *camera = (EPhysics_Camera *) data;
|
EPhysics_Camera *camera = (EPhysics_Camera *) data;
|
||||||
|
|
|
@ -95,7 +95,7 @@ ephysics_shape_point_add(EPhysics_Shape *shape, double x, double y, double z)
|
||||||
|
|
||||||
/* TODO: load points from file */
|
/* TODO: load points from file */
|
||||||
EAPI EPhysics_Shape *
|
EAPI EPhysics_Shape *
|
||||||
ephysics_shape_load(const char *filename __UNUSED__)
|
ephysics_shape_load(const char *filename EINA_UNUSED)
|
||||||
{
|
{
|
||||||
EPhysics_Shape *shape;
|
EPhysics_Shape *shape;
|
||||||
|
|
||||||
|
@ -108,7 +108,7 @@ ephysics_shape_load(const char *filename __UNUSED__)
|
||||||
|
|
||||||
/* TODO: save points to file */
|
/* TODO: save points to file */
|
||||||
EAPI Eina_Bool
|
EAPI Eina_Bool
|
||||||
ephysics_shape_save(const EPhysics_Shape *shape __UNUSED__, const char *filename __UNUSED__)
|
ephysics_shape_save(const EPhysics_Shape *shape EINA_UNUSED, const char *filename EINA_UNUSED)
|
||||||
{
|
{
|
||||||
return EINA_TRUE;
|
return EINA_TRUE;
|
||||||
}
|
}
|
|
@ -301,7 +301,7 @@ _ephysics_world_tick_dispatch(EPhysics_World *world)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_ephysics_world_tick_cb(btDynamicsWorld *dynamics_world, btScalar timeStep __UNUSED__)
|
_ephysics_world_tick_cb(btDynamicsWorld *dynamics_world, btScalar timeStep EINA_UNUSED)
|
||||||
{
|
{
|
||||||
EPhysics_World *world;
|
EPhysics_World *world;
|
||||||
world = (EPhysics_World *) dynamics_world->getWorldUserInfo();
|
world = (EPhysics_World *) dynamics_world->getWorldUserInfo();
|
||||||
|
@ -413,7 +413,7 @@ _ephysics_world_free(EPhysics_World *world)
|
||||||
}
|
}
|
||||||
|
|
||||||
static Eina_Bool
|
static Eina_Bool
|
||||||
_simulate_worlds(void *data __UNUSED__)
|
_simulate_worlds(void *data EINA_UNUSED)
|
||||||
{
|
{
|
||||||
EPhysics_World *world;
|
EPhysics_World *world;
|
||||||
void *wrld;
|
void *wrld;
|
||||||
|
@ -635,7 +635,7 @@ _th_simulate(void *data, Ecore_Thread *th)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_th_msg_cb(void *data, Ecore_Thread *th __UNUSED__, void *msg_data)
|
_th_msg_cb(void *data, Ecore_Thread *th EINA_UNUSED, void *msg_data)
|
||||||
{
|
{
|
||||||
EPhysics_World *world = (EPhysics_World *) data;
|
EPhysics_World *world = (EPhysics_World *) data;
|
||||||
Simulation_Msg *msg = (Simulation_Msg *) msg_data;
|
Simulation_Msg *msg = (Simulation_Msg *) msg_data;
|