Back to index

wims  3.65+svn20090927
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Attributes | Static Protected Attributes | Package Attributes | Static Package Attributes
rene.zirkel.objects.CircleObject Class Reference
Inheritance diagram for rene.zirkel.objects.CircleObject:
Inheritance graph
[legend]
Collaboration diagram for rene.zirkel.objects.CircleObject:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 CircleObject (Construction c, PointObject p1, PointObject p2)
String getTag ()
void updateText ()
void validate ()
void printArgs (XmlWriter xml)
boolean canFix ()
boolean fixed ()
void setFixed (boolean flag, String s) throws ConstructionException
boolean nearto (int c, int r, ZirkelCanvas zc)
 Test, if this object is chosen with coordinates x,y.
void edit (ZirkelCanvas zc)
boolean isValidFix ()
void updateCircleDep ()
void translate ()
 Override in children! This translates the mother items.
String getStringLength ()
double getValue () throws ConstructionException
 Get the value of an object or throw an exception (e.g.
Enumeration depending ()
 A circle depends on its midpoint at least.
PointObject getP2 ()
boolean contains (PointObject p)
void dragTo (double x, double y)
void move (double x, double y)
boolean moveable ()
void startDrag (double x, double y)
void snap (ZirkelCanvas zc)
int getN ()
void paint (MyGraphics g, ZirkelCanvas zc)
String getDisplayValue ()
 To be overridden by the objects.
String getEquation ()
boolean nearto (int c, int r, boolean ignorefill, ZirkelCanvas zc)
 Test, if this object is chosen with coordinates x,y.
boolean onlynearto (int c, int r, ZirkelCanvas zc)
 Test, if this object must be chosen with coordinates x,y, assuming it is near to these coordinates.
double getX ()
double getY ()
double getR ()
boolean equals (ConstructionObject o)
boolean equals (double x, double y)
void setPartial (boolean flag)
void addDep (PointObject p)
 Add a point that depends on the circle.
void clearCircleDep ()
boolean isPartial ()
ConstructionObject copy ()
 Need to setup the Dep array.
void setDefaults ()
Enumeration secondaryParams ()
 A circle will mark the midpoint as secondary parameter.
void toggleHidden ()
PointObject getP1 ()
void setFilled (boolean flag)
boolean isFilled ()
boolean isFilledForSelect ()
boolean setRange (String s1, String s2)
PointObject getStart ()
PointObject getEnd ()
String getStartString ()
String getEndString ()
double getA1 ()
double getA2 ()
boolean hasRange ()
void clearRange ()
boolean maybeTransparent ()
boolean locallyLike (ConstructionObject o)
boolean getArc ()
void setArc (boolean flag)
void computeA1A2 ()
boolean contains (double x, double y)
 Test, if the projection of (x,y) to the arc contains that point.
void project (PointObject P)
void project (PointObject P, double alpha)
double containsInside (PointObject P)
 Returns 0.5, if the point is on the boundary, and 1, if it is inside.
boolean keepInside (PointObject P)
boolean canInteresectWith (ConstructionObject o)
boolean isGotNCount ()
void setGotNCount (boolean gotNCount)
void setName ()
 Sets a unique name for the object.
void setName (String n)
ConstructionObject getTranslation ()
 This is used to define macros and run them.
void setTranslation (ConstructionObject t)
boolean textcontains (int x, int y, ZirkelCanvas zc)
void setSelected (boolean flag)
void setStrongSelected (boolean flag)
boolean isStrongSelected ()
boolean selected ()
void setLabelSelected (boolean flag)
boolean isSelectable ()
boolean valid ()
boolean displays (ZirkelCanvas zc)
boolean indicated ()
void setIndicated (boolean f)
void setIndicated (boolean f, boolean showname)
double changedBy ()
void setText (String s, boolean user)
void setText (String s)
String getText ()
boolean labelSelected ()
void setColor (int index)
 Set the object color by index.
int getColorIndex (boolean original)
 Get the current color index.
int getColorIndex ()
Color getColor ()
boolean mustHide (ZirkelCanvas zc)
void setHidden (boolean flag)
void setSuperHidden (boolean flag)
boolean isHidden (boolean original)
boolean isHidden ()
boolean isSuperHidden (boolean original)
boolean isSuperHidden ()
String getName ()
void setNameCheck (String n) throws ConstructionException
void setNameWithNumber (String n)
void drawLabel (MyGraphics g, String s)
 Service routine to draw a string from upper left coordinates.
void drawLabel (MyGraphics g, String s, ZirkelCanvas zc, double x, double y, double vx, double vy, double xo, double yo)
 Service routine to draw a string at x,y but offset into direction -vy,vx so that it does not intersect the direction vx,vy.
void setFont (MyGraphics g)
void drawCenteredLabel (MyGraphics g, String s, ZirkelCanvas zc, double x, double y, double xo, double yo)
 Service routine to draw a string centered at x,y.
void drawPointLabel (MyGraphics g, String s, ZirkelCanvas zc, double x, double y, double vx, double vy, double xo, double yo)
 Service routine to draw a string at x,y but offset into direction -vy,vx so that it does not intersect the direction vx,vy.
void save (XmlWriter xml)
 Save the object in XML form.
void setConstruction (Construction c)
boolean showName (boolean original)
boolean showName ()
void setShowName (boolean f)
boolean showValue (boolean original)
boolean showValue ()
void setShowValue (boolean f)
String getDisplayText ()
 Determine the string to be displayed onscreen.
String replaceExpressions (String s)
 Replace the expression in %...% by their values.
void addDepInExpressions (String s)
 Add the dependencies in expressions in %...% in the string.
String translateExpressions (String s)
 Replace the expression in %...% by their translated epressions.
String getSizeDisplay ()
double round (double x)
 Service function to round a value.
double round (double x, double Rounder)
void round ()
double roundDisplay (double x)
void setcOffset (double x, double y)
double xcOffset ()
double ycOffset ()
void setOffset (int x, int y)
boolean isKeepClose ()
void setKeepClose (double x, double y)
void setKeepClose (boolean flag)
boolean canKeepClose ()
void translateOffset (ZirkelCanvas zc)
int getColorType (boolean original)
int getColorType ()
void setColorType (int type)
boolean isParameter ()
boolean isMainParameter ()
void clearParameter ()
void setMainParameter ()
void setParameter ()
boolean dependsOn (ConstructionObject o)
 Test, if the object directly depends on another object.
ConstructionObject[] getDepArray ()
Enumeration depset (ConstructionObject o1)
Enumeration depset (ConstructionObject o1, ConstructionObject o2)
Enumeration depset (ConstructionObject o1, ConstructionObject o2, ConstructionObject o3)
void setFlag (boolean flag)
boolean isFlag ()
void setRekFlag (boolean flag)
boolean isRekFlag ()
void setTarget (boolean flag)
boolean isTarget ()
void setKeep (boolean flag)
boolean isKeep ()
void setJobTarget (boolean flag)
boolean isJobTarget ()
Construction getConstruction ()
void setTargetDefaults ()
void setFixed (String o)
boolean isBack (boolean original)
boolean isBack ()
void setBack (boolean flag)
void setInConstruction (boolean flag)
boolean isInConstruction ()
void laterBind (Construction c)
 This is called after the loading of a construction has been finished.
void laterTranslate (Construction c)
 This is called after macro definition or execution is complete.
boolean getObtuse ()
void setObtuse (boolean flag)
String getDescription ()
boolean isFixed ()
boolean isBreak ()
void setBreak (boolean flag)
boolean isHideBreak ()
void setHideBreak (boolean flag)
boolean isSolid (boolean original)
boolean isSolid ()
void setSolid (boolean solid)
int compare (SortObject o)
void setSelectable (boolean flag)
String getUnit ()
void setUnit (String s)
boolean hasUnit ()
boolean isBreakHide ()
void setBreakHide (boolean flag)
String helpDisplayValue (boolean start, double x, String tag)
String helpDisplayNumber (boolean start, double x)
boolean visible (ZirkelCanvas zc)
boolean isBold ()
void setBold (boolean bold)
boolean isLarge ()
void setLarge (boolean large)
void addConditional (String tag, Expression expr)
Expression getConditional (String tag)
boolean haveConditional (String tag)
boolean testConditional (String tag)
 Test if the conditional "tag" evaluates to true.
void clearConditionals ()
void translateConditionals ()
boolean haveConditionals ()
void checkConditionals () throws ConstructionException
double getZ () throws ConstructionException
 Get the z-buffer for this object.
boolean canDisplayName ()
int getNCount ()
void setNCount (int count)
String getAlias ()
void setAlias (String s)
String getElementString (int state)
 Get a display string for the Lister class.
String getElementString ()
Color getElementColor ()
 Get a color for the element in the display color.
boolean isSpecialParameter ()
void setSpecialParameter (boolean flag)
MyVector getVector ()
 Get an empty MyVector.
void discardMV ()
 MyVector no longer needed.

Static Public Member Functions

static Coordinates intersect (PrimitiveCircleObject c1, PrimitiveCircleObject c2)
static String text1 (String format, String s1)
 Routines to parse descriptive text in various languages.
static String text2 (String format, String s1, String s2)
static String text3 (String format, String s1, String s2, String s3)
static String text4 (String format, String s1, String s2, String s3, String s4)
static String textAny (String format, String ss[])
static PointObject getPointObject (Expression E)
 Service function to extract a point from an expression.

Public Attributes

boolean Flag
int Scratch
double Value = 1000
MyVector VRek
 A general workplace for rekursive validation.
boolean RekValidating = false
boolean SpecialParameter = false

Static Public Attributes

static final int NORMAL = 0
static DepList DL = new DepList()
static final int DescriptionState = 0

Protected Attributes

PointObject P2
double X
int ColorType = 0
 object color and static default color
Color C = Color.black
int ColorIndex = 0
boolean Selected = false
boolean StrongSelected = false
boolean Indicated = false
boolean ShowIndicatedName = false
boolean LabelSelected = false
boolean Valid = true
boolean Hidden = false
boolean SuperHidden = false
boolean BreakHide = false
boolean ShowName = false
boolean ShowValue = false
boolean Selectable = true
String Name = "Generic"
String Text = "???"
double XcOffset = 0.0
boolean KeepClose
boolean DisplaysText = false
double TX1
Construction Cn
boolean MainParameter
boolean Target
boolean Keep = false
boolean JobTarget = false
ConstructionObject Translation
boolean Back = false
boolean Obtuse = true
boolean Break = false
boolean HideBreak = false
boolean Solid = false
boolean inConstruction
String Unit = ""
boolean Bold = false
boolean Large = false
Vector Conditionals
int NCount = 0
boolean gotNCount = false

Static Protected Attributes

static int Count = 1

Package Attributes

boolean Fixed = false
Expression E
boolean ExpressionFailed
boolean Ellipse = false
double x1
double y1
double x2
double y2
double x3
double y3
double Y
double R
boolean Partial = false
PointObject Dep []
int NDep
PointObject M
boolean Filled = false
Expression Start = null
Expression End = null
double A1
double A2
double A
boolean Arc = true
int YOffset = 0
double YcOffset = 0.0
double TY1
double TX2
double TY2
boolean Parameter
boolean RekFlag
boolean IsDrawn
boolean HasZ
int OldColorIndex
ExpressionString AliasES = null
MyVector MV
boolean MVInUse = false

Static Package Attributes

static Count N = new Count()
static final int THICK = 1
static final int THIN = 2
static final int INVISIBLE = 3
static final int FormulaState = 1
static final int SizeState = 2

Detailed Description

Definition at line 17 of file CircleObject.java.


Constructor & Destructor Documentation

Definition at line 25 of file CircleObject.java.

       {      super(c,p1);
              P2=p2;
              validate();
              updateText();
       }

Here is the call graph for this function:


Member Function Documentation

void rene.zirkel.objects.ConstructionObject.addConditional ( String  tag,
Expression  expr 
) [inline, inherited]

Definition at line 1211 of file ConstructionObject.java.

       {      Conditional c=new Conditional(tag,expr);
              if (Conditionals==null) Conditionals=new Vector();
              Conditionals.addElement(c);
       }

Here is the caller graph for this function:

Add a point that depends on the circle.

Dep is used for partial display.

Parameters:
p

Definition at line 257 of file PrimitiveCircleObject.java.

       {      if (!Partial || hasRange() || 
                     Dep==null || NDep>=Dep.length) return;
              Dep[NDep++]=p;
       } 

Here is the call graph for this function:

Here is the caller graph for this function:

void rene.zirkel.objects.ConstructionObject.addDepInExpressions ( String  s) [inline, inherited]

Add the dependencies in expressions in %...% in the string.

Parameters:
s
zcmay be null (no direct search of object)
Returns:

Definition at line 698 of file ConstructionObject.java.

Here is the call graph for this function:

Reimplemented from rene.zirkel.objects.ConstructionObject.

Definition at line 83 of file CircleObject.java.

       {      return /* M.moveableBy(this) || */ P2.moveableBy(this);
       }

Here is the call graph for this function:

Implements rene.zirkel.objects.PointonObject.

Definition at line 524 of file PrimitiveCircleObject.java.

       {
              return true;
       }
double rene.zirkel.objects.ConstructionObject.changedBy ( ) [inline, inherited]
Returns:
The change of the last validation for points bound to lines, which are defined later.

Reimplemented in rene.zirkel.objects.PointObject.

Definition at line 213 of file ConstructionObject.java.

       {      return 0.0;
       }

Definition at line 1273 of file ConstructionObject.java.

       {      if (Conditionals==null) return;
              Enumeration e=Conditionals.elements();
              while (e.hasMoreElements())
              {      Conditional c=(Conditional)e.nextElement();
                     if (!c.getExpression().isValid())
                            throw new ConstructionException(c.getExpression().getErrorText());
                     c.getExpression().getValue();
              }             
       }

Here is the call graph for this function:

Reimplemented from rene.zirkel.objects.ConstructionObject.

Definition at line 263 of file PrimitiveCircleObject.java.

       {      NDep=0;
       }

Definition at line 1247 of file ConstructionObject.java.

       {      Conditionals=null;
       }

Here is the caller graph for this function:

Definition at line 839 of file ConstructionObject.java.

       {      Parameter=false; MainParameter=false;
       }

Definition at line 393 of file PrimitiveCircleObject.java.

       {      Start=End=null;
       }
int rene.zirkel.objects.ConstructionObject.compare ( SortObject  o) [inline, inherited]

Definition at line 1132 of file ConstructionObject.java.

       {      ConstructionObject ob=(ConstructionObject)o;
              if (ob.Value<Value) return 1;
              else if (ob.Value==Value) return 0;
              else return -1;
       }

Here is the call graph for this function:

Definition at line 415 of file PrimitiveCircleObject.java.

       {      A1=Math.atan2(getStart().getY()-Y,getStart().getX()-X);
              if (A1<0) A1+=2*Math.PI;
              A2=Math.atan2(getEnd().getY()-Y,getEnd().getX()-X);
              if (A2<0) A2+=2*Math.PI;
              if (A2<A1) A2+=2*Math.PI;
              A=A2-A1;
              if (!Obtuse && A>Math.PI+1e-10)
              {      A1=A2;
                     if (A1>=2*Math.PI) A1-=2*Math.PI;
                     A=2*Math.PI-A;
                     A2=A1+A;
              }
              if (Partial)
              {      A1-=10/180.0*Math.PI; A+=20/180.0*Math.PI;
              }
       }

Here is the call graph for this function:

Here is the caller graph for this function:

Reimplemented from rene.zirkel.objects.ConstructionObject.

Definition at line 165 of file CircleObject.java.

       {      return p==P2;
       }
boolean rene.zirkel.objects.PrimitiveCircleObject.contains ( double  x,
double  y 
) [inline, inherited]

Test, if the projection of (x,y) to the arc contains that point.

Definition at line 437 of file PrimitiveCircleObject.java.

       {      if (!hasRange()) return true;
              computeA1A2();
              double a=Math.atan2(y-Y,x-X);
              if (a<0) a+=2*Math.PI;
              double d=a-A1;
              if (d<0) d+=2*Math.PI;
              return d<A+0.0001;
       }

Here is the call graph for this function:

Returns 0.5, if the point is on the boundary, and 1, if it is inside.

Implements rene.zirkel.objects.InsideObject.

Definition at line 506 of file PrimitiveCircleObject.java.

       {      double dx=P.getX()-X,dy=P.getY()-Y;
              double r=Math.sqrt(dx*dx+dy*dy);
              if (r<R*(1-1e-10)) return 1;
              if (r<R*(1+1e-10)) return 0.5;
              return 0;
       }

Here is the call graph for this function:

Need to setup the Dep array.

Reimplemented from rene.zirkel.objects.ConstructionObject.

Definition at line 285 of file PrimitiveCircleObject.java.

       {      PrimitiveCircleObject o=
                     (PrimitiveCircleObject)super.copy();
              if (o.Partial)
              {      o.Dep=new PointObject[16];
                     o.NDep=0;
              }
              else o.Dep=null;
              return o;
       }

Here is the call graph for this function:

Here is the caller graph for this function:

A circle depends on its midpoint at least.

Other circles depen on more points! No circle depends on Start and End.

Reimplemented from rene.zirkel.objects.PrimitiveCircleObject.

Definition at line 148 of file CircleObject.java.

       {      super.depending();
              if (!Fixed || E==null) return depset(P2);
              else
              {      depset(P2);
                     Enumeration e=E.getDepList().elements();
                     while (e.hasMoreElements())
                     {      DL.add((ConstructionObject)e.nextElement());
                     }
                     return DL.elements();
              }
       }

Here is the call graph for this function:

Test, if the object directly depends on another object.

Definition at line 879 of file ConstructionObject.java.

       {      Enumeration e=depending();
              while (e.hasMoreElements())
              {      ConstructionObject o1=(ConstructionObject)e.nextElement();
                     if (o1==o) return true;
              }
              return false;
       }

Here is the call graph for this function:

Here is the caller graph for this function:

Enumeration rene.zirkel.objects.ConstructionObject.depset ( ConstructionObject  o1) [inline, inherited]

Definition at line 902 of file ConstructionObject.java.

       {      DL.add(o1);
              return DL.elements();
       }

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 907 of file ConstructionObject.java.

       {      DL.add(o1);
              DL.add(o2);
              return DL.elements();
       }

Here is the call graph for this function:

Definition at line 913 of file ConstructionObject.java.

       {      DL.add(o1);
              DL.add(o2);
              DL.add(o3);
              return DL.elements();
       }

Here is the call graph for this function:

MyVector no longer needed.

Definition at line 1398 of file ConstructionObject.java.

       {      MVInUse=false;
              MV.removeAllElements();
       }

Here is the call graph for this function:

Definition at line 194 of file ConstructionObject.java.

       {      if (SuperHidden) return false;
              if (!zc.showHidden() && (testConditional("hidden") || testConditional("superhidden"))) 
                     return false;
              return Valid && !BreakHide && (!Hidden || zc.showHidden());
       }

Here is the call graph for this function:

Here is the caller graph for this function:

void rene.zirkel.objects.CircleObject.dragTo ( double  x,
double  y 
) [inline]

Implements rene.zirkel.objects.MoveableObject.

Definition at line 169 of file CircleObject.java.

       {      M.move(x1+(x-x3),y1+(y-y3));
              P2.move(x2+(x-x3),y2+(y-y3));
       }

Here is the call graph for this function:

void rene.zirkel.objects.ConstructionObject.drawCenteredLabel ( MyGraphics  g,
String  s,
ZirkelCanvas  zc,
double  x,
double  y,
double  xo,
double  yo 
) [inline, inherited]

Service routine to draw a string centered at x,y.

Definition at line 447 of file ConstructionObject.java.

       {      int ws=g.stringWidth(s),hs=g.stringHeight(s);
              TX1=zc.col(x+xo)-ws/2; 
              TY1=zc.row(y+yo)-hs/2;
              g.drawStringExtended(s,TX1,TY1);
              TX2=TX1+ws;
              TY2=TY1+hs;
       }

Here is the call graph for this function:

Here is the caller graph for this function:

void rene.zirkel.objects.ConstructionObject.drawLabel ( MyGraphics  g,
String  s 
) [inline, inherited]

Service routine to draw a string from upper left coordinates.

Position is at TX1, TX2.

Definition at line 434 of file ConstructionObject.java.

       {      g.drawStringExtended(s,TX1,TY1);
              TX2=TX1+g.stringWidth(s);
              TY2=TY1+g.stringHeight(s);
       }

Here is the call graph for this function:

Here is the caller graph for this function:

void rene.zirkel.objects.ConstructionObject.drawLabel ( MyGraphics  g,
String  s,
ZirkelCanvas  zc,
double  x,
double  y,
double  vx,
double  vy,
double  xo,
double  yo 
) [inline, inherited]

Service routine to draw a string at x,y but offset into direction -vy,vx so that it does not intersect the direction vx,vy.

r=(vx,vy) is assumed to be normalized.

Definition at line 462 of file ConstructionObject.java.

       {      int ws=g.stringWidth(s),hs=g.stringHeight(s);
              double w=zc.dx(ws),h=zc.dy(hs);
              double d1=Math.abs(-w*vy+h*vx);
              double d2=Math.abs(w*vy+h*vx);
              double d=d1;
              if (d2>d) d=d2;
              double dd=zc.dy(2*zc.pointSize());
              TX1=zc.col(x-vy*(d+3*dd)/2+xo)-ws/2; 
              TY1=zc.row(y+vx*(d+3*dd)/2+yo)-hs/2;
              g.drawStringExtended(s,TX1,TY1);
              TX2=TX1+ws; TY2=TY1+hs;
       }

Here is the call graph for this function:

void rene.zirkel.objects.ConstructionObject.drawPointLabel ( MyGraphics  g,
String  s,
ZirkelCanvas  zc,
double  x,
double  y,
double  vx,
double  vy,
double  xo,
double  yo 
) [inline, inherited]

Service routine to draw a string at x,y but offset into direction -vy,vx so that it does not intersect the direction vx,vy.

r=(vx,vy) is assumed to be normalized.

Definition at line 482 of file ConstructionObject.java.

       {      int ws=g.stringWidth(s),hs=g.stringHeight(s);
              double w=zc.dx(ws),h=zc.dy(hs);
              double d1=Math.abs(-w*vy+h*vx);
              double d2=Math.abs(w*vy+h*vx);
              double d=d1;
              if (d2>d) d=d2;
              double dd=zc.dy(2*zc.pointSize());
              if (Math.abs(d*vx)>h+2*dd)
              {      d=Math.abs((h+2*dd)/vx);
              }
              double xp=x-vy*d/2,yp=y+vx*d/2;
              TX1=zc.col(xp-vy*dd*1.5+xo)-ws/2; 
              TY1=zc.row(yp+vx*dd*1.5+yo)-hs/2;
              g.drawStringExtended(s,TX1,TY1);
              TX2=TX1+ws; TY2=TY1+hs;
       }

Here is the call graph for this function:

Here is the caller graph for this function:

Reimplemented from rene.zirkel.objects.PrimitiveCircleObject.

Definition at line 108 of file CircleObject.java.

       {      super.edit(zc);
              if (E!=null && !E.isValid())
              {      Frame F=zc.getFrame();
                     Warning w=new Warning(F,E.getErrorText(),
                            Zirkel.name("warning"),true);
                     w.center(F);
                     w.setVisible(true);
              }
       }

Here is the call graph for this function:

Reimplemented from rene.zirkel.objects.ConstructionObject.

Definition at line 235 of file PrimitiveCircleObject.java.

       {      if (!(o instanceof PrimitiveCircleObject) || !o.valid())
                     return false;
              PrimitiveCircleObject l=(PrimitiveCircleObject)o;
              return equals(X,l.X) && equals(Y,l.Y) && equals(R,l.R);
       }

Here is the call graph for this function:

Here is the caller graph for this function:

boolean rene.zirkel.objects.ConstructionObject.equals ( double  x,
double  y 
) [inline, inherited]

Definition at line 936 of file ConstructionObject.java.

       {      return Math.abs(x-y)<1e-8;
       }

Definition at line 87 of file CircleObject.java.

{ return Fixed; }
double rene.zirkel.objects.PrimitiveCircleObject.getA1 ( ) [inline, inherited]

Definition at line 386 of file PrimitiveCircleObject.java.

{ return A1; }

Here is the caller graph for this function:

double rene.zirkel.objects.PrimitiveCircleObject.getA2 ( ) [inline, inherited]

Definition at line 387 of file PrimitiveCircleObject.java.

{ return A2; }

Here is the caller graph for this function:

String rene.zirkel.objects.ConstructionObject.getAlias ( ) [inline, inherited]

Definition at line 1312 of file ConstructionObject.java.

       {      if (AliasES==null) return null;
              else return AliasES.toString();
       }

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 408 of file PrimitiveCircleObject.java.

       {      return Arc;
       }
Color rene.zirkel.objects.ConstructionObject.getColor ( ) [inline, inherited]

Definition at line 328 of file ConstructionObject.java.

       {      if (isJobTarget()) return ZirkelFrame.TargetColor;
              else if (selected()) return ZirkelFrame.SelectColor;
              else if (getColorType()==ConstructionObject.THIN)
              {      int i=getColorIndex();
                     if (isHidden()) return ZirkelFrame.BrighterLightColors[i];
                     else return ZirkelFrame.LightColors[i];                 
              }             
              else
              {      int i=getColorIndex();
                     if (isHidden()) return ZirkelFrame.BrighterColors[i];
                     else return ZirkelFrame.Colors[i];               
              }
       }

Here is the call graph for this function:

Here is the caller graph for this function:

int rene.zirkel.objects.ConstructionObject.getColorIndex ( boolean  original) [inline, inherited]

Get the current color index.

If there is a conditional for the color, test it and use it.

Definition at line 315 of file ConstructionObject.java.

       {      if (!original && haveConditionals())
              {      for (int i=0; i<ZirkelFrame.ColorStrings.length; i++)
                     {      if (testConditional(ZirkelFrame.ColorStrings[i]))
                                   return i;
                     }
              }
              return ColorIndex; 
       }

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 324 of file ConstructionObject.java.

       {      return getColorIndex(false);
       }

Here is the call graph for this function:

Here is the caller graph for this function:

int rene.zirkel.objects.ConstructionObject.getColorType ( boolean  original) [inline, inherited]

Definition at line 822 of file ConstructionObject.java.

       {      if (!original && testConditional("thin")) return THIN;
              if (!original && testConditional("thick")) return THICK;
              if (!original && testConditional("normal")) return NORMAL;
              return ColorType; 
       }

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 828 of file ConstructionObject.java.

       {      return getColorType(false);
       }

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 1217 of file ConstructionObject.java.

       {      if (Conditionals==null) return null;
              Enumeration e=Conditionals.elements();
              while (e.hasMoreElements())
              {      Conditional c=(Conditional)e.nextElement();
                     if (c.getTag().equals(tag))
                            return c.getExpression();
              }
              return null;
       }

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 981 of file ConstructionObject.java.

       {      return Cn;
       }      

Here is the caller graph for this function:

Definition at line 897 of file ConstructionObject.java.

       {      depending();
              return DL.getArray();
       }

Here is the call graph for this function:

Definition at line 1080 of file ConstructionObject.java.

       {      return "";
       }

Determine the string to be displayed onscreen.

Returns:
"", if there should be no display.

Definition at line 584 of file ConstructionObject.java.

       {      String name=Name;
              if (AliasES!=null)
              {      name=AliasES.evaluate();
              }
              else if (name.indexOf("~")>0)
              {      name=name.substring(0,name.indexOf("~"));
              }
              if (showName())
              {      if (showValue())
                     {      String value=getDisplayValue();
                            if (value.equals("")) return name;
                            if (name.endsWith("$")) name=name.substring(0,name.length()-1);
                            if (name.endsWith("_") && name.length()>1)
                            {      name=name.substring(0,name.length()-1);
                            }
                            else
                            {      name=name+" = ";
                            }
                            if (Unit.equals(""))
                                   return name+getDisplayValue();
                            else
                                   return name+getDisplayValue()+Unit;
                     }
                     else
                     {      if (name.indexOf("~")>0 && AliasES==null)
                            {      name=name.substring(0,name.indexOf("~"));
                            }
                            return name;
                     }
              }
              else if (showValue())
              {      if (Unit.equals(""))
                            return getDisplayValue();
                     else
                            return getDisplayValue()+Unit;
              }
              return "";
       }

Here is the call graph for this function:

Here is the caller graph for this function:

To be overridden by the objects.

Returns:
The string to display the value (length, coordinates) of the object.

Reimplemented from rene.zirkel.objects.ConstructionObject.

Definition at line 125 of file PrimitiveCircleObject.java.

       {      return ""+round(R,ZirkelCanvas.LengthsFactor);
       }

Here is the call graph for this function:

Get a color for the element in the display color.

Definition at line 1356 of file ConstructionObject.java.

       {      if (isJobTarget()) return ZirkelFrame.TargetColor;
              else if (indicated()) return ZirkelFrame.IndicateColor;
              else if (selected()) return ZirkelFrame.SelectColor;
              return getColor();
       }

Here is the call graph for this function:

String rene.zirkel.objects.ConstructionObject.getElementString ( int  state) [inline, inherited]

Get a display string for the Lister class.

Definition at line 1335 of file ConstructionObject.java.

       {      String s="";
              switch (state)
              {      case DescriptionState : s=getName()+" : "+FileName.chop(getText(),80); break;
                     case SizeState : s=getName()+" : "+FileName.chop(getSizeDisplay(),80); break;
                     case FormulaState : s=getName()+" : "+FileName.chop(getEquation(),80); break;
              }
              if (isSuperHidden()) s="( "+s+" )";
              if (isHideBreak()) s="** "+s;
              else if (isBreak()) s="* "+s;
              if (!valid()) s="? "+s;
              if (this instanceof MoveableObject && ((MoveableObject)this).moveable()) s="> "+s;
              return s;
       }

Here is the call graph for this function:

Definition at line 1349 of file ConstructionObject.java.

       {      return getElementString(0);
       }

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 369 of file PrimitiveCircleObject.java.

       {      return getPointObject(End);
       }

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 379 of file PrimitiveCircleObject.java.

       {      String s="";
              if (End!=null) s=End.toString();
              if (s.startsWith("@")) s=s.substring(1);
              return s;
       }

Here is the call graph for this function:

Reimplemented from rene.zirkel.objects.ConstructionObject.

Definition at line 129 of file PrimitiveCircleObject.java.

       {      return "(x"+helpDisplayNumber(false,-X)+")^2+"
              +"(y"+helpDisplayNumber(false,-Y)+")^2="
              +helpDisplayNumber(true,R*R);
       }

Here is the call graph for this function:

Reimplemented from rene.zirkel.objects.ConstructionObject.

Definition at line 39 of file PrimitiveCircleObject.java.

{ return N.next(); }

Here is the call graph for this function:

String rene.zirkel.objects.ConstructionObject.getName ( ) [inline, inherited]

Definition at line 382 of file ConstructionObject.java.

{ return Name; }

Definition at line 1302 of file ConstructionObject.java.

                              {
              return NCount;
       }

Definition at line 1073 of file ConstructionObject.java.

       {      return Obtuse;
       }

Here is the caller graph for this function:

Definition at line 333 of file PrimitiveCircleObject.java.

       {      return M;
       }

Here is the caller graph for this function:

Definition at line 161 of file CircleObject.java.

       {      return P2;
       }

Service function to extract a point from an expression.

Parameters:
E
Returns:
point object or null

Definition at line 1372 of file ConstructionObject.java.

       {      if (E==null) return null;
              ConstructionObject o=E.getObject();
              if (o==null || !(o instanceof PointObject)) return null;
              return (PointObject)o;
       }

Here is the call graph for this function:

Here is the caller graph for this function:

double rene.zirkel.objects.PrimitiveCircleObject.getR ( ) [inline, inherited]

Definition at line 208 of file PrimitiveCircleObject.java.

{ return R; }

Here is the caller graph for this function:

Definition at line 770 of file ConstructionObject.java.

       {      return getDisplayValue()+getUnit();
       }

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 366 of file PrimitiveCircleObject.java.

       {      return getPointObject(Start);
       }

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 373 of file PrimitiveCircleObject.java.

       {      String s="";
              if (Start!=null) s=Start.toString();
              if (s.startsWith("@")) s=s.substring(1);
              return s;
       }

Here is the call graph for this function:

Definition at line 137 of file CircleObject.java.

       {      if (E!=null) return E.toString();
              else return ""+roundDisplay(R);
       }

Here is the call graph for this function:

Reimplemented from rene.zirkel.objects.PrimitiveCircleObject.

Definition at line 32 of file CircleObject.java.

{ return "Circle"; }
String rene.zirkel.objects.ConstructionObject.getText ( ) [inline, inherited]

Definition at line 291 of file ConstructionObject.java.

       {      return Text;
       }

Here is the caller graph for this function:

This is used to define macros and run them.

The items of the construction are translated to macro items.

Definition at line 140 of file ConstructionObject.java.

       {      return Translation;
       }

Here is the caller graph for this function:

String rene.zirkel.objects.ConstructionObject.getUnit ( ) [inline, inherited]

Definition at line 1147 of file ConstructionObject.java.

       {      return Unit;
       }      

Here is the caller graph for this function:

Get the value of an object or throw an exception (e.g.

if invalid). Not all objects have a value.

Reimplemented from rene.zirkel.objects.ConstructionObject.

Definition at line 142 of file CircleObject.java.

       {      if (!Valid) throw new InvalidException("exception.invalid");
              else return R;
       }

Get an empty MyVector.

Returns:
MyVector instance

Definition at line 1388 of file ConstructionObject.java.

       {      if (MVInUse) return new MyVector();
              if (MV==null) MV=new MyVector();
              MVInUse=true;
              return MV;
       }
double rene.zirkel.objects.PrimitiveCircleObject.getX ( ) [inline, inherited]

Definition at line 206 of file PrimitiveCircleObject.java.

{ return X; }

Here is the caller graph for this function:

double rene.zirkel.objects.PrimitiveCircleObject.getY ( ) [inline, inherited]

Definition at line 207 of file PrimitiveCircleObject.java.

{ return Y; }

Here is the caller graph for this function:

Get the z-buffer for this object.

Returns:
double value z
Exceptions:
ConstructionException

Definition at line 1290 of file ConstructionObject.java.

       {      Expression e=getConditional("z");
              if (e==null)
                     throw new ConstructionException("");
              return e.getValue();
       }

Here is the call graph for this function:

Definition at line 389 of file PrimitiveCircleObject.java.

       {      return getStart()!=null && getEnd()!=null;
       }

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 1228 of file ConstructionObject.java.

       {      Expression ex=getConditional(tag);
              return (ex!=null);
       }

Here is the call graph for this function:

Definition at line 1269 of file ConstructionObject.java.

       {      return Conditionals!=null;
       }

Here is the caller graph for this function:

String rene.zirkel.objects.ConstructionObject.helpDisplayNumber ( boolean  start,
double  x 
) [inline, inherited]

Definition at line 1181 of file ConstructionObject.java.

       {      String s="";
              if (Math.abs(x)<1e-10) return s;
              if (x<0) s="-";
              else if (!start) s="+";
              x=Math.abs(x);
              return s+roundDisplay(x);
       }

Here is the call graph for this function:

Here is the caller graph for this function:

String rene.zirkel.objects.ConstructionObject.helpDisplayValue ( boolean  start,
double  x,
String  tag 
) [inline, inherited]

Definition at line 1168 of file ConstructionObject.java.

       {      String s="";
              if (Math.abs(x)<1e-10) return s;
              if (x<0) s="-";
              else if (!start) s="+";
              x=Math.abs(x);
              if (Math.abs(x-1)>1e-10)
                     s=s+roundDisplay(x);
              if (tag.equals("")) return s;
              else if (s.equals("") || s.equals("-")) return s+tag;
              else return s+"*"+tag;
       }

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 201 of file ConstructionObject.java.

{ return Indicated; }

Here is the caller graph for this function:

Definition at line 210 of file PrimitiveCircleObject.java.

       {      double dx=c2.X-c1.X,dy=c2.Y-c1.Y,r=Math.sqrt(dx*dx+dy*dy);
              if (r>c1.R+c2.R+1e-10) return null;
              if (r<=1e-10) return new Coordinates(c1.X,c1.Y,c1.X,c1.Y);
              double l=(r*r+c1.R*c1.R-c2.R*c2.R)/(2*r);
              dx/=r; dy/=r;
              double x=c1.X+l*dx,y=c1.Y+l*dy,h=c1.R*c1.R-l*l;
              if (h<-1e-10) return null;
              if (h<0) h=0;
              else h=Math.sqrt(h);
              return new Coordinates(x+h*dy,y-h*dx,x-h*dy,y+h*dx);
       }

Here is the caller graph for this function:

Definition at line 1025 of file ConstructionObject.java.

       {      if (!original && testConditional("background")) return true;
              return Back;
       }

Here is the call graph for this function:

Definition at line 1029 of file ConstructionObject.java.

       {      return isBack(false);
       }

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 1195 of file ConstructionObject.java.

       {      return Bold;
       }

Definition at line 1092 of file ConstructionObject.java.

       {      return Break;
       }

Here is the caller graph for this function:

Definition at line 1157 of file ConstructionObject.java.

       {      return BreakHide;
       }

Reimplemented from rene.zirkel.objects.ConstructionObject.

Definition at line 340 of file PrimitiveCircleObject.java.

       {      return Filled;
       }

Reimplemented from rene.zirkel.objects.ConstructionObject.

Definition at line 343 of file PrimitiveCircleObject.java.

       {      return Filled;
       }

Reimplemented in rene.zirkel.objects.TrackObject, rene.zirkel.objects.FixedAngleObject, and rene.zirkel.objects.FixedCircleObject.

Definition at line 1088 of file ConstructionObject.java.

       {      return false;
       }      

Here is the caller graph for this function:

Definition at line 922 of file ConstructionObject.java.

{ return Flag; }

Here is the caller graph for this function:

Definition at line 103 of file ConstructionObject.java.

                                    {
              return gotNCount;
       }

Definition at line 364 of file ConstructionObject.java.

       {      if (!original && testConditional("visible")) return false;
              if (!original && (testConditional("hidden") || testConditional("superhidden"))) 
                     return true;
              return Hidden || SuperHidden; 
       }

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 370 of file ConstructionObject.java.

       {      return isHidden(false);
       }

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 1101 of file ConstructionObject.java.

       {      return HideBreak;
       }

Here is the caller graph for this function:

Definition at line 1039 of file ConstructionObject.java.

       {      return inConstruction;
       }

Here is the caller graph for this function:

Definition at line 949 of file ConstructionObject.java.

       {      return JobTarget;
       }

Here is the caller graph for this function:

Definition at line 931 of file ConstructionObject.java.

{ return Keep; } 

Here is the caller graph for this function:

Definition at line 799 of file ConstructionObject.java.

       {      return KeepClose;
       }

Here is the caller graph for this function:

Definition at line 1202 of file ConstructionObject.java.

       {      return Large; 
       }

Definition at line 838 of file ConstructionObject.java.

{ return MainParameter; }

Here is the caller graph for this function:

Definition at line 837 of file ConstructionObject.java.

{ return Parameter || MainParameter; }

Here is the caller graph for this function:

Definition at line 267 of file PrimitiveCircleObject.java.

       {      return Partial;
       }

Definition at line 925 of file ConstructionObject.java.

{ return RekFlag; }

Definition at line 187 of file ConstructionObject.java.

       {      return valid() && !JobTarget && Selectable; 
       }

Here is the call graph for this function:

Definition at line 1110 of file ConstructionObject.java.

       {      if (!original && testConditional("solid")) return true;
              return Solid;
       }

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 1114 of file ConstructionObject.java.

       {      return isSolid(false);
       }

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 1364 of file ConstructionObject.java.

{ return SpecialParameter; }

Definition at line 184 of file ConstructionObject.java.

{ return StrongSelected; }

Here is the caller graph for this function:

Definition at line 373 of file ConstructionObject.java.

       {      if (!original && testConditional("superhidden")) 
                     return true;
              return SuperHidden; 
       }

Here is the call graph for this function:

Definition at line 378 of file ConstructionObject.java.

       {      return isSuperHidden(false);
       }

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 928 of file ConstructionObject.java.

{ return Target; }

Here is the caller graph for this function:

Definition at line 119 of file CircleObject.java.

       {      return E!=null && E.isValid();
       }

Here is the call graph for this function:

Implements rene.zirkel.objects.InsideObject.

Definition at line 514 of file PrimitiveCircleObject.java.

       {      double dx=P.getX()-X,dy=P.getY()-Y;
              double r=Math.sqrt(dx*dx+dy*dy);
              double f=1;
              if (Filled && ColorType==THIN) f=0.9999;
              if (r<R*f || R<1e-10) return true;
              P.setXY(X+dx/r*(R*f),Y+dy/r*(R*f));
              return false;
       }

Here is the call graph for this function:

Definition at line 295 of file ConstructionObject.java.

       {      return LabelSelected;
       }

Here is the caller graph for this function:

This is called after the loading of a construction has been finished.

PointObject uses this to bind to a line or circle, which is defined AFTER it.

Parameters:
cThe construction this object is in.

Reimplemented in rene.zirkel.objects.PointObject.

Definition at line 1049 of file ConstructionObject.java.

       {
       }

This is called after macro definition or execution is complete.

PrimitiveCircleObject uses it to translate the restriction points in its copy.

Parameters:
cThe construction this object is in.

Definition at line 1059 of file ConstructionObject.java.

       {      
       }

Reimplemented from rene.zirkel.objects.ConstructionObject.

Definition at line 401 of file PrimitiveCircleObject.java.

       {      if (!(o instanceof PrimitiveCircleObject)) return false;
              return (equals(X,((PrimitiveCircleObject)o).X) &&
                     equals(Y,((PrimitiveCircleObject)o).Y) &&
                     equals(R,((PrimitiveCircleObject)o).R));
       }

Here is the call graph for this function:

Reimplemented from rene.zirkel.objects.ConstructionObject.

Definition at line 397 of file PrimitiveCircleObject.java.

       {      return true;
       }
void rene.zirkel.objects.CircleObject.move ( double  x,
double  y 
) [inline]

Implements rene.zirkel.objects.MoveableObject.

Definition at line 174 of file CircleObject.java.

       {
       }

Implements rene.zirkel.objects.MoveableObject.

Definition at line 178 of file CircleObject.java.

       {      if (!Fixed && M.moveable() && P2.moveable()) return true;
              return false;
       }

Here is the call graph for this function:

Here is the caller graph for this function:

Reimplemented in rene.zirkel.objects.TextObject.

Definition at line 344 of file ConstructionObject.java.

       {      if (!Valid) return true;
              if (ColorIndex>0 && zc.getShowColor()!=0 && 
                     zc.getShowColor()!=ColorIndex) return true;
              if (JobTarget && Hidden) return true;
              return SuperHidden || testConditional("superhidden") || BreakHide ||
                     zc.hides(this) || (isHidden() && !zc.showHidden());
       }

Here is the call graph for this function:

Here is the caller graph for this function:

boolean rene.zirkel.objects.CircleObject.nearto ( int  x,
int  y,
ZirkelCanvas  zc 
) [inline]

Test, if this object is chosen with coordinates x,y.

Reimplemented from rene.zirkel.objects.PrimitiveCircleObject.

Definition at line 103 of file CircleObject.java.

       {      if (ExpressionFailed && M.valid()) return M.nearto(c,r,zc);
              return super.nearto(c,r,zc);
       }

Here is the call graph for this function:

boolean rene.zirkel.objects.PrimitiveCircleObject.nearto ( int  x,
int  y,
boolean  ignorefill,
ZirkelCanvas  zc 
) [inline, inherited]

Test, if this object is chosen with coordinates x,y.

Reimplemented from rene.zirkel.objects.ConstructionObject.

Definition at line 139 of file PrimitiveCircleObject.java.

       {      if (!displays(zc)) return false;
              double x=zc.x(c)-X,y=zc.y(r)-Y;
              if (!ignorefill && Filled)
              {      double d=Math.sqrt(x*x+y*y);
                     if (d<R) Value=0;
                     return d<R;
              }
              else if (hasRange())
              {      computeA1A2();
                     double a=Math.atan2(y,x);
                     if (a<0) a+=2*Math.PI;
                     a-=A1;
                     if (a<0) a+=2*Math.PI;
                     double d=Math.abs(Math.sqrt(x*x+y*y)-R);
                     if (a<=A+0.01)
                            Value=Math.abs(zc.col(zc.minX()+d)-zc.col(zc.minX()));
                     return Value<zc.selectionSize() && a<=A+0.01;
              }
              // partial display:
              else if (!zc.showHidden() && NDep>0 && Partial)
              {      double d=Math.abs(Math.sqrt(x*x+y*y)-R);
                     Value=Math.abs(zc.col(zc.minX()+d)-zc.col(zc.minX()));
                     if (Math.abs(zc.col(zc.minX()+d)-zc.col(zc.minX()))>=
                            zc.selectionSize()) return false;
                     d=Math.PI/18;
                     double a=Math.atan2(y,x);
                     if (a<0) a+=2*Math.PI;
                     for (int i=0; i<NDep; i++)
                     {      if (!Dep[i].valid() || Dep[i].mustHide(zc)) continue;
                            double A=Math.atan2(Dep[i].getY()-Y,Dep[i].getX()-X);
                            if (A<0) A+=2*Math.PI;
                            double h=a-A;
                            if (h>2*Math.PI) h-=2*Math.PI;
                            if (h<-2*Math.PI) h+=2*Math.PI;
                            if (Math.abs(h)<d) return true;
                     }
                     return false;
              }
              else   
              {      double d=Math.abs(Math.sqrt(x*x+y*y)-R);
                     Value=Math.abs(zc.col(zc.minX()+d)-zc.col(zc.minX()));
                     return Math.abs(zc.col(zc.minX()+d)-zc.col(zc.minX()))<
                            zc.selectionSize();
              }
       }

Here is the call graph for this function:

boolean rene.zirkel.objects.PrimitiveCircleObject.onlynearto ( int  x,
int  y,
ZirkelCanvas  zc 
) [inline, inherited]

Test, if this object must be chosen with coordinates x,y, assuming it is near to these coordinates.

Reimplemented from rene.zirkel.objects.ConstructionObject.

Definition at line 186 of file PrimitiveCircleObject.java.

       {      if (R<zc.dx(3*(int)zc.pointSize())) return true;
              if (hasRange())
              {      double A1=Math.atan2(getStart().getY()-Y,getStart().getX()-X);
                     if (A1<0) A1+=2*Math.PI;
                     double A2=Math.atan2(getEnd().getY()-Y,getEnd().getX()-X);
                     if (A2<0) A2+=2*Math.PI;
                     double A=A2-A1;
                     if (A>=2*Math.PI) A-=2*Math.PI;
                     if (A<0) A+=2*Math.PI;
                     if (!Obtuse && A>Math.PI)
                     {      A1=A2;
                            A=2*Math.PI-A;
                            A2=A1+A;
                     }
                     if (A*R<zc.dx(6*(int)zc.pointSize())) return true;
              }
              return false;
       }

Here is the call graph for this function:

Reimplemented from rene.zirkel.objects.ConstructionObject.

Definition at line 41 of file PrimitiveCircleObject.java.

       {      if (!Valid  || mustHide(zc)) return;
              double c1=zc.col(X-R),c2=zc.col(X+R),
                     r1=zc.row(Y+R),r2=zc.row(Y-R),
                     r=(r2-r1)/2;
              double ssa=1/Math.sqrt(2),ssb=-ssa;
              // paint:
              if (!zc.showHidden() && Dep!=null && NDep>0 && Partial && 
                            !hasRange()) // partial display
              {      for (int i=0; i<NDep; i++)
                     {      if (!Dep[i].valid() || Dep[i].mustHide(zc)) continue;
                            double A=Math.atan2(Dep[i].getY()-Y,Dep[i].getX()-X);
                            if (A<0) A+=2*Math.PI;
                            double a=A/Math.PI*180;
                            if (visible(zc))
                            {      if (isStrongSelected() && g instanceof MyGraphics13)
                                   {      ((MyGraphics13)g).drawMarkerArc((c1+c2)/2.0,(r1+r2)/2.0,r,a-10,20);
                                   }
                                   g.setColor(this);
                                   g.drawCircleArc(c1+r,r1+r,r,a-10,20,this);
                            }
                            if (i==0)
                            {      String s=getDisplayText();
                                   if (!s.equals(""))
                                   {      g.setLabelColor(this);
                                          DisplaysText=true;
                                          double sx=Math.cos(A-0.1);
                                          double sy=Math.sin(A-0.1);
                                          drawLabel(g,s,zc,X+sx*R,Y+sy*R,sy,-sx,XcOffset,YcOffset);
                                   }
                            }
                     }
              }
              else
              {      if (hasRange()) // arc display
                     {      computeA1A2();
                            if (visible(zc))
                            {      if (isStrongSelected() && g instanceof MyGraphics13)
                                   {      ((MyGraphics13)g).drawMarkerArc((c1+c2)/2.0,(r1+r2)/2.0,
                                                 r,A1/Math.PI*180,A/Math.PI*180);
                                   }
                                   g.setColor(this);
                                   if (Filled)
                                   {      g.fillArc(c1,r1,c2-c1,r2-r1,
                                                 A1/Math.PI*180,A/Math.PI*180,
                                                 Selected||(getColorType()!=THIN),
                                                 getColorType()!=THICK,Arc,this);
                                   }
                                   else if (visible(zc)) 
                                          g.drawCircleArc(c1+r,r1+r,r,
                                                 A1/Math.PI*180,A/Math.PI*180,this);
                            }
                            ssa=Math.cos(A1+A/2);
                            ssb=Math.sin(A1+A/2);
                     }
                     else if (Filled)
                     {      if (visible(zc))
                            {      if (isStrongSelected() && g instanceof MyGraphics13)
                                   {      ((MyGraphics13)g).drawMarkerArc((c1+c2)/2.0,(r1+r2)/2.0,r,0,360);
                                   }
                                   g.setColor(this);
                                   g.fillOval(c1,r1,c2-c1,r2-r1,
                                          Indicated||Selected||(getColorType()==NORMAL),getColorType()!=THICK,
                                                 this);
                            }
                     }
                     else // full unfilled display
                     {      if (visible(zc)) 
                            {      if (isStrongSelected() && g instanceof MyGraphics13)
                                   {      ((MyGraphics13)g).drawMarkerArc((c1+c2)/2.0,(r1+r2)/2.0,r,0,360);
                                   }
                                   g.setColor(this);
                                   g.drawCircle(c1+r,r1+r,r,this);
                            }
                     }
                     String s=getDisplayText();
                     if (!s.equals(""))
                     {      g.setLabelColor(this);
                            DisplaysText=true;
                            drawLabel(g,s,zc,X+ssa*R,Y+ssb*R,-ssa,ssb,XcOffset,YcOffset);
                     }             
              }
       }

Here is the call graph for this function:

Reimplemented from rene.zirkel.objects.PrimitiveCircleObject.

Definition at line 77 of file CircleObject.java.

       {      xml.printArg("through",P2.getName());
              if (Fixed && E!=null) xml.printArg("fixed",E.toString());
              super.printArgs(xml);
       }

Here is the call graph for this function:

Implements rene.zirkel.objects.PointonObject.

Definition at line 447 of file PrimitiveCircleObject.java.

       {      double dx=P.getX()-getX(),dy=P.getY()-getY();
              double r=Math.sqrt(dx*dx+dy*dy);
              double X=0,Y=0;
              if (r<1e-10)
              {      X=getX()+getR(); Y=getY(); 
              }
              else
              {      X=getX()+dx/r*getR(); Y=getY()+dy/r*getR();
              }
              double Alpha=Math.atan2(P.getY()-getY(),P.getX()-getX());
              if (hasRange() && getStart()!=P && getEnd()!=P)
              {      if (Alpha<0) Alpha+=2*Math.PI;
                     computeA1A2();
                     double a1=getA1(),a2=getA2();
                     if (Alpha<a1) Alpha+=2*Math.PI;
                     if (Alpha>a2)
                     {      if (2*Math.PI-(Alpha-a1) < Alpha-a2) Alpha=a1;
                            else Alpha=a2;
                     }
                     X=getX()+getR()*Math.cos(Alpha);
                     Y=getY()+getR()*Math.sin(Alpha);   
              }
              P.setXY(X,Y);
              P.setA(Alpha);
       }

Here is the call graph for this function:

void rene.zirkel.objects.PrimitiveCircleObject.project ( PointObject  P,
double  alpha 
) [inline, inherited]

Implements rene.zirkel.objects.PointonObject.

Definition at line 474 of file PrimitiveCircleObject.java.

       {      double dx=P.getX()-getX(),dy=P.getY()-getY();
              double r=Math.sqrt(dx*dx+dy*dy);
              double X=0,Y=0;
              if (r<1e-10)
              {      X=getX()+getR(); Y=getY(); 
              }
              else
              {      X=getX()+dx/r*getR(); Y=getY()+dy/r*getR();
              }
              if (hasRange() && getStart()!=P && getEnd()!=P)
              {      double Alpha=P.getAlpha();
                     if (Alpha<0) Alpha+=2*Math.PI;
                     if (Alpha>=2*Math.PI) Alpha-=2*Math.PI;
                     computeA1A2();
                     double a1=getA1(),a2=getA2();
                     if (Alpha<a1) Alpha+=2*Math.PI;
                     if (Alpha>a2)
                     {      if (2*Math.PI-(Alpha-a1) < Alpha-a2) Alpha=a1;
                            else Alpha=a2;
                     }
                     P.setA(Alpha);
                     X=getX()+getR()*Math.cos(Alpha);
                     Y=getY()+getR()*Math.sin(Alpha);
              }
              else
              {      X=getX()+getR()*Math.cos(alpha);
                     Y=getY()+getR()*Math.sin(alpha);
              }
              P.setXY(X,Y);
       }

Here is the call graph for this function:

String rene.zirkel.objects.ConstructionObject.replaceExpressions ( String  s) [inline, inherited]

Replace the expression in %...% by their values.

Parameters:
s
zcmay be null (no direct search of object)
Returns:

Definition at line 630 of file ConstructionObject.java.

       {      // System.out.println(s);
              boolean latex=s.startsWith("$");
              int searchpos=0;
              while (s.indexOf("%",searchpos)>=0)
              {      int h1=s.indexOf("%",searchpos);
                     String s1=s.substring(h1+1);
                     int h2=s1.indexOf("%");
                     if (h2==0)
                     {      s=s.substring(0,h1)+"%"+s1.substring(1);
                            searchpos+=1;
                     }
                     else if (h2>=0)
                     {      String var=s1.substring(0,h2);
                            boolean showeq=false,forceplus=false;
                            if (var.startsWith("~")) // show equation
                            {      var=var.substring(1); showeq=true;
                            }
                            else if (var.startsWith("+")) // force +
                            {      var=var.substring(1); forceplus=true;
                            }
                            ConstructionObject o=getConstruction().find(var);
                            // System.out.println(o+" "+var);
                            String repl="";
                            if (o!=null) DL.add(o);
                            try
                            {      if (showeq) repl=o.getEquation();
                                   else
                                   {      if (o!=null)
                                          {      double x=round(o.getValue());
                                                 if (forceplus && x>=0) repl="+";
                                                 if (x==Math.floor(x+0.1)) repl=repl+(int)(x);
                                                 else repl=repl+x;
                                          }
                                          else
                                          {      Expression ex=new Expression(var,getConstruction(),this);
                                                 if (ex.isValid())
                                                 {      Enumeration e=ex.getDepList().elements();
                                                        while (e.hasMoreElements())
                                                        {      DL.add((ConstructionObject)e.nextElement());
                                                        }
                                                 }
                                                 double x=round(ex.getValue());
                                                 if (forceplus && x>=0) repl="+";
                                                 if (x==Math.floor(x+0.1)) repl=repl+(int)(x);
                                                 else repl=repl+x;
                                          }
                                   }
                            }
                            catch (Exception ex)
                            {      if (latex) repl="\\circ";
                                   else repl="???";
                                   // ex.printStackTrace();
                            }
                            s=s.substring(0,h1)+repl+s1.substring(h2+1);
                            searchpos=h1+repl.length();
                     }
                     else break;
              }
              return s;
       }

Here is the call graph for this function:

Here is the caller graph for this function:

double rene.zirkel.objects.ConstructionObject.round ( double  x) [inline, inherited]

Service function to round a value.

Definition at line 777 of file ConstructionObject.java.

       {      return round(x,ZirkelCanvas.EditFactor);
       }

Here is the call graph for this function:

Here is the caller graph for this function:

double rene.zirkel.objects.ConstructionObject.round ( double  x,
double  Rounder 
) [inline, inherited]

Definition at line 783 of file ConstructionObject.java.

       {      return Math.round(x*Rounder)/Rounder;
       }
void rene.zirkel.objects.ConstructionObject.round ( ) [inline, inherited]
double rene.zirkel.objects.ConstructionObject.roundDisplay ( double  x) [inline, inherited]

Definition at line 780 of file ConstructionObject.java.

       {      return round(x,ZirkelCanvas.LengthsFactor);
       }

Here is the call graph for this function:

Here is the caller graph for this function:

void rene.zirkel.objects.ConstructionObject.save ( XmlWriter  xml) [inline, inherited]

Save the object in XML form.

Definition at line 504 of file ConstructionObject.java.

       {      xml.startTagStart(getTag());
              xml.printArg("name",Name);
              if (AliasES!=null) xml.printArg("alias",AliasES.toString());
              xml.printArg("n",""+NCount);
              if (ColorIndex!=0) xml.printArg("color",""+ColorIndex);
              if (ColorType==THICK) xml.printArg("type","thick");
              if (ColorType==THIN) xml.printArg("type","thin");
              if (ColorType==INVISIBLE) xml.printArg("type","invisible");
              if (SuperHidden) xml.printArg("hidden","super");
              else if (Hidden) xml.printArg("hidden","true");
              if (ShowName) xml.printArg("showname","true");
              if (ShowValue) xml.printArg("showvalue","true");
              if (Back) xml.printArg("background","true");
              if (XcOffset!=0.0) xml.printArg("xcoffset",""+XcOffset);
              if (YcOffset!=0.0) xml.printArg("ycoffset",""+YcOffset);
              if (KeepClose) xml.printArg("keepclose","true");
              if (Parameter) xml.printArg("parameter","true");
              if (MainParameter) xml.printArg("mainparameter","true");
              if (Target) xml.printArg("target","true");
              if (Break)
              {      if (HideBreak) xml.printArg("hidebreak","true");
                     else xml.printArg("break","true");
              }
              if (Solid && maybeTransparent() && isFilled()) 
                     xml.printArg("solid","true");
              if (!Unit.equals("")) xml.printArg("unit",Unit);
              if (Bold) xml.printArg("bold","true");
              if (Large) xml.printArg("large","true");
              if (haveConditionals())
              {      int i=0;
                     Enumeration e=Conditionals.elements();
                     while (e.hasMoreElements())
                     {      Conditional c=(Conditional)e.nextElement();
                            xml.printArg("ctag"+i,c.getTag());
                            xml.printArg("cexpr"+i,c.getExpression().toString());
                            i++;
                     }
              }
              printArgs(xml);
              xml.startTagEnd();
              xml.print(Text);
              xml.endTag(getTag());
              xml.println();
       }

Here is the call graph for this function:

Enumeration rene.zirkel.objects.PrimitiveCircleObject.secondaryParams ( ) [inline, inherited]

A circle will mark the midpoint as secondary parameter.

Reimplemented from rene.zirkel.objects.ConstructionObject.

Definition at line 315 of file PrimitiveCircleObject.java.

       {      DL.reset();
              return depset(M);
       }

Here is the call graph for this function:

Definition at line 185 of file ConstructionObject.java.

{ return Selected || StrongSelected; }

Here is the caller graph for this function:

void rene.zirkel.objects.ConstructionObject.setAlias ( String  s) [inline, inherited]

Definition at line 1317 of file ConstructionObject.java.

       {      if (s==null) AliasES=null;
              else AliasES=new ExpressionString(s,this);
       }

Here is the caller graph for this function:

void rene.zirkel.objects.PrimitiveCircleObject.setArc ( boolean  flag) [inline, inherited]

Definition at line 411 of file PrimitiveCircleObject.java.

       {      Arc=flag;
       }
void rene.zirkel.objects.ConstructionObject.setBack ( boolean  flag) [inline, inherited]

Definition at line 1032 of file ConstructionObject.java.

       {      Back=flag;
       }

Here is the caller graph for this function:

void rene.zirkel.objects.ConstructionObject.setBold ( boolean  bold) [inline, inherited]

Definition at line 1198 of file ConstructionObject.java.

       {      Bold=bold;
       }

Here is the caller graph for this function:

void rene.zirkel.objects.ConstructionObject.setBreak ( boolean  flag) [inline, inherited]

Definition at line 1096 of file ConstructionObject.java.

       {      Break=flag;
              HideBreak=false;
       }

Here is the caller graph for this function:

Definition at line 1160 of file ConstructionObject.java.

       {      BreakHide=flag;
       }
void rene.zirkel.objects.ConstructionObject.setcOffset ( double  x,
double  y 
) [inline, inherited]

Definition at line 789 of file ConstructionObject.java.

Here is the caller graph for this function:

void rene.zirkel.objects.ConstructionObject.setColor ( int  index) [inline, inherited]

Set the object color by index.

Definition at line 302 of file ConstructionObject.java.

       {      if (index<0) C=Color.pink;
              else
              {      if (ColorType==THIN) C=ZirkelFrame.LightColors[index];
                     else C=ZirkelFrame.Colors[index];
                     ColorIndex=index;
              }
       }

Here is the caller graph for this function:

void rene.zirkel.objects.ConstructionObject.setColorType ( int  type) [inline, inherited]

Definition at line 832 of file ConstructionObject.java.

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 557 of file ConstructionObject.java.

       {      Cn=c; 
              inConstruction=true;
              setNameWithNumber(Name); // make sure the name is not double
       }

Here is the call graph for this function:

Reimplemented from rene.zirkel.objects.ConstructionObject.

Definition at line 296 of file PrimitiveCircleObject.java.

       {      super.setDefaults();
              setPartial(Cn.Partial);
       }

Here is the call graph for this function:

Here is the caller graph for this function:

Reimplemented from rene.zirkel.objects.ConstructionObject.

Definition at line 337 of file PrimitiveCircleObject.java.

       {      Filled=flag;
       }
void rene.zirkel.objects.CircleObject.setFixed ( boolean  flag,
String  s 
) throws ConstructionException [inline]

Definition at line 88 of file CircleObject.java.

       {      if (!flag || s.equals(""))
              {      Fixed=false;
                     E=null;
              }
              else
              {      E=new Expression(s,getConstruction(),this);
                     if (!E.isValid())
                            throw new ConstructionException(E.getErrorText());
                     Fixed=true;
              }
              updateText();
       }

Here is the call graph for this function:

Here is the caller graph for this function:

void rene.zirkel.objects.ConstructionObject.setFixed ( String  o) [inline, inherited]
void rene.zirkel.objects.ConstructionObject.setFlag ( boolean  flag) [inline, inherited]

Definition at line 921 of file ConstructionObject.java.

{ Flag=flag; }

Definition at line 440 of file ConstructionObject.java.

       {      g.setFont(Large,Bold);
       }

Here is the call graph for this function:

Here is the caller graph for this function:

void rene.zirkel.objects.ConstructionObject.setGotNCount ( boolean  gotNCount) [inline, inherited]

Definition at line 107 of file ConstructionObject.java.

                                                   {
              this.gotNCount = gotNCount;
       }
void rene.zirkel.objects.ConstructionObject.setHidden ( boolean  flag) [inline, inherited]

Definition at line 353 of file ConstructionObject.java.

       {      Hidden=flag; 
              if (!flag) SuperHidden=false;
       }

Here is the caller graph for this function:

Definition at line 1105 of file ConstructionObject.java.

       {      HideBreak=flag;
              Break=flag;
       }

Definition at line 1036 of file ConstructionObject.java.

       {      inConstruction=flag;
       }

Definition at line 202 of file ConstructionObject.java.

       {      Indicated=f; 
       }

Here is the caller graph for this function:

void rene.zirkel.objects.ConstructionObject.setIndicated ( boolean  f,
boolean  showname 
) [inline, inherited]

Definition at line 205 of file ConstructionObject.java.

       {      Indicated=f; ShowIndicatedName=showname;
       }

Definition at line 941 of file ConstructionObject.java.

       {      if (flag)
              {      OldColorIndex=ColorIndex;
                     setColor(-1);
              }
              else if (JobTarget) setColor(OldColorIndex);
              JobTarget=flag;
       }

Here is the call graph for this function:

void rene.zirkel.objects.ConstructionObject.setKeep ( boolean  flag) [inline, inherited]

Definition at line 930 of file ConstructionObject.java.

{ Keep=flag; }
void rene.zirkel.objects.ConstructionObject.setKeepClose ( double  x,
double  y 
) [inline, inherited]

Definition at line 806 of file ConstructionObject.java.

       {      if (KeepClose && !flag) { XcOffset=0; YcOffset=0; }
              KeepClose=flag;
       }

Definition at line 186 of file ConstructionObject.java.

{ LabelSelected=flag; }

Here is the caller graph for this function:

void rene.zirkel.objects.ConstructionObject.setLarge ( boolean  large) [inline, inherited]

Definition at line 1205 of file ConstructionObject.java.

       {      Large=large;
       } 

Here is the caller graph for this function:

Reimplemented in rene.zirkel.objects.PlumbObject.

Definition at line 842 of file ConstructionObject.java.

       {      Enumeration e=secondaryParams();
              while (e.hasMoreElements())
              {      ConstructionObject o=(ConstructionObject)e.nextElement();
                     o.setParameter();
              }
              MainParameter=true;
       }

Here is the call graph for this function:

Here is the caller graph for this function:

void rene.zirkel.objects.ConstructionObject.setName ( ) [inline, inherited]

Sets a unique name for the object.

Should be overriden in all items.

Definition at line 126 of file ConstructionObject.java.

       {      if (Cn.LongNames)
                     Name=Zirkel.name("name."+getTag())+" "+getN();
              else
                     Name=Zirkel.name("name.short."+getTag())+getN();
       }

Here is the call graph for this function:

Here is the caller graph for this function:

void rene.zirkel.objects.ConstructionObject.setName ( String  n) [inline, inherited]

Definition at line 383 of file ConstructionObject.java.

       {      Name="";
              if (Cn!=null)
              {      ConstructionObject o=Cn.find(n);
                     while (o!=null && o!=this)
                     {      n=n+"*";
                            o=Cn.find(n);
                     }
              }
              Name=n; 
       }

Here is the call graph for this function:

void rene.zirkel.objects.ConstructionObject.setNameCheck ( String  n) throws ConstructionException [inline, inherited]

Definition at line 394 of file ConstructionObject.java.

       {      boolean extend=false;
              Name="";
              if (Cn!=null)
              {      ConstructionObject o=Cn.find(n);
                     if (o!=null && o!=this)
                     {      n=n+"*";
                            o=Cn.find(n);
                            extend=true;
                     }
              }
              Name=n; 
              if (extend)
                     throw new ConstructionException(Zirkel.name("exception.double"));
       }      

Here is the call graph for this function:

Here is the caller graph for this function:

void rene.zirkel.objects.ConstructionObject.setNameWithNumber ( String  n) [inline, inherited]

Definition at line 410 of file ConstructionObject.java.

       {      Name="";
              if (Cn!=null)
              {      ConstructionObject o=Cn.find(n);
                     if (o!=null)
                     {      while (o!=null && o!=this)
                            {      setName(); n=Name; Name="";
                                   o=Cn.find(n);
                            }
                            Name=n;
                     }
                     else Name=n;
              }
              else Name=n;
       }

Here is the call graph for this function:

Here is the caller graph for this function:

void rene.zirkel.objects.ConstructionObject.setNCount ( int  count) [inline, inherited]

Definition at line 1306 of file ConstructionObject.java.

                                        {
              NCount = count;
       }
void rene.zirkel.objects.ConstructionObject.setObtuse ( boolean  flag) [inline, inherited]

Definition at line 1076 of file ConstructionObject.java.

       {      Obtuse=flag;
       }

Here is the caller graph for this function:

void rene.zirkel.objects.ConstructionObject.setOffset ( int  x,
int  y 
) [inline, inherited]

Definition at line 795 of file ConstructionObject.java.

       {      XOffset=x; YOffset=y;
       }

Definition at line 850 of file ConstructionObject.java.

       {      Parameter=true;
       }

Here is the caller graph for this function:

Definition at line 242 of file PrimitiveCircleObject.java.

       {      if (flag==Partial) return;
              Partial=flag;
              if (flag) // depending objects no longer needed
              {      Dep=new PointObject[16];
                     NDep=0;
              }
              else Dep=null;
       }

Here is the caller graph for this function:

boolean rene.zirkel.objects.PrimitiveCircleObject.setRange ( String  s1,
String  s2 
) [inline, inherited]

Definition at line 356 of file PrimitiveCircleObject.java.

       {      try
              {      Start=new Expression("@\""+s1+"\"",Cn,this);
                     End=new Expression("@\""+s2+"\"",Cn,this);
                     return hasRange();
              }
              catch (Exception e) { Start=End=null; }
              return false;
       }

Here is the call graph for this function:

Here is the caller graph for this function:

void rene.zirkel.objects.ConstructionObject.setRekFlag ( boolean  flag) [inline, inherited]

Definition at line 924 of file ConstructionObject.java.

{ RekFlag=flag; }

Definition at line 1139 of file ConstructionObject.java.

       {      Selectable=flag;
       }
void rene.zirkel.objects.ConstructionObject.setSelected ( boolean  flag) [inline, inherited]

Definition at line 182 of file ConstructionObject.java.

{ Selected=flag; StrongSelected=false; }

Here is the caller graph for this function:

Definition at line 570 of file ConstructionObject.java.

{ ShowName=f; }

Here is the caller graph for this function:

Definition at line 578 of file ConstructionObject.java.

{ ShowValue=f; }

Here is the caller graph for this function:

void rene.zirkel.objects.ConstructionObject.setSolid ( boolean  solid) [inline, inherited]

Definition at line 1118 of file ConstructionObject.java.

       {      Solid=solid;
       }

Here is the caller graph for this function:

Definition at line 1365 of file ConstructionObject.java.

{ SpecialParameter=flag; }

Here is the caller graph for this function:

Definition at line 183 of file ConstructionObject.java.

{ StrongSelected=flag; }

Definition at line 357 of file ConstructionObject.java.

       {      SuperHidden=flag;
       }

Here is the caller graph for this function:

void rene.zirkel.objects.ConstructionObject.setTarget ( boolean  flag) [inline, inherited]

Definition at line 927 of file ConstructionObject.java.

{ Target=flag; }

Here is the caller graph for this function:

Reimplemented in rene.zirkel.objects.PointObject.

Definition at line 1006 of file ConstructionObject.java.

Here is the call graph for this function:

void rene.zirkel.objects.ConstructionObject.setText ( String  s,
boolean  user 
) [inline, inherited]

Definition at line 284 of file ConstructionObject.java.

       {      if (!user && Text.endsWith(" ")) return;
              Text=s;
       }

Here is the caller graph for this function:

void rene.zirkel.objects.ConstructionObject.setText ( String  s) [inline, inherited]

Definition at line 288 of file ConstructionObject.java.

       {      setText(s,false);
       }

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 143 of file ConstructionObject.java.

       {      Translation=t;
       }

Here is the caller graph for this function:

void rene.zirkel.objects.ConstructionObject.setUnit ( String  s) [inline, inherited]

Definition at line 1150 of file ConstructionObject.java.

       {      Unit=s;
       }

Definition at line 563 of file ConstructionObject.java.

       {      if (!original && testConditional("showname")) return true;
              return ShowName || (Indicated && ShowIndicatedName); 
       }

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 567 of file ConstructionObject.java.

       {      return showName(false);
       }

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 571 of file ConstructionObject.java.

       {      if (!original && testConditional("showvalue")) return true;
              return ShowValue; 
       }

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 575 of file ConstructionObject.java.

       {      return showValue(false);
       }

Here is the call graph for this function:

Here is the caller graph for this function:

Reimplemented from rene.zirkel.objects.ConstructionObject.

Definition at line 191 of file CircleObject.java.

       {      if (moveable())
              {      M.snap(zc); P2.snap(zc);
              }
       }

Here is the call graph for this function:

void rene.zirkel.objects.CircleObject.startDrag ( double  x,
double  y 
) [inline]

Implements rene.zirkel.objects.MoveableObject.

Definition at line 185 of file CircleObject.java.

       {      x1=M.getX(); y1=M.getY();
              x2=P2.getX(); y2=P2.getY();
              x3=x; y3=y;
       }

Here is the call graph for this function:

Test if the conditional "tag" evaluates to true.

Parameters:
tag

Definition at line 1237 of file ConstructionObject.java.

       {      Expression ex=getConditional(tag);
              if (ex==null) return false;
              try
              {      if (ex.getValue()!=0) return true;
              }
              catch (Exception e) {}
              return false;
       }

Here is the call graph for this function:

Here is the caller graph for this function:

static String rene.zirkel.objects.ConstructionObject.text1 ( String  format,
String  s1 
) [inline, static, inherited]

Routines to parse descriptive text in various languages.

Definition at line 220 of file ConstructionObject.java.

       {      StringTokenizer t=tokenize(format);
              String s="Illegal Format";
              try
              {      s=t.nextToken()+s1;
                     s=s+t.nextToken();
              }
              catch (Exception e) {}
              return s.trim();
       }

Here is the call graph for this function:

Here is the caller graph for this function:

static String rene.zirkel.objects.ConstructionObject.text2 ( String  format,
String  s1,
String  s2 
) [inline, static, inherited]

Definition at line 230 of file ConstructionObject.java.

       {      StringTokenizer t=tokenize(format);
              String s="Illegal Format";
              try
              {      s=t.nextToken()+s1+t.nextToken()+s2;
                     s=s+t.nextToken();
              }
              catch (Exception e) {}
              return s.trim();
       }

Here is the call graph for this function:

Here is the caller graph for this function: