Scolring - Forum

Entraides et échanges autour de la technologie Scol - Informations and exchanges on the Scol technology

Vous pouvez changer la langue de l'interface une fois inscrit - You can change the language once registered

You are not logged in.

#1 26-Dec-2013 21:49:14

hebdemnobad
Member
From: northamerica
Registered: 20-Apr-2011
Posts: 1,541
Website

getting a handle to a node in the editor with custom code [solved]

I am trying to manipulate a scene node that I created in the OS3D editor from custom code.

On the scene tree, I see:
danremappedlowpoly25 #8

If I open a setposition dialog, I see:
8.danremappedlowpoly25

If I use:

	
let V3DgetObjectByName c3dXsession "8.danremappedlowpoly25" -> nodetoget in
let V3DgetSession c3dXsession-> scene_structure in
let SO3ObjectGetName  nodetoget-> nodename in

or

	
let V3DgetObjectByName c3dXsession "danremappedlowpoly25 #8" -> nodetoget in
let V3DgetSession c3dXsession-> scene_structure in
let SO3ObjectGetName  nodetoget-> nodename in

, the code following the let statements that seeks to display nodename as a string fails to execute. Am I getting the scene node name right? Scol doesn't find any errors in the code at compile time. It's only when I try to run the scene in question that the function bloc cbShow fails to execute.

Here is the entire function fwiw:

fun cbShow(inst, from, action, param, reply, constr)=

	let (V3DgetSessionView c3dXsession) -> viewstr in

	let viewstr.V3D_win -> fatherwin in

	// fatherwin the ObjWin used to create the 3d buffer

	set parent_chat_window = _CRwindow _channel fatherwin 0 450 800 150 WN_NOBORDER|WN_CHILDINSIDE "A window";

	set hacker_window_object_container= _CRcontainerFromObjWin _channel parent_chat_window 0 0 800 150 CO_CHILDINSIDE 0x000000 "hackerwindow";

	set hacker_font = _CRfont _channel 12 0 0 "Lucida Console";

  

	set ongoing_chat_textfield = _CRcompText _channel hacker_window_object_container  nil [0 0] OBJ_ENABLE|OBJ_VISIBLE|CT_LEFT|CT_LABEL|CT_WORDWRAP|CT_LABEL|CT_SELECT OBJ_CONTAINER_KEYDOWN 800 100  strcat "hacker window chat text field"  "\n" hacker_font [0x00FFFF 0 0 0xFFFF00] [0xFFFFFF 50] nil nil;

  

	set chat_entry_textfield = _CRcompText _channel hacker_window_object_container  nil [0 101] OBJ_ENABLE|OBJ_VISIBLE|CT_LEFT|CT_WORDWRAP|CT_EDITLINE 0 800 50  "hacker entry field" hacker_font [0x00FFFF 0 0 0xFFFF00] [0xFFFFFF 50] nil nil;

    _PAINTcontainer hacker_window_object_container;  

	//callback for when user hits the enter key after entering chat string

	_CBcompTextValidation chat_entry_textfield @localuser_enter_text nil  CT_VALIDENTER;

	_CBcontainerKeyDown hacker_window_object_container @containerkeydown nil;

	

	//section to create window to hold ongoing stream of transform information for remote avatars

	//set remote_avatar_transform_window =_CRwindow _channel nil 500  100 400 300 WN_MENU|WN_MINBOX "Avatar Transform Data";


	set remote_avatar_transform_field = _CRtext _channel remote_avatar_transform_window 0 0  400 250 ET_AVSCROLL|ET_ALIGN_LEFT|ET_VSCROLL|ET_TABFOCUS|ET_DOWN "";

	//timer to send positionn and orientation of walkthrough scenenode to server

	_rfltimer _starttimer _channel 2500 @send_client_avatar_position_and_rotation_to_room "myparam";

	loadman;

	intialize_Remote_bot_list;

	if ((netThisUser plugchatvariable.CHAT_netcomm) !=nil)

	then

	//open then brace

	(

	let netThisId plugchatvariable.CHAT_netcomm-> userid in
	let V3DgetObjectByName c3dXsession "8.danremappedlowpoly25" -> nodetoget in
	let V3DgetSession c3dXsession-> scene_structure in
	let SO3ObjectGetName  nodetoget-> nodename in

	//
	(

	_ADDcompText ongoing_chat_textfield  strcatn "your user id name is "::(itoa userid)::" and you are now connected.and one of the nodes creted with the editor is " :: nodename ::" "::"\n"::nil hacker_font [0x00FFFF 0 0 0xFFFF00] CT_END; 

    _PAINTcontainer hacker_window_object_container;
   bot_list_size Remote_bot_List 0;

	0;	
	);

	0;

	)

	else

	(

	0;

	);

	

	0;;

Last edited by hebdemnobad (26-Dec-2013 23:45:06)

Offline

#2 27-Dec-2013 01:05:47

hebdemnobad
Member
From: northamerica
Registered: 20-Apr-2011
Posts: 1,541
Website

Re: getting a handle to a node in the editor with custom code [solved]

the name of a scene node is what you see in the setposition and other dialogs that open up when you right-click the scene tree

Offline

#3 27-Dec-2013 11:53:47

arkeon
Admin. / Scol language & OpenSpace3D developer
From: Nantes
Registered: 30-Mar-2009
Posts: 5,161
Website

Re: getting a handle to a node in the editor with custom code [solved]

real node names are id.name, so 8.danremappedlowpoly25
other name #id are used to make the search by name easier in the UI.

Offline

Board footer

Powered by FluxBB