ai_build_node   xtlang


Defined in:  https://github.com/digego/extempore/tree/v0.8.9/libs/external/assimp.xtm

Implementation

;; returns the scenes top level node as XTMModel*
(bind-func ai_build_node
  (lambda (scene:aiScene* node:aiNode* _node:XTMModel* parent:XTMModel* dir:i8*)
    (let ((i:i32 0)
          (aiparent:aiNode* (tref node 2))
          (aipn:aiString* (if (null? aiparent) null (tref-ptr aiparent 0)))
          (pnamelgth (if (null? aipn) 0 (tref aipn 0)))
          (pname:i8* (if (null? aipn) null (halloc (+ 1 pnamelgth))))
          (ain:aiString* (tref-ptr node 0))
          (namelgth (tref ain 0))
          (name:i8* (halloc (+ 1 namelgth)))
          (numchildren:i32 (tref node 3))
          (children:aiNode** (tref node 4))
          (_children:XTMModel* (halloc (+ 1 numchildren)))
          (nummeshes:i32 (tref node 5))
          (meshes:aiMesh** (tref scene 3))
          (_meshes:XTMMesh* (halloc (+ 1 nummeshes)))
          (transmat:float* (halloc 16)))
      (memset name 0 (+ namelgth 1))
      (memcpy name (cast (tref-ptr ain 1) i8*) namelgth)
      (if (null? aiparent)
          (println "Node:" (Str name) "Parent:" (Str "") "Children:" numchildren "ptr:" (cast node i8*))
          (begin
            (memset pname 0 (+ pnamelgth 1))
            (memcpy pname (cast (tref-ptr aipn 1) i8*) pnamelgth)
            (println "Node:" (Str name) "Parent:" (Str pname) "Children:" numchildren "ptr:" (cast node i8*))))
      ;;(printf "Build node:%s:%p children(%d)  meshes(%d)\n" name _node numchildren nummeshes)
      (tset! _node 0 (Str name))
      (ai_matrix4_to_float (tref-ptr node 1) transmat)
      (tset! _node 1 transmat)
      (tset! _node 2 parent)
      (tset! _node 3 numchildren)
      (dotimes (i numchildren)
        (ai_build_node scene (pref children i) (pref-ptr _children i) _node dir))
      (tset! _node 4 _children)
      (tset! _node 5 nummeshes)
      (dotimes (i nummeshes)
        (ai_build_mesh scene (pref meshes (pref (tref node 6) i)) (pref-ptr _meshes i) dir))
      (tset! _node 6 _meshes)
      void)))


Back to Index

Similar Entries

  • AudioBuffer_from_aiff    xtlang    /digego/extempore/tree/v0.8.9/libs/core/audiobuffer.xtm
  • MATCH-FAILED    scheme    /digego/extempore/tree/v0.8.9/libs/core/pattern.xtm
  • _glib_main_loop_call    xtlang    /digego/extempore/tree/v0.8.9/examples/contrib/slideshow.xtm
  • _glib_main_loop_call    xtlang    /digego/extempore/tree/v0.8.9/examples/contrib/gstvideo_multi.xtm
  • _glib_main_loop_call    xtlang    /digego/extempore/tree/v0.8.9/examples/contrib/gstvideo.xtm
  • _gst_main_loop_call    xtlang    /digego/extempore/tree/v0.8.9/examples/contrib/mediaplayer.xtm
  • aiGetMaterialFloat    xtlang    /digego/extempore/tree/v0.8.9/libs/external/assimp.xtm
  • aiProcess_CalcTangentSpace    scheme    /digego/extempore/tree/v0.8.9/libs/external/assimp.xtm
  • aiProcess_Debone    scheme    /digego/extempore/tree/v0.8.9/libs/external/assimp.xtm
  • aiProcess_FindDegenerates    scheme    /digego/extempore/tree/v0.8.9/libs/external/assimp.xtm
  • aiProcess_FindInstances    scheme    /digego/extempore/tree/v0.8.9/libs/external/assimp.xtm
  • aiProcess_FindInvalidData    scheme    /digego/extempore/tree/v0.8.9/libs/external/assimp.xtm
  • aiProcess_FixInfacingNormals    scheme    /digego/extempore/tree/v0.8.9/libs/external/assimp.xtm
  • aiProcess_FlipUVs    scheme    /digego/extempore/tree/v0.8.9/libs/external/assimp.xtm
  • aiProcess_FlipWindingOrder    scheme    /digego/extempore/tree/v0.8.9/libs/external/assimp.xtm
  • aiProcess_GenNormals    scheme    /digego/extempore/tree/v0.8.9/libs/external/assimp.xtm
  • aiProcess_GenSmoothNormals    scheme    /digego/extempore/tree/v0.8.9/libs/external/assimp.xtm
  • aiProcess_GenUVCoords    scheme    /digego/extempore/tree/v0.8.9/libs/external/assimp.xtm
  • aiProcess_ImproveCacheLocality    scheme    /digego/extempore/tree/v0.8.9/libs/external/assimp.xtm
  • aiProcess_JoinIdenticalVertices    scheme    /digego/extempore/tree/v0.8.9/libs/external/assimp.xtm
  • aiProcess_LimitBoneWeights    scheme    /digego/extempore/tree/v0.8.9/libs/external/assimp.xtm
  • aiProcess_MakeLeftHanded    scheme    /digego/extempore/tree/v0.8.9/libs/external/assimp.xtm
  • aiProcess_OptimizeGraph    scheme    /digego/extempore/tree/v0.8.9/libs/external/assimp.xtm
  • aiProcess_OptimizeMeshes    scheme    /digego/extempore/tree/v0.8.9/libs/external/assimp.xtm
  • aiProcess_PreTransformVertices    scheme    /digego/extempore/tree/v0.8.9/libs/external/assimp.xtm
  • aiProcess_RemoveComponent    scheme    /digego/extempore/tree/v0.8.9/libs/external/assimp.xtm
  • aiProcess_RemoveRedundantMaterials    scheme    /digego/extempore/tree/v0.8.9/libs/external/assimp.xtm
  • aiProcess_SortByPType    scheme    /digego/extempore/tree/v0.8.9/libs/external/assimp.xtm
  • aiProcess_SplitByBoneCount    scheme    /digego/extempore/tree/v0.8.9/libs/external/assimp.xtm
  • aiProcess_SplitLargeMeshes    scheme    /digego/extempore/tree/v0.8.9/libs/external/assimp.xtm
  • aiProcess_TransformUVCoords    scheme    /digego/extempore/tree/v0.8.9/libs/external/assimp.xtm
  • aiProcess_Triangulate    scheme    /digego/extempore/tree/v0.8.9/libs/external/assimp.xtm
  • aiProcess_ValidateDataStructure    scheme    /digego/extempore/tree/v0.8.9/libs/external/assimp.xtm
  • ai_build_anim_channel    xtlang    /digego/extempore/tree/v0.8.9/libs/external/assimp.xtm
  • ai_build_animation    xtlang    /digego/extempore/tree/v0.8.9/libs/external/assimp.xtm
  • ai_build_mesh    xtlang    /digego/extempore/tree/v0.8.9/libs/external/assimp.xtm
  • ai_build_mesh_vbo    xtlang    /digego/extempore/tree/v0.8.9/libs/external/assimp.xtm
  • ai_build_scene    xtlang    /digego/extempore/tree/v0.8.9/libs/external/assimp.xtm
  • ai_color4_to_float4    xtlang    /digego/extempore/tree/v0.8.9/libs/external/assimp.xtm
  • ai_convert    xtlang    /digego/extempore/tree/v0.8.9/libs/external/assimp.xtm
  • ai_find_matching_node    xtlang    /digego/extempore/tree/v0.8.9/libs/external/assimp.xtm
  • ai_load_ogl_texture    xtlang    /digego/extempore/tree/v0.8.9/libs/external/assimp.xtm
  • ai_load_ogl_texture_from_buffer    xtlang    /digego/extempore/tree/v0.8.9/libs/external/assimp.xtm
  • ai_matrix4_to_float    xtlang    /digego/extempore/tree/v0.8.9/libs/external/assimp.xtm
  • ai_print_export_formats    xtlang    /digego/extempore/tree/v0.8.9/libs/external/assimp.xtm
  • aiff_validate    xtlang    /digego/extempore/tree/v0.8.9/libs/core/audiobuffer.xtm
  • audiofile_aiff_read_samples    xtlang    /digego/extempore/tree/v0.8.9/libs/core/audiobuffer.xtm
  • available_midi_events    xtlang    /digego/extempore/tree/v0.8.9/libs/external/midi.xtm
  • await_futures    xtlang    /digego/extempore/tree/v0.8.9/examples/core/xthread.xtm
  • build_pyramid    xtlang    /digego/extempore/tree/v0.8.9/examples/external/xtmrender4.xtm
  • cairo-animation    scheme    /digego/extempore/tree/v0.8.9/examples/contrib/drawing.xtm
  • cairo_draw_image    xtlang    /digego/extempore/tree/v0.8.9/examples/contrib/drawing.xtm
  • cerberus_main_cc    xtlang    /digego/extempore/tree/v0.8.9/libs/core/instruments/cerberus_midi.xtm
  • clock_scheduler_main_callback    xtlang    /digego/extempore/tree/v0.8.9/libs/core/scheduler.xtm
  • constrain-generic    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmti.xtm
  • constrain-genericfunc    macro    /digego/extempore/tree/v0.8.9/runtime/llvmti.xtm
  • cpBBContainsBB    xtlang    /digego/extempore/tree/v0.8.9/libs/contrib/libchipmunk/cpBB.xtm
  • cpBBContainsVect    xtlang    /digego/extempore/tree/v0.8.9/libs/contrib/libchipmunk/cpBB.xtm
  • decompose_domain    xtlang    /digego/extempore/tree/v0.8.9/examples/contrib/mpi/random-walk.xtm
  • find_node    xtlang    /digego/extempore/tree/v0.8.9/examples/core/godot_test1.xtm
  • fleet_connect_to_nodes    xtlang    /digego/extempore/tree/v0.8.9/libs/external/fleet.xtm
  • fleet_message_all_nodes_sync    xtlang    /digego/extempore/tree/v0.8.9/libs/external/fleet.xtm
  • fleet_message_node_sync    xtlang    /digego/extempore/tree/v0.8.9/libs/external/fleet.xtm
  • get_main_frame    xtlang    /digego/extempore/tree/v0.8.9/libs/external/cef/cef.xtm
  • ghttp_set_content_type_plaintext    xtlang    /digego/extempore/tree/v0.8.9/libs/external/ghttp.xtm
  • glfw_print_primary_monitor_details    xtlang    /digego/extempore/tree/v0.8.9/libs/external/glfw3.xtm
  • glfw_print_video_mode_details    xtlang    /digego/extempore/tree/v0.8.9/libs/external/glfw3.xtm
  • glib-main-loop    scheme    /digego/extempore/tree/v0.8.9/examples/contrib/slideshow.xtm
  • glib-main-loop    scheme    /digego/extempore/tree/v0.8.9/examples/contrib/gstvideo_multi.xtm
  • glib_main_loop    xtlang    /digego/extempore/tree/v0.8.9/examples/contrib/gstvideo.xtm
  • godot_node_path_destroy    xtlang    /digego/extempore/tree/v0.8.9/libs/contrib/libgodot.xtm
  • godot_node_path_new    xtlang    /digego/extempore/tree/v0.8.9/libs/contrib/libgodot.xtm
  • godot_variant_new_node_path    xtlang    /digego/extempore/tree/v0.8.9/libs/contrib/libgodot.xtm
  • grains    scheme    /digego/extempore/tree/v0.8.9/examples/external/sing_a_song.xtm
  • gst-main-loop    scheme    /digego/extempore/tree/v0.8.9/examples/contrib/mediaplayer.xtm
  • gui_set_monokai_color_theme    xtlang    /digego/extempore/tree/v0.8.9/libs/external/gui.xtm
  • gui_set_monokai_opensans_theme    xtlang    /digego/extempore/tree/v0.8.9/libs/external/gui.xtm
  • impc:aot:insert-closure-binding-details    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmti.xtm
  • impc:aot:insert-ext-globalvar-binding-details    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmti.xtm
  • impc:aot:insert-gl-proc-binding-details    scheme    /digego/extempore/tree/v0.8.9/libs/external/gl/gl-getprocaddress.xtm
  • impc:aot:insert-globalvar-binding-details    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmti.xtm
  • impc:aot:insert-load-dylib-details    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmti.xtm
  • impc:aot:insert-namedtype-binding-details    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmti.xtm
  • impc:aot:insert-nativefunc-binding-details    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmti.xtm
  • impc:aot:insert-polyfunc-binding-details    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmti.xtm
  • impc:aot:insert-static-binding-details    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmti.xtm
  • impc:aot:insert-typealias-binding-details    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmti.xtm
  • impc:aot:insert-xtmacro-binding-details    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmti.xtm
  • impc:aot:print-compilation-details    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmti.xtm
  • impc:compiler:print-bind-func-details-to-log    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmti.xtm
  • impc:compiler:print-binding-details-to-log    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmti.xtm
  • impc:compiler:print-compiler-failed-error    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmti.xtm
  • impc:compiler:print-constraint-error    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmti.xtm
  • impc:compiler:print-dylib-loading-details-to-log    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmti.xtm
  • impc:compiler:print-lib-binding-details-to-log    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmti.xtm
  • impc:compiler:print-polying-details-to-log    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmti.xtm
  • impc:ti:check-bang-against-reified    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmti.xtm
  • impc:ti:constrain-genericfunc    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmti.xtm
  • impc:ti:generic-type-details    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmti.xtm
  • impc:ti:variable-substitution-pairs    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmti.xtm
  • last-pair    scheme    /digego/extempore/tree/v0.8.9/runtime/init.xtm
  • list-tail    scheme    /digego/extempore/tree/v0.8.9/runtime/init.xtm
  • main    xtlang    /digego/extempore/tree/v0.8.9/examples/core/fasta_lang_shootout.xtm
  • main    xtlang    /digego/extempore/tree/v0.8.9/examples/core/nbody_lang_shootout.xtm
  • main    xtlang    /digego/extempore/tree/v0.8.9/examples/contrib/opencl.xtm
  • main    xtlang    /digego/extempore/tree/v0.8.9/examples/contrib/80211.xtm
  • main    xtlang    /digego/extempore/tree/v0.8.9/examples/contrib/mpi/mpitest.xtm
  • main    xtlang    /digego/extempore/tree/v0.8.9/examples/contrib/mpi/send-recv.xtm
  • main    xtlang    /digego/extempore/tree/v0.8.9/examples/contrib/mpi/random-walk.xtm
  • main    xtlang    /digego/extempore/tree/v0.8.9/examples/contrib/mpi/hello-world.xtm
  • main    xtlang    /digego/extempore/tree/v0.8.9/examples/contrib/mpi/reduce-average.xtm
  • main    xtlang    /digego/extempore/tree/v0.8.9/examples/contrib/mpi/ping-pong.xtm
  • main    xtlang    /digego/extempore/tree/v0.8.9/examples/contrib/extempore-fortran/simulation.xtm
  • mainLoop    xtlang    /digego/extempore/tree/v0.8.9/examples/contrib/horde3d_knight.xtm
  • mainLoop    xtlang    /digego/extempore/tree/v0.8.9/examples/contrib/bullet.xtm
  • main_cc    xtlang    /digego/extempore/tree/v0.8.9/libs/core/instruments/analogue_midi.xtm
  • main_gain    xtlang    /digego/extempore/tree/v0.8.9/examples/sharedsystem/audiosetup.xtm
  • main_reverb    xtlang    /digego/extempore/tree/v0.8.9/examples/sharedsystem/audiosetup.xtm
  • match-pair    scheme    /digego/extempore/tree/v0.8.9/libs/core/pattern.xtm
  • match_aiString    xtlang    /digego/extempore/tree/v0.8.9/libs/external/assimp.xtm
  • node_reply_function    xtlang    /digego/extempore/tree/v0.8.9/libs/external/fleet-node.xtm
  • node_reply_loop    xtlang    /digego/extempore/tree/v0.8.9/libs/external/fleet-node.xtm
  • node_reply_loop_stop    xtlang    /digego/extempore/tree/v0.8.9/libs/external/fleet-node.xtm
  • node_reply_socket_init    xtlang    /digego/extempore/tree/v0.8.9/libs/external/fleet-node.xtm
  • nth_tail    xtlang    /digego/extempore/tree/v0.8.9/libs/core/adt.xtm
  • nth_tailr    xtlang    /digego/extempore/tree/v0.8.9/libs/core/adt.xtm
  • ocv_waitKey    xtlang    /digego/extempore/tree/v0.8.9/libs/contrib/xtmcv.xtm
  • p:pair    scheme    /digego/extempore/tree/v0.8.9/libs/base/pattern.xtm
  • pairs_test    xtlang    /digego/extempore/tree/v0.8.9/examples/contrib/algebraic_data_types.xtm
  • run_main_event_loop    xtlang    /digego/extempore/tree/v0.8.9/libs/core/scheduler.xtm
  • set_cairo_source_with_colour    xtlang    /digego/extempore/tree/v0.8.9/examples/contrib/spectral_meter.xtm
  • set_dl_main    xtlang    /digego/extempore/tree/v0.8.9/libs/core/instruments/dlogue.xtm
  • sys:wait    scheme    /digego/extempore/tree/v0.8.9/runtime/scheme.xtm
  • tail    scheme    /digego/extempore/tree/v0.8.9/runtime/init.xtm
  • xtm_build_mesh_vbo    xtlang    /digego/extempore/tree/v0.8.9/libs/external/graphics-pipeline.xtm
  • xtm_destroy_paint    xtlang    /digego/extempore/tree/v0.8.9/libs/contrib/openvg.xtm
  • xtm_paint_set_color    xtlang    /digego/extempore/tree/v0.8.9/libs/contrib/openvg.xtm
  • xtm_paint_set_fill    xtlang    /digego/extempore/tree/v0.8.9/libs/contrib/openvg.xtm
  • xtm_paint_set_pattern    xtlang    /digego/extempore/tree/v0.8.9/libs/contrib/openvg.xtm
  • xtm_paint_set_stroke    xtlang    /digego/extempore/tree/v0.8.9/libs/contrib/openvg.xtm
  • zip_array_ptr_constraint    scheme    /digego/extempore/tree/v0.8.9/tests/core/constraints.xtm
  • zip_array_val_constraint    scheme    /digego/extempore/tree/v0.8.9/tests/core/constraints.xtm