> I am new to root, and have been trying to use the 3-d drawing classes.
> Does anybody have a simple example of ray-tracing through a target?
> Is there a tutorial or set of examples anywhere? The Root User's Guide
> has none, and the examples in $ROOTSYS/tutorials are not very complete.
>
Hi Tom.
> I have several puzzles:
> 1) I don't understand what coordinates are being used. For instance,
> when I change the {dx,dy,dz} in a TBRIK constructor the picture
> does not change. It looks like there is some sort of automatic
> scaling going on (this TBRIK is the only object). I guess I'll
> just draw an invisible TBRIK object enclosing the entire system.
Just an advice, if you draw a 3D object onto TCanvas then you can
select that object with "irght mouse button" and call "ShowAxis" method.
ROOT selects automatically the different scales to fill the entire TCanvas area.
> 2) The TBRIK object does not seem to fill itself. I tried many
> variations on SetFillColor() and SetFillStyle(). None worked.
Uaaa, the attribiutes are coming from TNode object. try to manage that.
> 3) I cannot figure out how to get TPolyLine3D to display its line.
> This could be related to (1) and the coordinates are simply off
> the screen. Using a thin and narrow TBRIK for each ray is difficult,
> as I need to figure out how to rotate them....
Try "basic3d.C macro from $ROOTSYS/tutorials
> 4) the TNode-s seem to automatically link themselves together in
> a list. The use of TNode::cd() is rather puzzling. Anybody know
> what is going on?
Try TVolume instead of TNode
> 5) TGeometry seems to be related to this, but shapes.C does not use
> one, and the nodes (or shapes ?) seem to be linked into the canvas?
>
> Below is my test script, based upon tutorials/shapes.C. The TBRIK
> object displays its lines, and I can rotate it using the mouse,
> but it is not filled.
>
> Any help or pointers would be appreciated.
>
>
> Tom Roberts tjrob@fnal.gov
>
>
> {
> c1 = new TCanvas("c1","Test Ray-Tracing",800,600);
> c1->SetFillColor(10);
>
> TBRIK *tgt = new TBRIK("Target","Target","void",150,150,150);
> tgt->SetLineColor(1);
> tgt->SetFillColor(2);
> tgt->SetFillStyle(1001);
>
> // Build the geometry hierarchy
> node1 = new TNode("NODE1","NODE1",tgt);
> node1->cd();
>
> // Draw this geometry in the current canvas
> node1->cd();
> node1->Draw();
> c1->Update();
> }
>
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:47 MET