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_