Re: Intersection questions

New Message Reply Date view Thread view Subject view Author view

Angus Dorbie (dorbie++at++bitch.reading.sgi.com)
Sat, 9 Mar 1996 18:32:31 +0100


You can transform your intersection vectors to their position in the world by
transforming vector through the matrix of the object it's attached to using
pfXformVec3. If it's below more than one matrix you could transform it through
each in turn (deepest first), or multiply the matrices and transform through
the result.

You can transform points in a geoset to the position in the world by
multiplying the matrices in the nodes above together using pfPreMultMat
or pfPostMultMat depending on whether your ascending or descending
(both work) then using pfXformPt3 or pfFullXformPt3 depending on
the information in the matrix.
It would be easier for you to copy the tree of pfDCSs as pfSCSs & use
pfFlatten to transform the pfGeode. You _don't_ have to do this to
solve your intersection problem.

I memory serves me correctly, to get the point of intersection in the
scene I've used pfQueryHit to obtain the PFQHIT_POINT & PFQHIT_XFORM
then transform the point through the matrix using pfXformPt3 to
get the point of intersection in the scene.
This worked for intersecting testing with the entire scene graph from
the top node you may have to do a little more if you select only a
transformed portion of the scene graph for an intersection test.

Rgds,
Angus.

On Mar 8, 12:07pm, Performer Mailing List wrote:
> Subject: Intersection questions
> I have a question concerning intersections using performer. We are using
> Performer in the development of a virtual reality system for design and
> evaluation. The system loads parts and assemblies from Pro/E and enables
> designers to evaluate and modify the designs for ergononmic considerations.
 We
> use human models linked to tracking devices,etc and HMD's. We have to do
> collision detection between the human model and the other models in the
> environment. I am aware of the use of segment sets for intersection and the
> use of masking and all of that. The problem I have is the fact that to use
the
> segments that are "attached to" dynamic objects is the fact that you need to
> update the position of all of the segments. I have tried using pfNode
bounding
> boxes set to DYNAMIC but they seem to only give the bounding volume in a
local
> coordinate system. We have a very detailed scene graph that is composed of a
> number of hierarchies of pfDCS's. I was wondering several things. First,
what
> is the common method of doing intersection testing? Secondly, am I totally
off
> with regards to the segment sets? And lastly, how can you get the global
> position of a small piece of the scene graph, ie a pfGeode, that is very low
in
> the hierarchy of pfDCS's? Thank you very much for any help.
>
> Scott Angster
>
>-- End of excerpt from Performer Mailing List

-- 
Angus Dorbie,
Silicon Graphics Ltd, UK
dorbie++at++reading.sgi.com

New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:52:32 PDT

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.