Progress
This commit is contained in:
parent
1737848330
commit
f4b17e2fde
|
@ -1,5 +1,6 @@
|
|||
<LoadRoomInto "lobby" "scene/lobby.pr" $config>
|
||||
<Room "other" "scene/other.pr">
|
||||
<Room "misc" "scene/misc.pr">
|
||||
|
||||
? <Room ?name ?fileName> [
|
||||
let ?scene = dataspace
|
||||
|
|
252
scene/lobby.pr
252
scene/lobby.pr
|
@ -1,5 +1,5 @@
|
|||
<sprite "light" [] <hemispheric-light <v 0.1 1.0 0.0>>>
|
||||
<gravity <v 0.0 -9.81 0.0>>
|
||||
; <gravity <v 0.0 -9.81 0.0>>
|
||||
<sprite "sky" [] <skybox "textures/Daylight Box UV_0">>
|
||||
|
||||
<sprite "ground" []
|
||||
|
@ -8,43 +8,9 @@
|
|||
<v 0.0 0.0>]
|
||||
<floor <scale <v 300.0 1.0 300.0> <ground>>>>>
|
||||
|
||||
<sprite "box" []
|
||||
<move <v -6.0 1.0 8.0>
|
||||
<scale <v 10.0 0.1 10.0>
|
||||
<texture ["textures/oak-herringbone-5e80fb40b00c9-1200.jpg"
|
||||
<v 10.0 10.0>
|
||||
<v 0.0 0.0>
|
||||
0.75]
|
||||
<floor <box>>>>>>
|
||||
|
||||
<sprite "box2" []
|
||||
<move <v -500.0 0.5 3.0>
|
||||
<floor
|
||||
<color 0.0 0.0 1.0 1.0
|
||||
<scale <v 1000.0 1.0 1.0> <box>>>>>>
|
||||
|
||||
<Exit "p" "lobby">
|
||||
<sprite "p" []
|
||||
<move <v -999.5 2.0 3.0>
|
||||
<rotate <v 0.0 -0.25 0.0>
|
||||
<color 1.0 0.0 1.0
|
||||
<touchable <scale <v 1.0 2.0 1.0> <plane>>>>>>>
|
||||
|
||||
<sprite "steps" []
|
||||
<color 0.0 0.5 0.0
|
||||
<move <v 0.0 0.0 3.5>
|
||||
<scale <v 1.0 1.0 3.0>
|
||||
<texture ["textures/oak-herringbone-5e80fb40b00c9-1200.jpg"]
|
||||
[
|
||||
<move <v 0.0 0.25 0.0> <box>>
|
||||
<move <v 1.0 0.0 0.0> <box>>
|
||||
<move <v 2.0 -0.25 0.0> <box>>
|
||||
]>>>>>
|
||||
|
||||
<Exit "door" "other">
|
||||
<variable "door" y 0.0>
|
||||
<sprite "door" [y]
|
||||
<move <v -3.0 y 1.5>
|
||||
<sprite "door" []
|
||||
<move <v -13.0 0.0 1.5>
|
||||
<rotate <v 0.0 -0.1 0.0> [
|
||||
<scale <v 1.0 2.11 1.0>
|
||||
<texture ["textures/door1.jpg"]
|
||||
|
@ -52,136 +18,104 @@
|
|||
<scale <v 1.0 2.11 0.1> <move <v 0.0 0.5 0.6> <box>>>
|
||||
]>>>
|
||||
|
||||
; <portal "door2" <route [<ws "wss://vr.demo.eighty-twenty.org/ws">]>>
|
||||
; <sprite "door2" []
|
||||
; <move <v -5.0 0.0 1.5>
|
||||
; <rotate <v 0.0 -0.1 0.0> [
|
||||
; <scale <v 1.0 2.11 1.0>
|
||||
; <texture ["textures/door1.jpg"]
|
||||
; <touchable <move <v 0.0 0.5 0.0> <plane>>>>>
|
||||
; <scale <v 1.0 2.11 0.1> <move <v 0.0 0.5 0.6> <box>>>
|
||||
; ]>>>
|
||||
<Exit "miscdoor" "misc">
|
||||
<sprite "miscdoor" []
|
||||
<move <v -12.0 0.0 2.25>
|
||||
<rotate <v 0.0 -0.1 0.0> [
|
||||
<scale <v 1.0 2.11 1.0>
|
||||
<texture ["textures/door1.jpg"]
|
||||
<touchable <move <v 0.0 0.5 0.0> <plane>>>>>
|
||||
<scale <v 1.0 2.11 0.1> <move <v 0.0 0.5 0.6> <box>>>
|
||||
]>>>
|
||||
|
||||
<sprite "plans" []
|
||||
<texture ["plans/signal-2022-12-27-125451_002.jpeg"]
|
||||
<move <v 0.0 1.0 -10.0>
|
||||
<move <v 0.0 1.0 2.0>
|
||||
<rotate <v 0.1 0.0 0.0>
|
||||
<scale <v 2.0 2.0 0.1>
|
||||
<box>>>>>>
|
||||
|
||||
<sprite "tower" []
|
||||
<rotate <v 0.1 0.0 0.0>
|
||||
<move <v -10.0 50.0 13.0>
|
||||
<scale <v 3.0 100.0 3.0>
|
||||
<floor
|
||||
<color 0.5 0.5 0.0
|
||||
<box>>>>>>>
|
||||
|
||||
; <sprite "sponge" []
|
||||
; <move <v 4.0 1.6 0.0> [
|
||||
; <scale <v 0.001 0.001 0.001>
|
||||
; <external "objects/usnm_346-100k-obj/usnm_346-01-100k.obj">>
|
||||
; <texture ["textures/oak-herringbone-5e80fb40b00c9-1200.jpg"]
|
||||
; <scale <v 0.105 1.6 0.13>
|
||||
; <move <v -0.05 -0.5384 0.5>
|
||||
; <box>>>>
|
||||
; ]>>
|
||||
|
||||
; <sprite "sofa" []
|
||||
; <rotate <v -0.125 0.5 0.0>
|
||||
; <scale <v 0.01 0.01 0.01>
|
||||
; <external "objects/IKE020001_obj/IKEA-Arild_2_Seat_Sofa-3D.obj">>>>
|
||||
|
||||
; <sprite "x" []
|
||||
; <move <v 10.0 1.6 -5.0>
|
||||
; <texture ["textures/oak-herringbone-5e80fb40b00c9-1200.jpg"
|
||||
; <v 1.0 3.0 1.0>
|
||||
; <v 0.0 0.0 0.0>]
|
||||
; <sound <stream "https://streams.95bfm.com/stream95">
|
||||
; <csg
|
||||
; <subtract [
|
||||
; <move <v 0.0 0.0 0.5> <scale <v 1.1 3.1 1.1> <mesh <box>>>>
|
||||
; <move <v 0.0 0.0 0.5> <scale <v 1.0 3.0 1.0> <mesh <box>>>>
|
||||
; ]>
|
||||
; >>>>>
|
||||
|
||||
<sprite "tt2" []
|
||||
<move <v 0.0 1.6 5.2>
|
||||
<color 0.5 0.0 1.0
|
||||
<sprite "house" []
|
||||
<move <v 0.0 0.0 10.0>
|
||||
<rotate <v 0.0 0.0 0.0>
|
||||
<turtle [
|
||||
1 to slen
|
||||
0.025 to dlen
|
||||
90 U
|
||||
dlen 10 * F
|
||||
PenDown
|
||||
90 L
|
||||
[12 L dlen 2 * F] 30 times
|
||||
90 R
|
||||
slen F
|
||||
SetPen
|
||||
[
|
||||
to [f]
|
||||
GetPos to p
|
||||
GetHeading to h
|
||||
f
|
||||
h SetHeading
|
||||
p SetPos
|
||||
] to saved
|
||||
|
||||
quote PenUp to PU
|
||||
quote PenDown to PD
|
||||
[ to [f] PD f PU ] to draw
|
||||
[ to [f] PD f DefinePen GetPen ] to drawPen
|
||||
|
||||
[
|
||||
to [f]
|
||||
[
|
||||
ClearPen
|
||||
90 U
|
||||
f
|
||||
] saved
|
||||
to pen
|
||||
[ 0 F pen SetPen 0 F ]
|
||||
] to recordPen
|
||||
|
||||
[ to [s1 s2] [s1 F 90 L s2 F 90 L] 2 times ] to rectL
|
||||
|
||||
2.3 to interiorWallHeight
|
||||
2.5 to exteriorWallHeight
|
||||
[ 90 R 0.06 F 90 L ] to setup
|
||||
|
||||
[setup [interiorWallHeight 0.12 rectL] drawPen] recordPen to interiorWall
|
||||
[setup [exteriorWallHeight 0.25 rectL] drawPen] recordPen to exteriorWall
|
||||
[setup 2.11 F [interiorWallHeight 2.11 - 0.25 rectL] drawPen] recordPen to interiorDoor
|
||||
[setup 2.11 F [exteriorWallHeight 2.11 - 0.25 rectL] drawPen] recordPen to exteriorDoor
|
||||
|
||||
[ to [angle length] [ angle L [length F] draw ] saved ] to wall
|
||||
|
||||
#t SetMiter
|
||||
[ 0 F ] to miter
|
||||
[ 90 L miter ] to --
|
||||
[ 90 R miter ] to ++
|
||||
|
||||
exteriorWall
|
||||
[
|
||||
2.1 F --
|
||||
0.3 F exteriorDoor 1 F exteriorWall 0.9 F ++
|
||||
7.7 F ++
|
||||
13.3 F ++
|
||||
0.7 F --
|
||||
2.2 F ++
|
||||
4.8 F ++
|
||||
2.2 F --
|
||||
4.3 F ++
|
||||
11.1 F ++
|
||||
] draw
|
||||
|
||||
interiorWall
|
||||
Home
|
||||
"double" SetSideOrientation
|
||||
#t SetSmooth
|
||||
PenDown
|
||||
[6 CW dlen F] 240 times
|
||||
PenUp
|
||||
]>>>>
|
||||
|
||||
<sprite "tt" []
|
||||
<move <v 1.0 1.01 0.75>
|
||||
<rotate <v -0.125 0.0 0.0>
|
||||
<texture ["textures/oak-herringbone-5e80fb40b00c9-1200.jpg"
|
||||
<v 2.0 1.0>
|
||||
<v 0.0 0.0>
|
||||
1.0]
|
||||
<csg
|
||||
<subtract [
|
||||
<mesh
|
||||
<turtle [
|
||||
1.0 to wallHeight
|
||||
0.1 to wallDepth
|
||||
|
||||
90 U
|
||||
PenDown
|
||||
[wallHeight F 90 L wallDepth F 90 L] 2 times
|
||||
SetPen
|
||||
Home
|
||||
|
||||
#t SetMiter
|
||||
; #t SetSmooth
|
||||
|
||||
; quote F to ff
|
||||
[ 1 to k k / [dup F] k times drop ] to ff
|
||||
|
||||
[ R 0 F ] to rr
|
||||
; [ R 0 F 60 D ] to rr
|
||||
; [ 4 to k k / [dup R 0 F] k times drop ] to rr
|
||||
|
||||
PenDown
|
||||
60 to sides
|
||||
[4 sides / ff 360 sides / rr] sides 2 / 2 - times
|
||||
1 0.5 1 PenScale 0 F
|
||||
[4 sides / ff 360 sides / rr] 4 times
|
||||
1 1 1 PenScale 0 F
|
||||
[4 sides / ff 360 sides / rr] sides 2 / 2 - times
|
||||
PenUp
|
||||
]>>
|
||||
<mesh <box>>
|
||||
]>>>>>>
|
||||
|
||||
; <Exit "y" "lobby">
|
||||
; <sprite "y" []
|
||||
; <move <v 12.0 0.75 -5.0>
|
||||
; <texture ["textures/oak-herringbone-5e80fb40b00c9-1200.jpg"
|
||||
; <v 1.0 1.0 1.0>
|
||||
; <v 0.0 0.0 0.0>]
|
||||
; <touchable
|
||||
; <csg
|
||||
; <intersect [
|
||||
; <scale <v 0.5 1.0 0.5> <mesh <box>>>
|
||||
; <mesh <sphere>>
|
||||
; ]>
|
||||
; >>
|
||||
; >>>
|
||||
2.1 F
|
||||
[7.7 F] draw
|
||||
1.1 B 90 2.2 wall
|
||||
1.4 B [
|
||||
++
|
||||
[2.1 F ++ 3 F] draw 3 B
|
||||
0.7 F -- [0.9 F] draw ++ 3.2 B
|
||||
[4.2 F -- 2.7 F -- 0.4 F ++ 1.0 F] draw
|
||||
[-- [3.8 F] draw] saved
|
||||
[4.5 F] draw
|
||||
[-- [3.1 F] draw] saved
|
||||
[1.3 F] draw
|
||||
[++ [1.6 F] draw] saved
|
||||
[1 F] draw
|
||||
] saved
|
||||
1.6 B 90 2.2 wall
|
||||
1.4 B -90 11.1 wall
|
||||
]>
|
||||
>>>
|
||||
|
||||
[]
|
||||
|
|
|
@ -0,0 +1,187 @@
|
|||
<sprite "light" [] <hemispheric-light <v 0.1 1.0 0.0>>>
|
||||
<gravity <v 0.0 -9.81 0.0>>
|
||||
<sprite "sky" [] <skybox "textures/Daylight Box UV_0">>
|
||||
|
||||
<sprite "ground" []
|
||||
<texture ["textures/grass-256x256.jpg"
|
||||
<v 100.0 100.0>
|
||||
<v 0.0 0.0>]
|
||||
<floor <scale <v 300.0 1.0 300.0> <ground>>>>>
|
||||
|
||||
<sprite "box" []
|
||||
<move <v -6.0 1.0 8.0>
|
||||
<scale <v 10.0 0.1 10.0>
|
||||
<texture ["textures/oak-herringbone-5e80fb40b00c9-1200.jpg"
|
||||
<v 10.0 10.0>
|
||||
<v 0.0 0.0>
|
||||
0.75]
|
||||
<floor <box>>>>>>
|
||||
|
||||
<sprite "box2" []
|
||||
<move <v -500.0 0.5 3.0>
|
||||
<floor
|
||||
<color 0.0 0.0 1.0 1.0
|
||||
<scale <v 1000.0 1.0 1.0> <box>>>>>>
|
||||
|
||||
<Exit "p" "lobby">
|
||||
<sprite "p" []
|
||||
<move <v -999.5 2.0 3.0>
|
||||
<rotate <v 0.0 -0.25 0.0>
|
||||
<color 1.0 0.0 1.0
|
||||
<touchable <scale <v 1.0 2.0 1.0> <plane>>>>>>>
|
||||
|
||||
<sprite "steps" []
|
||||
<color 0.0 0.5 0.0
|
||||
<move <v 0.0 0.0 3.5>
|
||||
<scale <v 1.0 1.0 3.0>
|
||||
<texture ["textures/oak-herringbone-5e80fb40b00c9-1200.jpg"]
|
||||
[
|
||||
<move <v 0.0 0.25 0.0> <box>>
|
||||
<move <v 1.0 0.0 0.0> <box>>
|
||||
<move <v 2.0 -0.25 0.0> <box>>
|
||||
]>>>>>
|
||||
|
||||
<Exit "door" "other">
|
||||
<variable "door" y 0.0>
|
||||
<sprite "door" [y]
|
||||
<move <v -3.0 y 1.5>
|
||||
<rotate <v 0.0 -0.1 0.0> [
|
||||
<scale <v 1.0 2.11 1.0>
|
||||
<texture ["textures/door1.jpg"]
|
||||
<touchable <move <v 0.0 0.5 0.0> <plane>>>>>
|
||||
<scale <v 1.0 2.11 0.1> <move <v 0.0 0.5 0.6> <box>>>
|
||||
]>>>
|
||||
|
||||
; <portal "door2" <route [<ws "wss://vr.demo.eighty-twenty.org/ws">]>>
|
||||
; <sprite "door2" []
|
||||
; <move <v -5.0 0.0 1.5>
|
||||
; <rotate <v 0.0 -0.1 0.0> [
|
||||
; <scale <v 1.0 2.11 1.0>
|
||||
; <texture ["textures/door1.jpg"]
|
||||
; <touchable <move <v 0.0 0.5 0.0> <plane>>>>>
|
||||
; <scale <v 1.0 2.11 0.1> <move <v 0.0 0.5 0.6> <box>>>
|
||||
; ]>>>
|
||||
|
||||
<sprite "plans" []
|
||||
<texture ["plans/signal-2022-12-27-125451_002.jpeg"]
|
||||
<move <v 0.0 1.0 -10.0>
|
||||
<rotate <v 0.1 0.0 0.0>
|
||||
<scale <v 2.0 2.0 0.1>
|
||||
<box>>>>>>
|
||||
|
||||
<sprite "tower" []
|
||||
<rotate <v 0.1 0.0 0.0>
|
||||
<move <v -10.0 50.0 13.0>
|
||||
<scale <v 3.0 100.0 3.0>
|
||||
<floor
|
||||
<color 0.5 0.5 0.0
|
||||
<box>>>>>>>
|
||||
|
||||
; <sprite "sponge" []
|
||||
; <move <v 4.0 1.6 0.0> [
|
||||
; <scale <v 0.001 0.001 0.001>
|
||||
; <external "objects/usnm_346-100k-obj/usnm_346-01-100k.obj">>
|
||||
; <texture ["textures/oak-herringbone-5e80fb40b00c9-1200.jpg"]
|
||||
; <scale <v 0.105 1.6 0.13>
|
||||
; <move <v -0.05 -0.5384 0.5>
|
||||
; <box>>>>
|
||||
; ]>>
|
||||
|
||||
; <sprite "sofa" []
|
||||
; <rotate <v -0.125 0.5 0.0>
|
||||
; <scale <v 0.01 0.01 0.01>
|
||||
; <external "objects/IKE020001_obj/IKEA-Arild_2_Seat_Sofa-3D.obj">>>>
|
||||
|
||||
; <sprite "x" []
|
||||
; <move <v 10.0 1.6 -5.0>
|
||||
; <texture ["textures/oak-herringbone-5e80fb40b00c9-1200.jpg"
|
||||
; <v 1.0 3.0 1.0>
|
||||
; <v 0.0 0.0 0.0>]
|
||||
; <sound <stream "https://streams.95bfm.com/stream95">
|
||||
; <csg
|
||||
; <subtract [
|
||||
; <move <v 0.0 0.0 0.5> <scale <v 1.1 3.1 1.1> <mesh <box>>>>
|
||||
; <move <v 0.0 0.0 0.5> <scale <v 1.0 3.0 1.0> <mesh <box>>>>
|
||||
; ]>
|
||||
; >>>>>
|
||||
|
||||
<sprite "tt2" []
|
||||
<move <v 0.0 1.6 5.2>
|
||||
<color 0.5 0.0 1.0
|
||||
<turtle [
|
||||
1 to slen
|
||||
0.025 to dlen
|
||||
90 U
|
||||
dlen 10 * F
|
||||
PenDown
|
||||
90 L
|
||||
[12 L dlen 2 * F] 30 times
|
||||
90 R
|
||||
slen F
|
||||
DefinePen
|
||||
Home
|
||||
"double" SetSideOrientation
|
||||
#t SetSmooth
|
||||
PenDown
|
||||
[6 CW dlen F] 240 times
|
||||
PenUp
|
||||
]>>>>
|
||||
|
||||
<sprite "tt" []
|
||||
<move <v 1.0 1.01 0.75>
|
||||
<rotate <v -0.125 0.0 0.0>
|
||||
<texture ["textures/oak-herringbone-5e80fb40b00c9-1200.jpg"
|
||||
<v 2.0 1.0>
|
||||
<v 0.0 0.0>
|
||||
1.0]
|
||||
<csg
|
||||
<subtract [
|
||||
<mesh
|
||||
<turtle [
|
||||
1.0 to wallHeight
|
||||
0.1 to wallDepth
|
||||
|
||||
90 U
|
||||
PenDown
|
||||
[wallHeight F 90 L wallDepth F 90 L] 2 times
|
||||
DefinePen
|
||||
Home
|
||||
|
||||
#t SetMiter
|
||||
; #t SetSmooth
|
||||
|
||||
; quote F to ff
|
||||
[ 1 to k k / [dup F] k times drop ] to ff
|
||||
|
||||
[ R 0 F ] to rr
|
||||
; [ R 0 F 60 D ] to rr
|
||||
; [ 4 to k k / [dup R 0 F] k times drop ] to rr
|
||||
|
||||
PenDown
|
||||
60 to sides
|
||||
[4 sides / ff 360 sides / rr] sides 2 / 2 - times
|
||||
1 0.5 1 PenScale 0 F
|
||||
[4 sides / ff 360 sides / rr] 4 times
|
||||
1 1 1 PenScale 0 F
|
||||
[4 sides / ff 360 sides / rr] sides 2 / 2 - times
|
||||
PenUp
|
||||
]>>
|
||||
<mesh <box>>
|
||||
]>>>>>>
|
||||
|
||||
; <Exit "y" "lobby">
|
||||
; <sprite "y" []
|
||||
; <move <v 12.0 0.75 -5.0>
|
||||
; <texture ["textures/oak-herringbone-5e80fb40b00c9-1200.jpg"
|
||||
; <v 1.0 1.0 1.0>
|
||||
; <v 0.0 0.0 0.0>]
|
||||
; <touchable
|
||||
; <csg
|
||||
; <intersect [
|
||||
; <scale <v 0.5 1.0 0.5> <mesh <box>>>
|
||||
; <mesh <sphere>>
|
||||
; ]>
|
||||
; >>
|
||||
; >>>
|
||||
|
||||
[]
|
|
@ -296,6 +296,8 @@ export const Primitives: Environment<any> = {
|
|||
|
||||
'if'(v, t) { if (!!v) this.apply('if', t); return []; },
|
||||
'ifelse'(v, t, f) { if (!!v) this.apply('ifelse', t); else this.apply('ifelse', f); return []; },
|
||||
|
||||
'*dump*'() { console.log(this._summary()); return []; },
|
||||
};
|
||||
|
||||
function _code(s: string): Closure<any> {
|
||||
|
|
|
@ -11,6 +11,8 @@ import {
|
|||
|
||||
import * as Cat from './cat.js';
|
||||
|
||||
export class PenError extends Cat.RuntimeError {}
|
||||
|
||||
export class PenState {
|
||||
templatePath: Vector3[] = [new Vector3()];
|
||||
paths: Vector3[][] | null = null;
|
||||
|
@ -28,7 +30,7 @@ export class PenState {
|
|||
}
|
||||
|
||||
set() {
|
||||
if (!this.paths) throw new Error("Cannot set pen with no paths");
|
||||
if (!this.paths) throw new PenError("Cannot set pen with no paths");
|
||||
this.templatePath = this.paths[0];
|
||||
this.paths = null;
|
||||
this.directions = null;
|
||||
|
@ -219,7 +221,8 @@ export const TurtlePrimitives: Cat.Environment<TurtleVM> = Object.assign({}, Cat
|
|||
'SetX'(v) { this.pos.x = v as number; return []; },
|
||||
'SetY'(v) { this.pos.y = v as number; return []; },
|
||||
'SetZ'(v) { this.pos.z = v as number; return []; },
|
||||
'SetPos'(x, y, z) {
|
||||
'SetPos'(v) {
|
||||
const [x, y, z] = v as number[];
|
||||
this.pos.set(x as number, y as number, z as number);
|
||||
return [];
|
||||
},
|
||||
|
@ -231,7 +234,8 @@ export const TurtlePrimitives: Cat.Environment<TurtleVM> = Object.assign({}, Cat
|
|||
'SetRX'(v) { this.q.x = v as number * D2R; return []; },
|
||||
'SetRY'(v) { this.q.y = v as number * D2R; return []; },
|
||||
'SetRZ'(v) { this.q.z = v as number * D2R; return []; },
|
||||
'SetHeading'(x, y, z) {
|
||||
'SetHeading'(v) {
|
||||
const [x, y, z] = v as number[];
|
||||
this.q = Quaternion.FromEulerAngles(x as number * D2R, y as number * D2R, z as number * D2R);
|
||||
return [];
|
||||
},
|
||||
|
@ -251,7 +255,16 @@ export const TurtlePrimitives: Cat.Environment<TurtleVM> = Object.assign({}, Cat
|
|||
'CCW'(degrees) { this.relativeRotate(0, 0, degrees as number); return []; },
|
||||
|
||||
'ClearPen'() { this.pen.clear(); return []; },
|
||||
'SetPen'() { this.pen.set(); return []; },
|
||||
'DefinePen'() { this.pen.set(); return []; },
|
||||
'GetPen'() { return [this.pen.templatePath.map(v => v.asArray())]; },
|
||||
'SetPen'(p0) {
|
||||
const p = p0 as [number, number, number][];
|
||||
if (this.pen.isDown && this.pen.templatePath.length !== p.length) {
|
||||
throw new PenError("Cannot set pen with different number of points when pen is down");
|
||||
}
|
||||
this.pen.templatePath = p.map(v => Vector3.FromArray(v));
|
||||
return [];
|
||||
},
|
||||
|
||||
'PenScale'(sx, sy, sz) {
|
||||
this.pen.templateScale = new Vector3(sx as number, sy as number, sz as number);
|
||||
|
|
Loading…
Reference in New Issue