a2dEllipse Class Reference
[a2dCanvasObject related objects]

a2dEllipse centered at x,y. More...

#include <canprim.h>

Inheritance diagram for a2dEllipse:

Inheritance graph
[legend]
Collaboration diagram for a2dEllipse:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 a2dEllipse (double xc, double yc, double width, double height, double contourwidth=0)
 constructor for ellipse
 a2dEllipse (const a2dEllipse &ori, CloneOptions options)
virtual a2dObjectClone (CloneOptions options) const
 This is here so that this class cannot be used directly.
virtual void DoSave (wxObject *parent, a2dIOHandlerXmlSerOut &out, a2dXmlSer_flag xmlparts, a2dObjectList *towrite)
 write object specific CVGL data
void DoLoad (wxObject *parent, a2dIOHandlerXmlSerIn &parser, a2dXmlSer_flag xmlparts)
 load object specific CVG data
a2dVertexListGetAsPolygon ()
a2dCanvasObjectList * GetAsCanvasVpaths (bool transform=true)
 when implemented the object without its children, is converted to
void SetContourWidth (double width)
 set the Contour width of the shape
double GetContourWidth () const
 get the Contour width of the shape
bool GeneratePins (a2dPinClass *toConnectTo, a2dConnectTask task, double x, double y)
 create pins in derived objects.

Protected Member Functions

virtual bool DoStartEdit (wxUint16 editmode, wxEditStyle editstyle)
 only used for editable objects and under control of a editing tool.
void DoRender (a2dIterC &ic, OVERLAP clipparent)
 render derived object
bool DoIsHitWorld (a2dIterC &ic, a2dHitEvent &hitEvent)
 Does hit test on the object (exclusif child objects).
a2dBoundingBox DoGetUnTransformedBbox (a2dBboxFlags flags=a2dCANOBJ_BBOX_NON) const
bool DoUpdate (UpdateMode mode, const a2dBoundingBox &childbox, const a2dBoundingBox &clipbox, const a2dBoundingBox &propbox)
 Update derived Object specific things ( mainly boundingbox).


Detailed Description

a2dEllipse centered at x,y.

Definition at line 1319 of file canprim.h.


Constructor & Destructor Documentation

a2dEllipse::a2dEllipse ( double  xc,
double  yc,
double  width,
double  height,
double  contourwidth = 0 
)

constructor for ellipse

Parameters:
xc x center
yc y center
width Width of ellipse.
height Heigth of ellipse.
contourwidth contour around rectangle.

Definition at line 3344 of file canprim.cpp.


Member Function Documentation

void a2dEllipse::DoLoad ( wxObject *  parent,
a2dIOHandlerXmlSerIn parser,
a2dXmlSer_flag  xmlparts 
) [virtual]

load object specific CVG data

todo ignore until this down here is fully converted.

Reimplemented from a2dWH.

Definition at line 3500 of file canprim.cpp.

a2dCanvasObjectList * a2dEllipse::GetAsCanvasVpaths ( bool  transform = true  )  [virtual]

when implemented the object without its children, is converted to

to a list of a2dVectorPath's. Else wxNullCanvasObjectList is returned.

Reimplemented from a2dWH.

Definition at line 3386 of file canprim.cpp.

bool a2dEllipse::GeneratePins ( a2dPinClass toConnectTo,
a2dConnectTask  task,
double  x,
double  y 
) [virtual]

create pins in derived objects.

When wanting to connect to shapes which at construction have no pins, but still make sence to connect too, this function generates pins for the object, when connection is asked for by a tool. This is via EditFeedBack()

The idea is to generate temporary pins for the tools, so the user sees where connection are possible.

Parameters:
toConnectTo the pinClass to which the generated pin must be able to connect.
task what/how to connect
x x position of mouse or pin which wants/needs connection
y y position of mouse or pin which wants/needs connection

Reimplemented from a2dCanvasObject.

Definition at line 3570 of file canprim.cpp.

bool a2dEllipse::DoStartEdit ( wxUint16  editmode,
wxEditStyle  editstyle 
) [protected, virtual]

only used for editable objects and under control of a editing tool.

If object is editable this function is used to initialize the object for editing. In general this means adding editing handles to the child list. In the event handling of the object those handles are hit and moved, the object itself is changed accordingly.

Returns:
true is this object can be edited and is initialized for that.

Todo:
edit of bbox ( children or not included )

Reimplemented from a2dWH.

Definition at line 3559 of file canprim.cpp.

void a2dEllipse::DoRender ( a2dIterC ic,
OVERLAP  clipparent 
) [protected, virtual]

render derived object

if the object has sub objects (apart from the childobject which are handled here), those subobject most rendered by iterating on layer when needed/wanted, simular to child objects. We do not iterate here, since that is only needed if indeed there or subobjects. This will be know in a "wxDerivedCanvasObject DoRender".

SO parent objects that call this function, must:

  • 1- clip object against area to redraw.
  • 2- iterate on layers when needed.
A a2dCanvasObject is rendered as a + (plus sign) when there or no children.

Reimplemented from a2dCanvasObject.

Definition at line 3470 of file canprim.cpp.

bool a2dEllipse::DoIsHitWorld ( a2dIterC ic,
a2dHitEvent hitEvent 
) [protected, virtual]

Does hit test on the object (exclusif child objects).

DoIsHitWorld() should return the way the object is hit by filling a2dHitEvent::m_how with the correct info.

Parameters:
ic iterative context ( e.g. current transform WITH the local transform applied )
hitEvent stores hit information
Returns:
true if hit

Reimplemented from a2dWH.

Definition at line 3513 of file canprim.cpp.

bool a2dEllipse::DoUpdate ( UpdateMode  mode,
const a2dBoundingBox childbox,
const a2dBoundingBox clipbox,
const a2dBoundingBox propbox 
) [protected, virtual]

Update derived Object specific things ( mainly boundingbox).

Calculates the boundingbox of the object (exclusif base class child objects but with other nested objects).

Parameters:
mode way to update the objects
childbox size of children boundingbox
clipbox clip to this
propbox size of properties boundingbox
Remarks:
in a derived class this function can also be used to update object specific cache data.

force may or may not have direct influence on the object itself, if this function is called directly for some reason (e.g from derived objects), you must invalidate the boudingbox yourself. GetDrawerBox()->SetValid( false );

Reimplemented from a2dWH.

Definition at line 3442 of file canprim.cpp.


The documentation for this class was generated from the following files:
a2dEllipse Class Reference -- Tue Aug 31 18:26:19 2010 -- 31 Aug 2010 -- 1.5.5 -- wxArt2D -- . -- Main Page Reference Documentation