
             Bottle_Labels.Pov
             
// Vers: 3.6
// Auth: Leroy Whetstone Email lrwii@joplin.com

This zip should have:
     
     Bottle_Labels.Pov // Label maker
     Leroy.bmp         // image for label
     TestMesh2.inc     // Mesh2 Lable
     Test_Label.pov    // Test made Mesh2 label
     Alternet.pov      // another way to use 'Bottle_Labels.Pov'
     ReadMe.txt        // here!
     
  Bottle_Labels.pov makes Lable(a mesh2) to be used by latter POV files.
 It uses the 'trace' function to get every point of the mesh2 Lable.
 The Mesh2 has normal_vectors and uv_vectors;
 The label is 'image_map'(with uv_mapping) texture mapped to the mesh2.    
 The Mesh2 has the 'inside vector' so you can use the 'interior_texture' 
 to texture the back side of the label.
  You have 9 variables to help place the label.They are:
  
  variable default  function
  HeightA   -.25   y's lower height
  HeightB    .25   y's upper height
  HeightCuts  4    points in y's direction

  AngleStart -30  Start angle -z=0 x=90 z=180 -x=270
  AngleEnd    30  End angle  -z=0 x=90 z=180 -x=270
  AngleCuts   20  points from AngleStart to AngleEnd

  LableAdj .001   adjust label away from object
  ImageRot 0;     z rotate Lable uv  to mesh mutipuls of 90
  LableObj cone{-y,.5,y,.6}  //default object to label

  While we take a closer look at the variables we'll see how
 'Bottle_Labels' works.    
 
   The HeightA and HeightB is the start and end of the height of
  the lable. If you go to high or low You'll get an ERROR!
  'Bottle_Labels' uses a double loop to trace all Mesh2 points.
   The first loop always starts from 'HeightA' to 'HeightB' in the y
  direction using 'HeightCuts' to calc each point. You can have
  'HeightA' greater than 'HeightB' it makes a difference through,
  the label will be up side down. 
   The Next loop always starts from 'AngleStart' to 'AngleEnd' it
  rotates around the Bottle 'AngleCuts' times. As with the first Loop
  'AngleStart' can be greater than 'AngleEnd', Here it'll flip the
  label left to right.
   Now the variable 'LableAdj', It was put in so you could adjust the
  Mesh2 away from the bottle by a very small amount. Some settings can
  let the bottle bleed over the label. If the bottle is not important
  to a scene you could use less "Cuts" and adjust it away from the bottle.
  If it is important then increase the "Cuts". Still you have to adjust
  it some to keep from getting coinciding surfaces!
   Now the last of the numercal variables 'ImageRot'. It was placed here
  because some of my TGA files made with other programs would be backward,
  upside down, or just plane weird, when use as a label. This will rotate
  the UV vectors only, so the image is in effect rotated on the label.
  
  Now the last of the variables:
    The most important here is 'Lable_File' string, this where you save 
   the Mesh2 at. If it is empty the there is no save. It'll save an 
   object called 'Label' that is your mesh2. It's ready for use in 
   another POV file.
    
   No! Wait! 'LabelTex' is the most important thing here! 
  This is your label. This can be any picture you want and POV can hanled.
  It can be any size. It will automaticly fit the label. It may be deform
  a little bit. But there is help in the debug stream. 'EH/EW' give you 
  the ratio of the labels height to width. If you change 'ImageH/ImageW'
  in the debug stament to your image values it give you the ratio of 
  the height to width of the image used. Change 'HeightA','HeightB'    
  'AngleStart',' AngleEnd' until 'EH/EW'and'ImageH/ImageW' match! 
  
 Ok! 'InteriorTex' What can I say, first, you really don't need it.
It's here because you may want it. 'Bottle_Labels' has the 'inside_vector'
always waiting for you. So why not use it. The 'inside_vector' is the
mid point between the first and last points of the Mesh2. 