X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=irrlicht%2Fcore.scm;h=2b714727bd5ca4b342a7df72d35628f836ea465f;hb=061e994acc2fe7806d3911a715993c442e56f7ef;hp=7bc62084e77dd0b630a72d395c74b139f86e5a77;hpb=4eb7b8f04ad278d49d632d62030b5fe648e3b97a;p=guile-irrlicht.git diff --git a/irrlicht/core.scm b/irrlicht/core.scm index 7bc6208..2b71472 100644 --- a/irrlicht/core.scm +++ b/irrlicht/core.scm @@ -1,5 +1,5 @@ ;;; guile-irrlicht --- FFI bindings for Irrlicht Engine -;;; Copyright (C) 2019 Javier Sancho +;;; Copyright (C) 2020 Javier Sancho ;;; ;;; This file is part of guile-irrlicht. ;;; @@ -19,11 +19,25 @@ (define-module (irrlicht core) - #:use-module ((irrlicht bindings core) #:prefix ffi-core:) - #:export (aabbox3d-reset!) - #:re-export ((ffi-core:make-aabbox3df . make-aabbox3df))) - -(define (aabbox3d-reset! box init-value) - (ffi-core:aabbox3d-reset - (ffi-core:aabbox3df->pointer box) - (ffi-core:vector3df->pointer init-value))) + #:use-module (oop goops) + #:use-module (irrlicht base) + #:use-module (irrlicht foreign)) + + +;; aabbox3d +(define-class () + (irr-class #:init-value "aabbox3d")) + +(define-method (add-internal-point! (box3d ) point) + (let ((addInternalPoint (get-irrlicht-proc "aabbox3d_addInternalPoint"))) + (addInternalPoint box3d point))) + +(define (make-box3d) + (let ((aabbox3d_make (get-irrlicht-proc "aabbox3d_make"))) + (make #:irr-pointer (aabbox3d_make)))) + +(define-method (reset-box3d! (box3d ) init-value) + (let ((reset (get-irrlicht-proc "aabbox3d_reset"))) + (reset box3d init-value))) + +(export add-internal-point! make-box3d reset-box3d!)