contrib/oxl/osl/osl_edgel_chain.h
Go to the documentation of this file.
00001 // This is oxl/osl/osl_edgel_chain.h
00002 #ifndef osl_edgel_chain_h_
00003 #define osl_edgel_chain_h_
00004 #ifdef VCL_NEEDS_PRAGMA_INTERFACE
00005 #pragma interface
00006 #endif
00007 // .NAME osl_edgel_chain
00008 // .INCLUDE osl/osl_edgel_chain.h
00009 // .FILE osl_edgel_chain.cxx
00010 // \author fsm
00011 
00012 #include <vcl_iosfwd.h>
00013 
00014 struct osl_edgel_chain
00015 {
00016   unsigned int n;
00017   float *x, *y, *grad, *theta;
00018 
00019   osl_edgel_chain();
00020   osl_edgel_chain(unsigned int n_);
00021   osl_edgel_chain(osl_edgel_chain const &);
00022   osl_edgel_chain& operator=(osl_edgel_chain const &);
00023   ~osl_edgel_chain();
00024   void SetLength(unsigned int);
00025 
00026   float  GetGrad(unsigned int i) const;
00027   float *GetGrad() const;
00028   float  GetTheta(unsigned int i) const;
00029   float *GetTheta() const;
00030   float  GetX(unsigned int i) const;
00031   float *GetX() const;
00032   float  GetY(unsigned int i) const;
00033   float *GetY() const;
00034   void SetGrad(float v, unsigned int i);
00035   void SetTheta(float v, unsigned int i);
00036   void SetX(float v, unsigned int i);
00037   void SetY(float v, unsigned int i);
00038   unsigned int size() const;
00039   //
00040   void write_ascii(vcl_ostream &) const;
00041   void read_ascii(vcl_istream &);
00042 };
00043 
00044 #endif // osl_edgel_chain_h_