Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: krpano.com Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

Sonntag, 31. Dezember 2017, 00:51

new set() syntax and array creation

hi klaus,

i noticed, that you cant create a new array with the new set() syntax for multiple properties...

Quellcode

1
2
3
4
5
6
7
	// we have a new array
	set(local.testarray[test].enabled, true);
	set(testarray[test].align, topleft);
	
	// throws error "invalid array access"
	set(local.testarray[test], enabled=true, align=topleft);
	

this is just fyi...
but if it doesnt bloat the code, it would be nice if that works, too ofc *smile*

best and a happy new year,
index

by the way...
the new set() syntax is a great addition!
it makes the source much more readable
thanks for that!

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »indexofrefraction« (31. Dezember 2017, 13:16)


2

Freitag, 5. Januar 2018, 15:14

hi klaus,

a follow up ..
is it intended, that the new set() syntax can't create sub objects ?

if you do this:
set(image, hfov=360, vfov=180, sphere.url='plugin:scene_video');

set doesnt create an object image.sphere, it creates a string variable called "image.sphere"
the output of debugvar(image); is:
image.sphere.url=[plugin:scene_video] type=string

while with set(image.sphere.url, 'plugin:scene_video'); it is:
image.sphere=[Object] type=object

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »indexofrefraction« (5. Januar 2018, 15:40)


3

Freitag, 12. Januar 2018, 18:40

Hi,
i noticed, that you cant create a new array with the new set() syntax for multiple properties...
Right, in the next version it will be able to do that.

is it intended, that the new set() syntax can't create sub objects ?
Yes, that was basically intended - the 'multi-variable-set' actions first gets (or creates) the given object and then only sets/adds the given properties. This is way faster then resolving the whole 'path' again for each property.

But I have now added an fallback solution for such case - that means when a variable name will contain a '.', then internally automatic a normal set() call will be done for that variable.

Best regards,
Klaus

4

Samstag, 13. Januar 2018, 00:00

tx klaus ;)

5

Montag, 15. Januar 2018, 10:07

Hi Klaus

Does it affect subnodes in generally?
Using multiple 'set' command does not work fpr hotspot points at the moment:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
addhotspot(iniview);
set(hotspot[iniview],
		keep='true',
		enabled=false,
		borderwidth=3,
		bordercolor=get(col_paGold),
		borderalpha=1,
		fillalpha=0,
                point[0].ath=12,
                point[0].atv=1,
                point[1].ath=...,
                ...
	);


only the following conventional code works:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
addhotspot(iniview);
set(hotspot[iniview],
		keep='true',
		enabled=false,
		borderwidth=3,
		bordercolor=get(col_paGold),
		borderalpha=1,
		fillalpha=0
	);
set(hotspot[iniview].point[0].ath, 12);
set(hotspot[iniview].point[0].atv, 1);
set(hotspot[iniview].point[1].ath, ...);
...


best regards,
Oliver
best regards from www.PanAustria.com

6

Montag, 15. Januar 2018, 10:31

yup, subobjects... that will work in the next version... see klaus' post above :)