Getting a possible parentwithout getting an error

Blitz3D Forums/Blitz3D Programming/Getting a possible parentwithout getting an error

D4NM4N(Posted 2006) [#1]
Hi,

I want to camera pick a animated entity. I have recursed the mesh and set the pickmode on all the peices.

Problem is, i need to find a way of returning the top of the tree and returning the master parent for the picked entity. I kinda assumed (foolishly) that the getparent() command would return a zero if no parent was available but it generates a entity not found.

Anyone know of another command or (must be very fast) routine for finding the master mesh of a hireachy (without recursing every child of every single mesh in ram to see if its there?

This is what i wanted to do:
Function GetTopOfTree(child)
	parent=child
	Repeat
		par=GetParent(child)
		If par parent=par
	Until not par
	Return parent
End Function



Stevie G(Posted 2006) [#2]
A non-recursive way would be to store the master mesh in every child meshes entityname ...

nameentity( child , mastermesh )

Then straight away you know the master by ...

mastermesh = entityname( child )


Obviously this would be screwed if you already used the entityname for something else.

Stevie


fredborg(Posted 2006) [#3]
You keep on finding the parent of the entity passed to the function...Do it like this:
Function GetTopOfTree(child)
	
	parent = child
	
	par = GetParent(child)
	While par
		parent = par
		par = GetParent(parent)
	Wend
	
	Return parent
	
End Function



Ross C(Posted 2006) [#4]
When did getparent() become a command?


D4NM4N(Posted 2006) [#5]
not sure, version1.9 i think

Fredborg, hats off 2 u! That seems to work.

silly me