X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=irrlicht%2Fcore.scm;h=7d97476f35b156cdc8e7d919d2896067cf73a611;hb=df1088b80d2c90a390b0229ce5c6ffcc7665fda4;hp=683c89a47f7f53b34b3e6fddfe11b3d95e87f1b7;hpb=4b0afbe3698367d7230d682047bb36bd381ab8c4;p=guile-irrlicht.git diff --git a/irrlicht/core.scm b/irrlicht/core.scm index 683c89a..7d97476 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,21 @@ (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!)) + #:use-module (oop goops) + #:use-module (irrlicht base) + #:use-module (irrlicht foreign)) -(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))) +;; aabbox3d +(define-class () + (irr-class #:init-value "aabbox3d")) -(define (aabbox3d-add-internal-point! box point) - (ffi-core:aabbox3d-add-internal-point - (ffi-core:aabbox3df->pointer box) - (ffi-core:vector3df->pointer 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 make-box3d reset-box3d!)