carmetal.objects
Class PointonObjectIntersectionObject

java.lang.Object
  extended by carmetal.objects.ConstructionObject
      extended by carmetal.objects.PointObject
          extended by carmetal.objects.IntersectionObject
              extended by carmetal.objects.PointonObjectIntersectionObject
All Implemented Interfaces:
DriverObject, MoveableObject, carmetal.rene.lister.Element, carmetal.rene.util.sort.SortObject, Cloneable

public class PointonObjectIntersectionObject
extends IntersectionObject

An intersection between two object that can bind points on them. The intersection is computed by projecting the point to both objects and predicting the intersection point.


Field Summary
 double Eps
           
 
Fields inherited from class carmetal.objects.IntersectionObject
Alternate, Away, First, P1, P2, Restricted, StayAway, Switched
 
Fields inherited from class carmetal.objects.PointObject
Alpha, AlphaValid, BarycentricCoordsInitialzed, CIRCLE, CROSS, DCROSS, DIAMOND, DOT, EX, EY, Fixed, Gx, Gy, MaxType, Moveable, MovedBy, SQUARE, Type, UseAlpha, VirtualBound, X, Y
 
Fields inherited from class carmetal.objects.ConstructionObject
Back, Bold, Break, BreakHide, C, Cn, ColorIndex, ColorType, Conditionals, Count, DescriptionState, DisplaysText, DL, Flag, FormulaState, gotNCount, HasZ, Hidden, HideBreak, inConstruction, Indicated, INVISIBLE, IsDrawn, JobTarget, Keep, KeepClose, LabelSelected, Large, MainParameter, Name, NCount, NeedsRecompute, NORMAL, Obtuse, Parameter, RekFlag, RekValidating, Scratch, Selectable, Selected, ShowIndicatedName, ShowName, ShowValue, SizeState, Solid, SpecialColor, SpecialParameter, StrongSelected, SuperHidden, Target, Text, THICK, THIN, Tracked, Translation, TX1, TX2, TY1, TY2, Unit, Valid, Value, VRek, XcOffset, YcOffset
 
Constructor Summary
PointonObjectIntersectionObject(carmetal.construction.Construction c, ConstructionObject p1, ConstructionObject p2)
           
 
Method Summary
 boolean moveable()
           
 void printArgs(carmetal.rene.util.xml.XmlWriter xml)
           
 double projectOnce()
           
 void validate()
          Troublesome function to intersect two objects.
 void validate(double x, double y)
           
 
Methods inherited from class carmetal.objects.IntersectionObject
autoAway, away, canAlternate, depending, doSwitch, getAway, getN, getTag, isAlternate, isFirst, isRestricted, isSwitchable, isSwitched, nearto, setAlternate, setAway, setAway, setFirst, setRestricted, stayAway, switchBack, translate, updateText
 
Methods inherited from class carmetal.objects.PointObject
addMagnetObject, alea, canKeepClose, changedBy, clearBoundOrder, clearChanges, clearMagnetObjects, computeBarycentricCoords, copy, dependsOnItselfOnly, dependsOnParametersOnly, distanceTo, dontUpdate, dontUpdate, dragTo, drawPoint, equals, fixed, followMagnetObject, getAlpha, getBound, getBoundOrder, getCDPDisplayValue, getCurrentMagnetObject, getDisplayValue, getDistance, getEX, getEY, getIncrement, getMagnetObjects, getMagnetObjectsString, getMagnetRay, getMagnetRayExp, getOldX, getOldY, getType, getX, getY, haveBoundOrder, insidewindow, insidewindow, isDriverObject, isInside, isMagnet, isOn, isPointOn, isPointOnOrMagnet, laterBind, magnet, move, moveableBy, moveablePoint, movedBy, nearto, paint, printType, project, project, removeMagnetObject, round, selectMagnetObjects, setA, setAlpha, setBound, setBound, setBoundOrder, setCurrentMagnetObject, setDefaults, setFixed, setFixed, setHalfIncrement, setIncrement, setInside, setKeepClose, setLaterBind, setMagnetObjects, setMagnetRayExp, setMoveable, setName, setNameWithNumber, setPointLabel, setTargetDefaults, setType, setUseAlpha, setXY, setXYaway, shake, snap, somethingChanged, startDrag, translateMagnetObjects, updateCircleDep, updateMagnetObjects, useAlpha, validCoordinates
 
Methods inherited from class carmetal.objects.ConstructionObject
addConditional, addDepInExpressions, canDisplayName, canFix, checkConditionals, clearCircleDep, clearConditional, clearConditionals, clearParameter, compare, contains, copyProperties, dependsOn, depset, depset, depset, discardMV, displays, drawCenteredLabel, drawLabel, drawLabel, drawPointLabel, edit, equals, equalsTo, getAlias, getCDPSizeDisplay, getColor, getColorIndex, getColorIndex, getColorType, getColorType, getConditional, getConditionalColor, getConstruction, getDepArray, getDescription, getDisplaySize, getDisplayText, getE, getElementColor, getElementString, getElementString, getEquation, getEXpos, getExpression, getEYpos, getLines, getMax, getMin, getName, getNCount, getObtuse, getPointObject, getPrompt, getR, getSpecialColor, getStringLength, getText, getTranslation, getUnit, getValue, getVector, getZ, hasUnit, haveConditional, haveConditionals, helpDisplayNumber, helpDisplayValue, indicated, isBack, isBack, isBold, isBreak, isBreakHide, isDragable, isFilled, isFilledForSelect, isFixed, isFlag, isGotNCount, isHidden, isHidden, isHideBreak, isInConstruction, isJobTarget, isKeep, isKeepClose, isLarge, isMainParameter, isOwnedByControl, isParameter, isPartial, isRekFlag, isSelectable, isSlider, isSolid, isSolid, isSpecial, isSpecialParameter, isStrongSelected, isSuperHidden, isSuperHidden, isTarget, labelSelected, laterTranslate, locallyLike, maybeTransparent, mustHide, nearto, onlynearto, replaceExpressions, round, round, roundDisplay, save, secondaryParams, selected, setAlias, setBack, setBold, setBreak, setBreakHide, setcOffset, setColor, setColor, setColorType, setConstruction, setDisplaySize, setDragable, setExpression, setFilled, setFixed, setFixed, setFlag, setFont, setGotNCount, setHidden, setHideBreak, setInConstruction, setIndicated, setIndicated, setJobTarget, setKeep, setKeepClose, setLabelSelected, setLarge, setLines, setMainParameter, setName, setNameCheck, setNCount, setObtuse, setOffset, setOwnedByControl, setParameter, setPartial, setPrompt, setRekFlag, setSelectable, setSelected, setShowName, setShowValue, setSlider, setSlider, setSolid, setSpecial, setSpecialColor, setSpecialParameter, setStrongSelected, setSuperHidden, setTarget, setText, setText, setTracked, setTranslation, setUnit, showName, showName, showValue, showValue, testConditional, text1, text2, text3, text4, textAny, textcontains, toggleHidden, tracked, translateConditionals, translateExpressions, translateOffset, valid, visible, xcOffset, ycOffset
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

Eps

public double Eps
Constructor Detail

PointonObjectIntersectionObject

public PointonObjectIntersectionObject(carmetal.construction.Construction c,
                                       ConstructionObject p1,
                                       ConstructionObject p2)
Method Detail

validate

public void validate(double x,
                     double y)
Overrides:
validate in class IntersectionObject

printArgs

public void printArgs(carmetal.rene.util.xml.XmlWriter xml)
Overrides:
printArgs in class IntersectionObject

validate

public void validate()
Troublesome function to intersect two objects. This is done by projecting the intersection point to each of the objects in turn. To speed up the convergence, a line intersection is computed, where the lines approximate the objects.

Overrides:
validate in class IntersectionObject

projectOnce

public double projectOnce()

moveable

public boolean moveable()
Specified by:
moveable in interface MoveableObject
Overrides:
moveable in class PointObject


© Copyright 2005 S.Chekanov. All Rights Reserved.
jHPlot package, a part of jHepWork: is a full-featured multiplatform data-analysis framework