From dc5b5d026debfa9a33d2877e331005a89d89d942 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Crist=C3=B3bal=20Sciutto?= Date: Thu, 9 May 2024 20:20:03 -0300 Subject: [PATCH 1/2] load images to a path --- virtual-programs/images.folk | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/virtual-programs/images.folk b/virtual-programs/images.folk index 002760c0..b10b6fb0 100644 --- a/virtual-programs/images.folk +++ b/virtual-programs/images.folk @@ -280,15 +280,17 @@ namespace eval ::image { variable imagesCache [dict create] # Loads a URL or file path if passed. If passed a valid image_t, # just returns that image_t. - proc load {im} { + proc load {im {name ""}} { variable imagesCache + if {[dict exists $imagesCache $im]} { set im [dict get $imagesCache $im] } else { set impath $im if {[string match "http*://*" $impath]} { - set im /tmp/[regsub -all {\W+} $impath "_"] - exec -ignorestderr curl -o$im $impath + set name [expr { $name ne "" ? $name : [regsub -all {\W+} $impath "_"] }] + set im /tmp/$name + exec -ignorestderr curl -o $im $impath } if {[string match "*jpg" $im] || [string match "*jpeg" $im] || @@ -346,8 +348,11 @@ When /someone/ wishes /p/ displays camera slice /slice/ & /p/ has region /r/ { Wish to draw an image with center $center image $slice radians 0 scale 1 } -When /someone/ wishes /p/ displays image /im/ with scale /s/ { - set im [image load $im] +When /someone/ wishes /p/ displays image /im/ with /...options/ { + set s [dict_getdef $options scale 1] + set name [dict_getdef $options name ""] + + set im [image load $im $name] When $p has region /r/ { # Compute a scale for im that will fit in the region width/height # Draw im with scale and rotation From b3a743172a0bc28766dcc5923bca5d1cc99aa578 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Crist=C3=B3bal=20Sciutto?= Date: Thu, 25 Jul 2024 20:56:52 -0300 Subject: [PATCH 2/2] tmp --- virtual-programs/mask-tags.folk | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/virtual-programs/mask-tags.folk b/virtual-programs/mask-tags.folk index 749bb26c..d498d08a 100644 --- a/virtual-programs/mask-tags.folk +++ b/virtual-programs/mask-tags.folk @@ -1,16 +1,16 @@ -When tag /something/ has corners /corners/ { - set tagCorners [lmap p $corners {::cameraToProjector $p}] +# When tag /id/ has corners /corners/ & /nobody/ claims /id/ is not masked { +# set tagCorners [lmap p $corners {::cameraToProjector $p}] - set vecBottom [sub [lindex $tagCorners 1] [lindex $tagCorners 0]] - set vecRight [sub [lindex $tagCorners 2] [lindex $tagCorners 1]] +# set vecBottom [sub [lindex $tagCorners 1] [lindex $tagCorners 0]] +# set vecRight [sub [lindex $tagCorners 2] [lindex $tagCorners 1]] - set offsets {{-0.5 -0.5} {0.5 -0.5} {0.5 0.5} {-0.5 0.5}} - set scales [matmul $offsets [list $vecBottom $vecRight]] - set corners [add $tagCorners $scales] +# set offsets {{-0.5 -0.5} {0.5 -0.5} {0.5 0.5} {-0.5 0.5}} +# set scales [matmul $offsets [list $vecBottom $vecRight]] +# set corners [add $tagCorners $scales] - set p0 [lindex $corners 0] - set p1 [lindex $corners 1] - set p2 [lindex $corners 2] - set p3 [lindex $corners 3] - Wish to draw a quad with p0 $p0 p1 $p1 p2 $p2 p3 $p3 color black layer 1 -} \ No newline at end of file +# set p0 [lindex $corners 0] +# set p1 [lindex $corners 1] +# set p2 [lindex $corners 2] +# set p3 [lindex $corners 3] +# Wish to draw a quad with p0 $p0 p1 $p1 p2 $p2 p3 $p3 color black layer 1 +# }