Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

com.xerox.VTM.glyphs
Class VImage  view VImage download VImage.java

java.lang.Object
  extended bycom.xerox.VTM.glyphs.Glyph
      extended bycom.xerox.VTM.glyphs.VImage
All Implemented Interfaces:
java.lang.Cloneable, RectangularShape
Direct Known Subclasses:
VImageOr

public class VImage
extends Glyph
implements RectangularShape, java.lang.Cloneable

Image (rectangular) - cannot be reoriented


Field Summary
(package private)  float ar
          aspect ratio (width divided by height)
(package private)  java.awt.geom.AffineTransform at
           
static short DRAW_BORDER_ALWAYS
           
static short DRAW_BORDER_MOUSE_INSIDE
           
static short DRAW_BORDER_NEVER
           
(package private)  short drawBorder
          draw border policy 0=never draw border 1=draw border if cursor inside 2=always draw border
(package private)  java.awt.Image image
           
(package private)  ProjImage[] pc
           
(package private)  float scaleFactor
           
(package private)  float trueCoef
           
(package private)  long vh
          half width and height in virtual space
(package private)  long vw
          half width and height in virtual space
(package private)  boolean zoomSensitive
           
 
Fields inherited from class com.xerox.VTM.glyphs.Glyph
bColor, borderColor, cGlyph, coef, color, dashedContour, DEFAULT_STROKE_WIDTH, dependants, filled, font, fontSize, fontSizePolicy, HSV, HSVb, ID, mouseInsideColor, orient, owner, paintBorder, selected, selectedColor, sensit, size, stickedGlyphs, stickedTo, stroke, strokeWidth, text, textHeight, textPos, textWidth, type, visible, vsm, vx, vy, vz
 
Constructor Summary
VImage(java.awt.Image img)
           
VImage(long x, long y, float z, java.awt.Image img)
           
 
Method Summary
 void addCamera(int verifIndex)
          used internally to create new projected coordinates to use with the new camera
 java.lang.Object clone()
          returns a clone of this object (only basic information is cloned for now: shape, orientation, position, size)
(package private)  void computeSize()
          compute size (bounding circle radius)
 boolean coordInside(int x, int y, int camIndex)
          detects whether the given point is inside this glyph or not
 void draw(java.awt.Graphics2D g, int vW, int vH, int i, java.awt.Stroke stdS, java.awt.geom.AffineTransform stdT)
          draw glyph
 boolean fillsView(long w, long h, int camIndex)
          used to find out if glyph completely fills the view (in which case it is not necessary to repaint objects at a lower altitude)
 long getHeight()
          get half height
 java.awt.Image getImage()
          get the bitmap image to be displayed
 float getOrient()
          get orientation
 float getSize()
          get size (bounding circle radius)
 long getWidth()
          get half width
 void initCams(int nbCam)
          called when glyph is created in order to create the initial set of projected coordinates wrt the number of cameras in the space
 boolean isZoomSensitive()
          if false, text size is not sensitive to zoom
 int mouseInOut(int x, int y, int camIndex)
          returns 1 if mouse has entered the glyph, -1 if it has exited the glyph, 0 if nothing has changed (meaning it was already inside or outside it)
 void orientTo(float angle)
          set orientation (absolute) - has no effect
 void project(com.xerox.VTM.engine.Camera c, com.xerox.VTM.engine.ViewPanel v)
          project shape in camera coord sys prior to actual painting
 void removeCamera(int index)
          if a camera is removed from the virtual space, we should delete the corresponding projected coordinates, but do not modify the array it self because we do not want to change other cameras' index - just point to null
 void resetMouseIn(int i)
          reset prevMouseIn for projected coordinates nb i
 void reSize(float factor)
          multiply bounding circle radius by factor
 void setDrawBorderPolicy(short p)
           
 void setHeight(long h)
          set absolute half height (no effect: use setImage)
 void setImage(java.awt.Image i)
          set image to be displayed
 void setWidth(long w)
          set absolute half width - aspect ratio is automatically maintained (height modified accordingly)
 void setZoomSensitive(boolean b)
          if false, image size is not sensitive to zoom (but its size can be changed)
 void sizeTo(float radius)
          set absolute size by setting bounding circle radius
 
Methods inherited from class com.xerox.VTM.glyphs.Glyph
addDependant, addHSVbColor, addHSVColor, drawMe, getCGlyph, getColor, getColorb, getDependants, getFillStatus, getFont, getHSVbColor, getHSVColor, getID, getLocation, getOwner, getPaintBorderStatus, getStickedGlyphs, getStroke, getStrokeWidth, getText, getType, isSelected, isSensitive, isVisible, move, moveTo, propagateMove, removeDependant, select, setBorderColor, setCGlyph, setColor, setDashed, setFill, setFontSizePolicy, setHSVbColor, setHSVColor, setID, setMouseInsideColor, setOwner, setPaintBorder, setSelectedColor, setSensitivity, setSpecialFont, setStroke, setStrokeWidth, setText, setTextPos, setType, setVisible, setVSM, stick, toString, unstick, usesSpecialFont
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

DRAW_BORDER_NEVER

public static short DRAW_BORDER_NEVER

DRAW_BORDER_MOUSE_INSIDE

public static short DRAW_BORDER_MOUSE_INSIDE

DRAW_BORDER_ALWAYS

public static short DRAW_BORDER_ALWAYS

vw

long vw
half width and height in virtual space


vh

long vh
half width and height in virtual space


ar

float ar
aspect ratio (width divided by height)


at

java.awt.geom.AffineTransform at

drawBorder

short drawBorder
draw border policy 0=never draw border 1=draw border if cursor inside 2=always draw border


pc

ProjImage[] pc

image

java.awt.Image image

zoomSensitive

boolean zoomSensitive

scaleFactor

float scaleFactor

trueCoef

float trueCoef
Constructor Detail

VImage

public VImage(java.awt.Image img)

VImage

public VImage(long x,
              long y,
              float z,
              java.awt.Image img)
Method Detail

initCams

public void initCams(int nbCam)
called when glyph is created in order to create the initial set of projected coordinates wrt the number of cameras in the space

Specified by:
initCams in class Glyph

addCamera

public void addCamera(int verifIndex)
used internally to create new projected coordinates to use with the new camera

Specified by:
addCamera in class Glyph

removeCamera

public void removeCamera(int index)
if a camera is removed from the virtual space, we should delete the corresponding projected coordinates, but do not modify the array it self because we do not want to change other cameras' index - just point to null

Specified by:
removeCamera in class Glyph

resetMouseIn

public void resetMouseIn(int i)
reset prevMouseIn for projected coordinates nb i

Specified by:
resetMouseIn in class Glyph

getOrient

public float getOrient()
get orientation

Specified by:
getOrient in class Glyph

orientTo

public void orientTo(float angle)
set orientation (absolute) - has no effect

Specified by:
orientTo in class Glyph

getSize

public float getSize()
get size (bounding circle radius)

Specified by:
getSize in class Glyph

computeSize

void computeSize()
compute size (bounding circle radius)


setWidth

public void setWidth(long w)
set absolute half width - aspect ratio is automatically maintained (height modified accordingly)

Specified by:
setWidth in interface RectangularShape

setHeight

public void setHeight(long h)
set absolute half height (no effect: use setImage)

Specified by:
setHeight in interface RectangularShape

getWidth

public long getWidth()
get half width

Specified by:
getWidth in interface RectangularShape

getHeight

public long getHeight()
get half height

Specified by:
getHeight in interface RectangularShape

sizeTo

public void sizeTo(float radius)
set absolute size by setting bounding circle radius

Specified by:
sizeTo in class Glyph

reSize

public void reSize(float factor)
multiply bounding circle radius by factor

Specified by:
reSize in class Glyph

setImage

public void setImage(java.awt.Image i)
set image to be displayed


getImage

public java.awt.Image getImage()
get the bitmap image to be displayed


setZoomSensitive

public void setZoomSensitive(boolean b)
if false, image size is not sensitive to zoom (but its size can be changed)


isZoomSensitive

public boolean isZoomSensitive()
if false, text size is not sensitive to zoom


setDrawBorderPolicy

public void setDrawBorderPolicy(short p)

fillsView

public boolean fillsView(long w,
                         long h,
                         int camIndex)
used to find out if glyph completely fills the view (in which case it is not necessary to repaint objects at a lower altitude)

Specified by:
fillsView in class Glyph

coordInside

public boolean coordInside(int x,
                           int y,
                           int camIndex)
detects whether the given point is inside this glyph or not

Specified by:
coordInside in class Glyph

mouseInOut

public int mouseInOut(int x,
                      int y,
                      int camIndex)
returns 1 if mouse has entered the glyph, -1 if it has exited the glyph, 0 if nothing has changed (meaning it was already inside or outside it)

Specified by:
mouseInOut in class Glyph

project

public void project(com.xerox.VTM.engine.Camera c,
                    com.xerox.VTM.engine.ViewPanel v)
project shape in camera coord sys prior to actual painting

Specified by:
project in class Glyph

draw

public void draw(java.awt.Graphics2D g,
                 int vW,
                 int vH,
                 int i,
                 java.awt.Stroke stdS,
                 java.awt.geom.AffineTransform stdT)
draw glyph

Specified by:
draw in class Glyph

clone

public java.lang.Object clone()
returns a clone of this object (only basic information is cloned for now: shape, orientation, position, size)

Specified by:
clone in class Glyph