00001
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00033
00034 #ifndef GROOVX_VISX_MORPHYFACE_H_UTC20050626084015_DEFINED
00035 #define GROOVX_VISX_MORPHYFACE_H_UTC20050626084015_DEFINED
00036
00037 #include "gfx/gxshapekit.h"
00038
00040
00046
00047
00048 class MorphyFace : public GxShapeKit
00049 {
00051
00053
00054 protected:
00056 MorphyFace();
00057
00058 public:
00060 static MorphyFace* make();
00061
00063 virtual ~MorphyFace () throw();
00064
00065 virtual io::version_id class_version_id() const;
00066 virtual void read_from(io::reader& reader);
00067 virtual void write_to(io::writer& writer) const;
00068
00070
00072
00073 virtual int category() const { return itsMfaceCategory; }
00074 virtual void setCategory(int val) { itsMfaceCategory = val; }
00075
00076 private:
00079 int itsMfaceCategory;
00080
00081 double itsFaceWidth;
00083 double itsTopWidth;
00085 double itsBottomWidth;
00087 double itsTopHeight;
00089 double itsBottomHeight;
00091
00092 double itsHairWidth;
00094 int itsHairStyle;
00096
00097 double itsEyeYpos;
00099 double itsEyeDistance;
00101 double itsEyeHeight;
00103 double itsEyeAspectRatio;
00105
00106 double itsPupilXpos;
00108 double itsPupilYpos;
00110 double itsPupilSize;
00112 double itsPupilDilation;
00114
00115 double itsEyebrowXpos;
00117 double itsEyebrowYpos;
00119 double itsEyebrowCurvature;
00121 double itsEyebrowAngle;
00123 double itsEyebrowThickness;
00125
00126 double itsNoseXpos;
00128 double itsNoseYpos;
00130 double itsNoseLength;
00132 double itsNoseWidth;
00134
00135 double itsMouthXpos;
00137 double itsMouthYpos;
00139 double itsMouthWidth;
00141 double itsMouthCurvature;
00143
00144 double itsStrokeWidth;
00146 bool itsLineJoin;
00148
00149 public:
00150 static const FieldMap& classFields();
00151
00152 protected:
00153 virtual void grGetBoundingBox(Gfx::Bbox& bbox) const;
00154
00155 virtual void grRender(Gfx::Canvas& canvas) const;
00156
00157 private:
00158 MorphyFace(const MorphyFace&);
00159 MorphyFace& operator=(const MorphyFace&);
00160 };
00161
00162 static const char __attribute__((used)) vcid_groovx_visx_morphyface_h_utc20050626084015[] = "$Id: morphyface.h 10065 2007-04-12 05:54:56Z rjpeters $ $HeadURL: file:
00163 #endif // !GROOVX_VISX_MORPHYFACE_H_UTC20050626084015_DEFINED