X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=irrlicht%2Fcore.scm;h=ab2d070335addcbb8f00f905714f15e3db05c399;hb=5d5dfa18d1acb2c3fa05df26b285ff430c9aff89;hp=683c89a47f7f53b34b3e6fddfe11b3d95e87f1b7;hpb=4b0afbe3698367d7230d682047bb36bd381ab8c4;p=guile-irrlicht.git diff --git a/irrlicht/core.scm b/irrlicht/core.scm index 683c89a..ab2d070 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,22 +19,25 @@ (define-module (irrlicht core) - #:use-module (system foreign) - #:use-module ((irrlicht bindings core) #:prefix ffi-core:) - #:export (make-aabbox3df - aabbox3d-reset! - aabbox3d-add-internal-point!)) - -(define (make-aabbox3df) - (ffi-core:pointer->aabbox3df - (make-c-struct ffi-core:aabbox3df '((0 0 0) (0 0 0))))) - -(define (aabbox3d-reset! box init-value) - (ffi-core:aabbox3d-reset - (ffi-core:aabbox3df->pointer box) - (ffi-core:vector3df->pointer init-value))) - -(define (aabbox3d-add-internal-point! box point) - (ffi-core:aabbox3d-add-internal-point - (ffi-core:aabbox3df->pointer box) - (ffi-core:vector3df->pointer point))) + #: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"))) + (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!)