From $ROOTSYS/tutorials/eve/box.C

// @(#)root/eve:$Id$
// Author: Matevz Tadel

// Demonstrates usage of TEveBox class.


TEveBox* box(Float_t a=10, Float_t d=5, Float_t x=0, Float_t y=0, Float_t z=0)
{
   TEveManager::Create();

   TRandom& r = * gRandom;

   TEveBox* b = new TEveBox;
   b->SetMainColor(kCyan);
   b->SetMainTransparency(0);

#define RND_BOX(x) r.Uniform(-(x), (x))
   b->SetVertex(0, x - a + RND_BOX(d), y - a + RND_BOX(d), z - a + RND_BOX(d));
   b->SetVertex(1, x - a + RND_BOX(d), y + a + RND_BOX(d), z - a + RND_BOX(d));
   b->SetVertex(2, x + a + RND_BOX(d), y + a + RND_BOX(d), z - a + RND_BOX(d));
   b->SetVertex(3, x + a + RND_BOX(d), y - a + RND_BOX(d), z - a + RND_BOX(d));
   b->SetVertex(4, x - a + RND_BOX(d), y - a + RND_BOX(d), z + a + RND_BOX(d));
   b->SetVertex(5, x - a + RND_BOX(d), y + a + RND_BOX(d), z + a + RND_BOX(d));
   b->SetVertex(6, x + a + RND_BOX(d), y + a + RND_BOX(d), z + a + RND_BOX(d));
   b->SetVertex(7, x + a + RND_BOX(d), y - a + RND_BOX(d), z + a + RND_BOX(d));
#undef RND_BOX

   gEve->AddElement(b);
   gEve->Redraw3D(kTRUE);

   return b;
}
 box.C:1
 box.C:2
 box.C:3
 box.C:4
 box.C:5
 box.C:6
 box.C:7
 box.C:8
 box.C:9
 box.C:10
 box.C:11
 box.C:12
 box.C:13
 box.C:14
 box.C:15
 box.C:16
 box.C:17
 box.C:18
 box.C:19
 box.C:20
 box.C:21
 box.C:22
 box.C:23
 box.C:24
 box.C:25
 box.C:26
 box.C:27
 box.C:28
 box.C:29
 box.C:30
 box.C:31
 box.C:32
 box.C:33