InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ICurveFitCmdData.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Tashana Landray
6 //
7 // $Author$
8 //
9 // $DateTime$
10 //
11 // $Revision$
12 //
13 // $Change$
14 //
15 // Copyright 1997-2010 Adobe Systems Incorporated. All rights reserved.
16 //
17 // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance
18 // with the terms of the Adobe license agreement accompanying it. If you have received
19 // this file from a source other than Adobe, then your use, modification, or
20 // distribution of it requires the prior written permission of Adobe.
21 //
22 //========================================================================================
23 
24 #ifndef __ICurveFitCmdData__
25 #define __ICurveFitCmdData__
26 
27 #include "IPMUnknown.h"
28 #include "IPathGeometry.h"
29 
31 {
32 public:
33  virtual void Set ( const UIDRef& outputItem, // resulting path(s)
34 
35  const PMReal& pointTolerance, // Fidelity tolerance (in the units of the input data).
36  // The smaller the number the tighter the fit and the more segments you'll have.
37 
38  const PMReal& cornerTolerance, // Corner angle threshold in degrees. 180 turns off corner finding.
39 
40  const PMReal& smoothingTolerance, // controls smoothing. Use 0 to turn smoothing off. Smoothing tolerances
41  // are typically specified in decibels, where the ranges 0 to 40,
42  // 40 to 80 and 80 to 120 dbs correspond to large, moderate and small
43  // amounts of smoothing. For interactive smothing of small bumps or
44  // flat spots on curves, I use about 50 to 60 dbs.
45 
46  const int16 noiseFilterLevel // number of passes through a guassian noise filter before smoothing.
47  // For data digitized from the mouse or a tablet, I use 4. This value
48  // is an integer in the range 0 to about 12. 0 turns off denoising. A
49  // value too large will cause the corner finder to fail, because sharp
50  // corners will have a tendency to be seen as noise and be removed.
51  ) = 0;
52 
53  virtual const UIDRef& GetOutputItem() const = 0;
54  virtual const PMReal& GetPointTolerance() const = 0; //Also called Fidelity
55  virtual const PMReal& GetCornerTolerance() const = 0;
56  virtual const PMReal& GetSmoothingTolerance() const = 0;
57  virtual const int16 GetNoiseFilterLevel() const = 0;
58 };
59 
60 #endif