| 
 |  | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjpicedt.graphic.model.AbstractElement
jpicedt.graphic.model.AbstractCurve
jpicedt.graphic.model.PicPsCurve
public class PicPsCurve
A multicurve, either closed or not, going through a set of control points. This is the implementation of the (somewhat obscure) pstricks \pscurve function. There are three coefficients a,b,c altering the curvature.
| Nested Class Summary | 
|---|
| Nested classes/interfaces inherited from class jpicedt.graphic.model.AbstractCurve | 
|---|
| AbstractCurve.CtrlPtSubsetAbstractCurve, AbstractCurve.CurveToSegment, AbstractCurve.EndSegment, AbstractCurve.LineToSegment, AbstractCurve.PointType, AbstractCurve.Segment | 
| Field Summary | |
|---|---|
| protected static int | A_SLIDER_MAXMax value of curvature coefficient accessible to Jsliderin the geometry editor | 
| protected static int | A_SLIDER_MINMin value of curvature coefficient accessible to JSliderin the geometry editor | 
| protected static int | B_SLIDER_MAX | 
| protected static int | B_SLIDER_MIN | 
| protected static int | C_SLIDER_MAX | 
| protected static int | C_SLIDER_MIN | 
| protected  double | curvatureACurvature parameters a,b,c of pscurve. | 
| protected  double | curvatureB | 
| protected  double | curvatureC | 
| protected static double | DEFAULT_CURVATURE_Adefault values for the curvature parameters | 
| protected static double | DEFAULT_CURVATURE_B | 
| protected static double | DEFAULT_CURVATURE_C | 
| protected  ArrayList<PicPoint> | polygonPtsAn array of PicPoint's backing the geometry of the polygon. | 
| Fields inherited from class jpicedt.graphic.model.AbstractCurve | 
|---|
| bezierPts, isClosed | 
| Fields inherited from class jpicedt.graphic.model.AbstractElement | 
|---|
| attributeSet, name, parent, view | 
| Constructor Summary | |
|---|---|
| PicPsCurve()Create a new empty open pscurve, with a default attribute set. | |
| PicPsCurve(boolean closed)Create a new empty pscurve, open or closed, with a default attribute set bound to it. | |
| PicPsCurve(boolean closed,
           PicAttributeSet set)Create a new empty pscurve with the given attribute set. | |
| PicPsCurve(PicPoint[] polyPts,
           boolean closed,
           double a,
           double b,
           double c,
           PicAttributeSet set)Create a new pscurve initialized from the given array of PicPoint's. | |
| PicPsCurve(PicPoint[] polygonPts,
           boolean closed,
           PicAttributeSet set)Create a new pscurve initialized from the given array of PicPoint's, using the default curvature values. | |
| PicPsCurve(PicPsCurve poly)"cloning" constructor (to be used by clone()) | |
| Method Summary | |
|---|---|
|  void | addPoint(int ptIndex,
         PicPoint pt)Inserts the specified point at the specified index. | 
|  void | addPoint(PicPoint pt)adds the given point at the end of this pscurve. | 
|  PicPsCurve | clone()Overide Object.clone() method | 
|  PicMultiCurve | convertToMultiCurve()Convert this PicPsCurve to a PicMultiCurve, by simply relying on the appropriate constructor in class PicMultiCurve. | 
|  ArrayList<PEAction> | createActions(ActionDispatcher actionDispatcher,
              ActionLocalizer localizer,
              HitInfo hi)Create an array of Action's related to this object | 
|  AbstractCustomizer | createCustomizer()Returns a Customizer for geometry editing | 
|  Rectangle2D | getBoundingBox(Rectangle2D r)Returns the bounding box (ie the surrounding rectangle) in double precision This implementation compute the bb from the union of : the bb as computed by super-class and the smallest rectangle that encompasses all the polygon-points. | 
|  PicPoint | getCtrlPt(int numPoint,
          PicPoint dest)Return a copy of the user-controlled point (ie a polygon point, not a bezier point) having the given index. | 
|  double[] | getCurvatures()Return an array containing the three curvature coefficients in an array, namely [a b c]. | 
|  String | getDefaultName() | 
|  PicPoint[] | getFinalControlCurve()Return the 4 Bezier points of the final prolongation of the PicPsCurve. | 
|  int | getFirstPointIndex()Returns the index of the first user-controlled point that can be retrieved by getCtrlPt(). | 
|  PicPoint[] | getInitialControlCurve()Returns the 4 Bezier points of the initial prolongation of the PicPsCurve. | 
|  int | getLastPointIndex()Returns the index of the last user-controlled point that can be retrieved by getCtrlPt(). | 
| protected  PicPoint | getPolygonPt(int numPoint)Return a reference to the polygon point with the given index. | 
|  void | mirror(PicPoint ptOrg,
       PicVector normalVector)Effectue une réflexion sur thisrelativement à l'axe
 défini parptOrgetnormalVector. | 
|  void | removeLastPoint()Remove the last point of this PicPsCurve. | 
|  void | removePoint(int pos)Remove a point at the given position from this PicPsCurve, then fire a
 changed-update. | 
|  void | rotate(PicPoint ptOrg,
       double angle)Rotate this Element by the given angle along the given point | 
|  void | scale(double ptOrgX,
      double ptOrgY,
      double sx,
      double sy,
      UserConfirmationCache ucc)Scale this object by (sx,sy)using(ptOrgX,ptOrgY)as the origin. | 
|  void | setClosed(boolean state)Set close path state, then fires a changed-update. | 
|  void | setCtrlPt(int index,
          PicPoint pt,
          EditPointConstraint constraint)Set the user-controlled point with the given index to the given value. | 
|  void | shear(PicPoint ptOrg,
      double shx,
      double shy,
      UserConfirmationCache ucc)Shear this Elementby the given params wrt to the given origin | 
|  int | splitSegment(int segIdx,
             PicPoint pt)Split the given polygon segment (starting from 0), by inserting a new polygon point at the appropriate position. | 
|  String | toString()Used for debugging purpose. | 
|  void | translate(double dx,
          double dy)Translate this Elementby (dx,dy) ; this implementation translates the
 specification-points, then fires a changed-update event. | 
| Methods inherited from class jpicedt.graphic.model.AbstractElement | 
|---|
| anchorPointsIterator, fireChangedUpdate, getAttribute, getAttributeSet, getDrawing, getName, getParent, getView, pullOutOfGroup, removeView, replaceBy, scale, scale, scale, setAttribute, setAttributeSet, setCtrlPt, setName, setParent, setViewFromFactory, shear | 
| Methods inherited from class java.lang.Object | 
|---|
| equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait | 
| Methods inherited from interface jpicedt.graphic.model.Element | 
|---|
| anchorPointsIterator, createShape, getAttribute, getAttributeSet, getCtrlPtSubset, getDrawing, getName, getParent, getView, removeView, replaceBy, scale, scale, scale, setAttribute, setAttributeSet, setCtrlPt, setParent, setViewFromFactory, shear, syncArrowGeometry | 
| Field Detail | 
|---|
protected ArrayList<PicPoint> polygonPts
PicPoint's backing the geometry of the polygon.
 Aka caching mechanism holding a list of user-controlled points.
protected double curvatureA
protected double curvatureB
protected double curvatureC
protected static final double DEFAULT_CURVATURE_A
protected static final double DEFAULT_CURVATURE_B
protected static final double DEFAULT_CURVATURE_C
protected static final int A_SLIDER_MIN
JSlider in the geometry editor
protected static final int B_SLIDER_MIN
protected static final int C_SLIDER_MIN
protected static final int A_SLIDER_MAX
Jslider in the geometry editor
protected static final int B_SLIDER_MAX
protected static final int C_SLIDER_MAX
| Constructor Detail | 
|---|
public PicPsCurve()
public PicPsCurve(boolean closed)
closed - whether the pscurve will be closed or not
public PicPsCurve(boolean closed,
                  PicAttributeSet set)
set - attribute set to be bound to this elementclosed - whether the generated multi-curve will be closed or not
public PicPsCurve(PicPoint[] polyPts,
                  boolean closed,
                  double a,
                  double b,
                  double c,
                  PicAttributeSet set)
polyPts - array of PicPoint's specifying the pscurve geometry.set - attribute set to be bound to this elementclosed - whether the generated multi-curve will be closed or nota - the a-curvature valueb - the b-curvature valuec - the c-curvature value
public PicPsCurve(PicPoint[] polygonPts,
                  boolean closed,
                  PicAttributeSet set)
polygonPts - array of PicPoint's specifying the polygon geometry.set - attribute set to be bound to this elementclosed - whether the generated multi-curve will be closed or notpublic PicPsCurve(PicPsCurve poly)
poly - PicPsCurve to be cloned| Method Detail | 
|---|
public PicPsCurve clone()
clone in interface Elementclone in class AbstractElementpublic String getDefaultName()
getDefaultName in class AbstractElementpublic int getFirstPointIndex()
getCtrlPt().
 This implementation returns 0.
getFirstPointIndex in interface Elementpublic int getLastPointIndex()
getCtrlPt().
 This default implementation returns the number of polygon-points minus one.
getLastPointIndex in interface Element
public PicPoint getCtrlPt(int numPoint,
                          PicPoint dest)
getBezierPt() in super class.
getCtrlPt in interface ElementnumPoint - the point index, should be greater or equal to the value returned by
        getFirstPointIndex, and lower or equal to getLastPointIndex.
numPoint ;
         if dest is null, allocates a new PicPoint and return it,
         otherwise directly modifies dest and returns it as well for convenience.protected final PicPoint getPolygonPt(int numPoint)
getCtrlPt(int,PicPoint), except that a mere reference is returned.
public void translate(double dx,
                      double dy)
Element by (dx,dy) ; this implementation translates the
 specification-points, then fires a changed-update event.
translate in interface Elementtranslate in class AbstractCurvedx - The X coordinate of translation vectordy - The Y coordinate of translation vector
public void scale(double ptOrgX,
                  double ptOrgY,
                  double sx,
                  double sy,
                  UserConfirmationCache ucc)
(sx,sy) using (ptOrgX,ptOrgY) as the origin. This
 implementation simply apply a scaling transform to all specification-points.  Note that sx
 and sy may be negative.  This method eventually fires a changed-update event.
scale in interface Elementscale in class AbstractCurveucc - une valeur UserConfirmationCache permettant de demander à l'utilisateur
 confirmation, de se souvenir de la dernière confirmation qu'il a donné, ou de ses préférences.
public void rotate(PicPoint ptOrg,
                   double angle)
rotate in interface Elementrotate in class AbstractCurveangle - rotation angle in radians
public void mirror(PicPoint ptOrg,
                   PicVector normalVector)
this relativement à l'axe
 défini par ptOrg et normalVector.
mirror in interface Elementmirror in class AbstractCurveptOrg - le PicPoint par lequel passe l'axe de réflexion.normalVector - le PicVector normal à l'axe de réflexion.
public void shear(PicPoint ptOrg,
                  double shx,
                  double shy,
                  UserConfirmationCache ucc)
Element by the given params wrt to the given origin
shear in interface Elementshear in class AbstractCurveucc - une valeur UserConfirmationCache permettant de demander à l'utilisateur
 confirmation, de se souvenir de la dernière confirmation qu'il a donné, ou de ses préférences.
public void setCtrlPt(int index,
                      PicPoint pt,
                      EditPointConstraint constraint)
setCtrlPt in interface ElementsetCtrlPt in class AbstractCurveconstraint - not used so farpublic void addPoint(PicPoint pt)
addPoint in class AbstractCurve
public void addPoint(int ptIndex,
                     PicPoint pt)
public int splitSegment(int segIdx,
                        PicPoint pt)
splitSegment in class AbstractCurvesegIdx - index of the polygon segment that must be split.pt - the PicPoint to be added
public void removePoint(int pos)
PicPsCurve, then fire a
 changed-update. This shifts any subsequent points to the left.Nothing is done if this polygon has only one point.
removePoint in class AbstractCurvepos - index of point to be removedpublic void removeLastPoint()
removePoint(polygonPts.size()-1)
public PicMultiCurve convertToMultiCurve()
PicMultiCurve.
convertToMultiCurve in interface PicMultiCurveConvertablepublic PicPoint[] getInitialControlCurve()
PicPsCurve.
 Used to draw the dotted control line when highlighted.
public PicPoint[] getFinalControlCurve()
PicPsCurve.
 Used to draw the dotted control line when highlighted.
public void setClosed(boolean state)
setClosed in class AbstractCurvestate - The new closed valueAbstractCurve.isClosed()public double[] getCurvatures()
public Rectangle2D getBoundingBox(Rectangle2D r)
getBoundingBox in interface ElementgetBoundingBox in class AbstractCurvepublic String toString()
toString in class AbstractCurve
public ArrayList<PEAction> createActions(ActionDispatcher actionDispatcher,
                                         ActionLocalizer localizer,
                                         HitInfo hi)
createActions in interface ActionFactorycreateActions in class AbstractCurveactionDispatcher - dispatches events to the proper PECanvaslocalizer - i18n localizer for PEAction'shi - une HitInfo contenant les informations relatives à l'évènement-souris qui a
 déclencher le menu contextuel.public AbstractCustomizer createCustomizer()
AbstractCurve
createCustomizer in interface CustomizerFactorycreateCustomizer in class AbstractCurve| 
 |  | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||