WT_Polygon Class Reference
[Drawable objects]

#include <polygon.h>

Inheritance diagram for WT_Polygon:

Inheritance graph
[legend]
Collaboration diagram for WT_Polygon:

Collaboration graph
[legend]
List of all members.

Detailed Description

A drawable describing a filled polygon.

Under the hood, this object serializes as a polyline, but with the WT_Fill rendition attribute set.

Warning:
Always define polygon vertices in a clockwise winding.
See also:
WT_Rendition
Examples:

WhipExamples/FillPattern.cpp, WhipExamples/Polygon.cpp, and WhipExamples/Visibility.cpp.

Definition at line 42 of file polygon.h.

Public Member Functions

 WT_Polygon ()
 Constructs a WT_Polygon object.
 WT_Polygon (int count, WT_Logical_Point const *points, WT_Boolean copy) throw (WT_Result)
 Constructs a WT_Polygon object from the given data.
 WT_Polygon (const WT_Polygon &pline) throw (WT_Result)
 Constructs a WT_Polygon object. Copy constructor.
virtual ~WT_Polygon ()
 Destroys a WT_Polygon object.
WT_Polygon const & operator= (const WT_Polygon &polygon) throw (WT_Result)
 Assignment operator. Assigns the data from the given polygon to this one.
WT_ID object_id () const
 Returns the WT_ID for this object.
WT_Result materialize (WT_Opcode const &opcode, WT_File &file)
 Materializes the contents of the object from the file and the given opcode.
WT_Result serialize (WT_File &file) const
 Causes the serialization of the object to the file.
WT_Result skip_operand (WT_Opcode const &opcode, WT_File &file)
 Causes the file reading to proceed to the end of this object.
WT_Result process (WT_File &file)
 Calls the configured action handler for this object (passes in the file reference.).
virtual void update_bounds (WT_File *file)
 Forces the drawable bounds to be updated.

Static Public Member Functions

static WT_Result default_process (WT_Polygon &item, WT_File &file)
 Provides a default action handler for this object.

Friends

class WT_W2D_Class_Factory
class WT_Opcode


Constructor & Destructor Documentation

WT_Polygon::WT_Polygon int  count,
WT_Logical_Point const *  points,
WT_Boolean  copy
throw (WT_Result) [inline]
 

Constructs a WT_Polygon object from the given data.

Parameters:
count  The number of points in the array.
points  Pointer to the array of points.
copy  Whether the points should be copied or if their addresses should be used directly from the array.

Definition at line 54 of file polygon.h.


Member Function Documentation

static WT_Result WT_Polygon::default_process WT_Polygon item,
WT_File file
[static]
 

Provides a default action handler for this object.

Warning:
This is used by the framework and should not be called by client code.
Parameters:
item  The object to process.
file  The file being read.

WT_Result WT_Polygon::materialize WT_Opcode const &  opcode,
WT_File file
[virtual]
 

Materializes the contents of the object from the file and the given opcode.

Reads in the object data and causes the file reading to proceed to the end of this object.

Warning:
This is used by the framework and should not be called by client code.
Return values:
WT_Result::Success The operation was successful.
WT_Result::Opcode_Not_Valid_For_This_Object The object does not support the opcode type.
WT_Result::Internal_Error Something went very wrong.

Implements WT_Object.

WT_Polygon const& WT_Polygon::operator= const WT_Polygon polygon  )  throw (WT_Result) [inline]
 

Assignment operator. Assigns the data from the given polygon to this one.

Note:
If the incoming polygon's points are not copied, i.e. it is directly using client memory, then the new polygon will do the same.

Definition at line 76 of file polygon.h.

WT_Result WT_Polygon::process WT_File file  )  [virtual]
 

Calls the configured action handler for this object (passes in the file reference.).

Warning:
This is used by the framework and should not be called by client code.

Implements WT_Object.

WT_Result WT_Polygon::serialize WT_File file  )  const [virtual]
 

Causes the serialization of the object to the file.

If this is a WT_Drawable derived object, this method may cause the object to be delayed (in case a coincident like-object follows) and/or merged (in case a coincident like-object preceeded) so as to optimize the output.

Return values:
WT_Result::Success The operation was successful.

Implements WT_Object.

Examples:
WhipExamples/FillPattern.cpp, WhipExamples/Polygon.cpp, and WhipExamples/Visibility.cpp.

WT_Result WT_Polygon::skip_operand WT_Opcode const &  opcode,
WT_File file
[virtual]
 

Causes the file reading to proceed to the end of this object.

Warning:
This is used by the framework and should not be called by client code.
Bug:
Not all objects perform skip_operand() correctly; this is a known problem. For best results, if client code must use WT_File::get_next_object_shell() manually, it should also call the corresponding WT_Object::materialize() method to avoid this problem.
See also:
WT_File::get_next_object_shell(), WT_File_Heuristics::set_deferred_delete().

Reimplemented from WT_Object.


The documentation for this class was generated from the following file:
Generated on Tue Jan 6 22:41:24 2009 for Autodesk DWF Whip 2D Toolkit by  doxygen 1.4.5