claraty Namespace Reference
[Data Structure]
Classes | |
| struct | GUID_1394 |
| class | N_2D_Array |
| class | N_2D_Array_Iterator |
| class | N_2D_Array_const_Iterator |
| class | N_1D_Array |
| class | Bits |
| class | Camera |
| class | Camera_Group |
| class | A_Camera |
| class | Camera_Model |
| struct | Camera_Image_Properties |
| class | Camera_Image |
| class | A_Camera_Model |
| class | FDM |
| class | FDM_Node |
| class | FDM_Stream |
| class | FDM_Untyped_Node |
| class | FDM_Map |
| class | FDM_Array |
| class | FDM_Singleton |
| class | Parse_Tree_Data |
| class | Parse_Tree |
| class | FDM_Parse_Tree |
| class | File_FDM_Parse_Tree |
| class | XML_Out |
| class | Device |
| class | Device_Group |
| class | Power_Switch |
| class | N_3D_Object |
| class | Bounding_Shape |
| class | Composite_Bounding_Shape |
| class | Image |
| class | Image_IO |
| class | Image_IO_Pgm_Simple |
| class | RGB_Image_IO |
| class | Image_IO_Factory |
| class | Image_Op |
| class | Convolve_Op |
| class | Rescale_Op |
| class | Gradient_Op |
| class | Transform_Op |
| class | Resample_Op |
| class | Non_Maxima_Sup_Op |
| class | Gamma_Op |
| class | DIO |
| class | DIO_impl |
| class | CDIO |
| class | DIO_null |
| class | DIO_sim |
| class | AO |
| class | AO_impl |
| class | AI |
| class | AI_impl |
| class | AI_impl_null |
| class | Matrix |
| class | Vector |
| class | Matrix_NxM |
| class | Unit_Vector |
| class | Matrix_LU |
| class | Matrix_SVD |
| class | Mechanism_Model |
| struct | Inertia |
| class | Mass_Properties |
| class | Display_Graphics |
| class | ME_Body |
| class | Joint_Limits |
| class | Joint_Stiffness |
| class | Joint_Constraint |
| class | ME_Joint |
| class | Frame |
| class | Mechanism_Model_IO |
| class | Mass_Properties_IO |
| class | N_3D_Object_IO |
| class | Bounding_Shape_IO |
| class | Display_Graphics_IO |
| class | ME_Body_IO |
| class | ME_Joint_IO |
| class | Frame_IO |
| class | Transform_IO |
| struct | Nelder_Mead_Ptr_Fun |
| class | N_1D_Function_Solver |
| class | ND_Function_Minimizer |
| struct | cl_simple_function |
| struct | cl_unary_function |
| struct | cl_binary_function |
| class | cl_binder2nd |
| class | cl_binder |
| struct | cl_plus |
| struct | cl_minus |
| struct | cl_multiplies |
| struct | cl_divides |
| struct | cl_min_op |
| struct | cl_max_op |
| struct | cl_round |
| struct | cl_left_shift |
| struct | cl_right_shift |
| struct | cl_bit_and |
| struct | cl_bit_or |
| struct | cl_bit_xor |
| struct | cl_bit_not |
| struct | cl_abs_op |
| struct | cl_sumsq_op |
| struct | cl_rms_op |
| struct | cl_lessthan_op |
| struct | cl_lessthan_equal_op |
| struct | cl_greaterthan_op |
| struct | cl_greaterthan_equal_op |
| struct | VFunctor0 |
| struct | VFunctor0_const |
| struct | VFunctor1 |
| struct | VFunctor2 |
| class | Semaphore |
| class | Timer |
| class | BG_Task |
| class | bg_helper |
| class | bg_void_helper |
| class | bg |
| class | bg< void > |
| class | auto_bg |
| class | auto_bg< void > |
| struct | big_8 |
| class | Parameter_Parser |
| class | PID_Controller |
| class | Point |
| class | N_2D_Point |
| class | Point_Cloud |
| class | N_2DOF_Planar_Arm |
| struct | queue_timeout |
| class | Q_Handle_Base |
| class | Q_Handle |
| class | Smart_Queue_Base |
| class | Smart_Queue |
| class | RGB_Color |
| class | RGB_Image |
| class | Exception |
| class | Stereovision |
| class | String_Rep |
| struct | string_change_suffix_fn |
| struct | string_has_suffix_fn |
| struct | string_has_suffix_chfn |
| class | Arglist |
| class | Trajectory |
| class | Trapezoidal_Trajectory |
| class | Multi_Segment_Trajectory |
| class | HTrans |
| class | QTrans |
| struct | Base_Trans |
| class | Trans |
| struct | Base_Quaternion |
| class | Quaternion |
| struct | Base_RMatrix |
| class | RMatrix |
| struct | Mapped_Pixel_Evaluator |
| class | Tsai_Camera_Model |
| class | Factory |
| struct | no_op |
| class | single_instance |
| class | Reference_Count |
| Reference_Count class for reference counting. More... | |
| class | ref_counter |
| class | Auto_Ref |
| class | const_Auto_Ref |
| class | Simple_Pseudo_Random_Number |
| class | Mersenne_Twist_Pseudo_Random_Number |
| class | Pseudo_Random_Number |
| class | Wheel_Locomotor_Model |
| class | Wheel_Model |
Typedefs | |
| typedef N_2D_Array< double > | N_2D_Array_d |
| typedef N_1D_Array< double > | N_1D_Array_d |
| typedef N_2D_Point< float > | Pixel_Coord |
| typedef Point< float > | Ray |
| typedef Matrix< double > | Matrix_d |
| typedef Vector< double > | Vector_i |
| typedef Point< double > | Point_d |
| typedef Point< float > | Point_f |
| typedef Point< int > | Point_i |
| typedef N_2D_Point< double > | N_2D_Point_d |
| typedef N_2D_Point< float > | N_2D_Point_f |
| typedef N_2D_Point< int > | N_2D_Point_i |
| typedef Point_Cloud< double > | Point_Cloud_d |
| typedef std::binary_function< std::string, std::string, std::string > | string_function |
| typedef Trans< double, RMatrix< double > > | Transform |
| typedef Transform | Location |
Enumerations | |
| enum | MATRIX_TYPE { IDENTITY } |
| enum | Vector_Orientation { ROW_VECTOR, COL_VECTOR } |
| enum | Abs_Rel { ABSOLUTE = 0, RELATIVE } |
| enum | ROTATION_TYPE { RX, RY, RZ, EULER_ZYZ, EULER_XYZ, EULER_ZYX, RPY, ANGLE_AXIS, OTHER_ROT_TYPE } |
Functions | |
| ostream & | operator<< (ostream &s, const GUID_1394 &guid) |
| std::ostream & | operator<< (std::ostream &s, const GUID_1394 &guid) |
| template<class T> | |
| std::ostream & | operator<< (std::ostream &os, const N_2D_Array< T > &m) |
| template<typename T> | |
| bool | io_object (FDM_Untyped_Node node, N_2D_Array< T > &rhs) |
| template<class T> | |
| std::ostream & | operator<< (std::ostream &os, const N_1D_Array< T > &v) |
| ostream & | operator<< (ostream &ostr, const Bits &rhs) |
| static unsigned long | _maskbit (size_t pos) |
| static unsigned long | _maskbits (size_t pos, size_t n) |
| Bits | operator & (const Bits &lhs, const Bits &rhs) |
| Bits | operator| (const Bits &lhs, const Bits &rhs) |
| Bits | operator^ (const Bits &, const Bits &) |
| std::ostream & | operator<< (std::ostream &ostr, const Bits &rhs) |
| std::ostream & | operator<< (std::ostream &os, const Camera &rhs) |
| std::istream & | operator>> (std::istream &is, Camera &rhs) |
| std::ostream & | operator<< (std::ostream &os, const Camera_Group &rhs) |
| std::istream & | operator>> (std::istream &is, Camera_Group &rhs) |
| ostream & | operator<< (ostream &os, const Camera_Image_Properties &rhs) |
| istream & | operator>> (istream &is, Camera_Image_Properties &rhs) |
| std::ostream & | operator<< (std::ostream &os, const Camera_Image_Properties &p) |
| template<typename Pixel_Type> | |
| Camera_Image< Pixel_Type > | rectify (const Camera_Image< Pixel_Type > &image) |
| template<typename Pixel_Type> | |
| Camera_Image< Pixel_Type > | rectify (Camera_Image< Pixel_Type > &image) throw (std::exception) |
| bool | io_object (FDM_Map map, auto_ptr< Camera_Model > &model) |
| bool | align_models (const Camera_Model &model1, const Camera_Model &model2, Camera_Model *&new_model1, Camera_Model *&new_model2, Map_Op &map1, Map_Op &map2) |
| DEFINE_FACTORY_INIT (Camera_Model) | |
| bool | io_object (FDM_Map map, std::auto_ptr< Camera_Model > &model) |
| bool | align_models (const Camera_Model &model1, const Camera_Model &model2, Camera_Model &new_model1, Camera_Model &new_model2, Map_Op &Map_op1, Map_Op &Map_op2) |
| std::ostream & | operator<< (std::ostream &os, const Camera_Model &model) |
| DECLARE_FACTORY_INIT (Camera_Model, factory) | |
| bool | io_object (FDM_Map map, std::auto_ptr< A_Camera_Model > &model) |
| std::istream & | operator>> (std::istream &str, A_Camera_Model &m) |
| std::ostream & | operator<< (std::ostream &str, const A_Camera_Model &m) |
| void | fdm_error (const char *msg) |
| string | pt_string_get_quoted (string &src, int quotechar) |
| string | pt_string_quote (const string &src, int quotechar) |
| static bool | read_string (istream &is, Parse_Tree &pt, const string &tchars) |
| static bool | read_item (istream &is, Parse_Tree &pt, char &endchar, const string &tchars, bool skip_white=true) |
| static bool | read_field (istream &is, std::string &label, Parse_Tree &pt, bool &finished) |
| ostream & | operator<< (ostream &os, const Parse_Tree &pt) |
| istream & | operator>> (istream &is, Parse_Tree &pt) |
| template<class C> | |
| bool | io_object (FDM_Untyped_Node node, C &c) |
| std::istream & | operator>> (std::istream &is, Parse_Tree &pb) |
| std::ostream & | operator<< (std::ostream &os, const Parse_Tree &pb) |
| template<class T> | |
| static std::string | object_to_string (const T &obj) |
| template<class T> | |
| static bool | string_to_object (T &obj, const std::string &str_in) |
| std::ostream & | operator<< (std::ostream &os, const Device &rhs) |
| std::istream & | operator>> (std::istream &is, Device &rhs) |
| std::ostream & | operator<< (std::ostream &os, const Device_Group &rhs) |
| std::istream & | operator>> (std::istream &is, Device_Group &rhs) |
| std::ostream & | operator<< (std::ostream &os, N_3D_Object &n_3D_object) |
| std::ostream & | operator<< (std::ostream &os, Bounding_Shape &bounding_shape) |
| std::ostream & | operator<< (std::ostream &os, Composite_Bounding_Shape &composite_bounding_shape) |
| template<class T> | |
| bool | io_image (FDM_Map &map, Image< T > &rhs) |
| template<class T> | |
| bool | io_object (FDM_Untyped_Node node, Image< T > &rhs) |
| DEFINE_FACTORY_INIT (Image_IO_Factory) | |
| DECLARE_FACTORY_INIT (Image_IO_Factory, factory) | |
| static size_t | compute_n_bits_total (DIO *dio_array, int n_dios) |
| template<class T> | |
| Matrix< M_FLOAT > | to_float (const Matrix< T > &tm) |
| template<class T> | |
| const Matrix< T > | operator * (const Matrix< T > &lhs, const Matrix< T > &rhs) |
| template<class M> | |
| M | elements (const M &lhs, char op, const M &rhs) |
| template<class T> | |
| std::ostream & | operator<< (std::ostream &os, const Matrix< T > &m) |
| template<class T1, class T2, class Op> | |
| Vector< T1 > | vector_transform (const Vector< T1 > &lhs, const Vector< T2 > &rhs, Op op) |
| template<class T1, class T2> | |
| Vector< T1 > | operator+ (const Vector< T1 > &lhs, const Vector< T2 > &rhs) |
| template<class T1, class T2> | |
| Vector< T1 > | operator- (const Vector< T1 > &lhs, const Vector< T2 > &rhs) |
| template<class T> | |
| std::ostream & | operator<< (std::ostream &os, const Vector< T > &v) |
| template<class T> | |
| bool | io_object (FDM_Untyped_Node node, Vector< T > &rhs) |
| template<class T, int NR1, int NC1, int NC2> | |
| const Matrix_NxM< T, NR1, NC2 > | operator * (const Matrix_NxM< T, NR1, NC1 > &lhs, const Matrix_NxM< T, NC1, NC2 > &rhs) |
| template<class T, int Nrows, int Ncols> | |
| bool | io_object (FDM_Untyped_Node node, Matrix_NxM< T, Nrows, Ncols > &rhs) |
| template<class T1, class T2> | |
| void | match_orientations (const Vector< T1 > &lhs, const Matrix< T2 > &rhs) |
| template<class T1, class T2> | |
| Vector< T1 > | operator+ (const Vector< T1 > &lhs, const Matrix< T2 > &rhs) |
| template<class T1, class T2> | |
| Vector< T1 > | operator- (const Vector< T1 > &lhs, const Matrix< T2 > &rhs) |
| template<class T1, class T2> | |
| Vector< T1 > | operator+ (const Matrix< T1 > &lhs, const Vector< T2 > &rhs) |
| template<class T1, class T2> | |
| Vector< T1 > | operator- (const Matrix< T1 > &lhs, const Vector< T2 > &rhs) |
| template<class T1, class T2> | |
| Matrix< T1 > | operator * (const Vector< T1 > &lhs, const Vector< T2 > &rhs) |
| template<class T1, class T2> | |
| Vector< T1 > | operator * (const Matrix< T1 > &lhs, const Vector< T2 > &rhs) |
| template<class T1, class T2> | |
| Vector< T1 > | operator * (const Vector< T1 > &lhs, const Matrix< T2 > &rhs) |
| template<class T> | |
| Vector< T > | cross (const Vector< T > &a, const Vector< T > &b) |
| template<class T> | |
| double | norm (const Vector< T > &a) |
| template<class T> | |
| T | sum (const Vector< T > &a) |
| template<class T> | |
| Matrix< T > | cat_col (const Matrix< T > &A, const Matrix< T > &B) |
| template<class T> | |
| Matrix< T > | cat_row (const Matrix< T > &A, const Matrix< T > &B) |
| template<class T> | |
| std::ostream & | operator<< (std::ostream &os, const Unit_Vector< T > &n) |
| template<class T> | |
| bool | io_object (FDM_Untyped_Node node, Unit_Vector< T > &rhs) |
| template<class T> | |
| Matrix< M_FLOAT > | inverse (const Matrix< T > &tm) |
| template<class T> | |
| Matrix_NxM< T, 2, 2 > | inverse (const Matrix_NxM< T, 2, 2 > &m) |
| template<class T> | |
| Matrix_NxM< T, 3, 3 > | inverse (const Matrix_NxM< T, 3, 3 > &m) |
| Vector< int > | LU_decompose (Matrix< M_FLOAT > &a, int &sgn) |
| template<class T> | |
| T | det (const Matrix< T > &m) |
| template<class T> | |
| void | matrix_cholesky (const Matrix< T > &A, Matrix< T > &L) |
| template<class T> | |
| void | matrix_cholesky_backsubstitute (const Matrix< T > &L, const Matrix< T > &B, Matrix< T > &X) |
| template<class T> | |
| void | matrix_solve_symposdef (const Matrix< T > &A, const Matrix< T > &B, Matrix< T > &X) |
| std::ostream & | operator<< (std::ostream &os, Mechanism_Model &mm) |
| std::ostream & | operator<< (std::ostream &os, Mass_Properties &mass_properties) |
| std::ostream & | operator<< (std::ostream &os, Display_Graphics &display_graphics) |
| std::ostream & | operator<< (std::ostream &os, ME_Body &me_body) |
| std::ostream & | operator<< (std::ostream &os, ME_Joint &me_joint) |
| std::ostream & | operator<< (std::ostream &os, Frame &frame) |
| template<class BinOp, class T> | |
| cl_binder2nd< BinOp > | cl_bind2nd (const BinOp &op, const T &v) |
| template<class UnaryOp, class T> | |
| cl_binder< UnaryOp > | cl_bind (const UnaryOp &op, const T &arg) |
| template<class In, class Out, class UnaryOp> | |
| Out | cl_transform (In first, In last, Out res, UnaryOp op) |
| template<class In, class In2, class Out, class BinOp> | |
| Out | cl_transform (In first1, In last, In2 first2, Out res, BinOp op) |
| template<class T, class In, class BinOp> | |
| T | cl_reduce (T identity, In first, In last, BinOp op) |
| template<class In, class In2, class T> | |
| T | cl_inner_product (In first, In last, In2 first2, T init) |
| template<class In, class T> | |
| T | cl_accumulate (In first, In last, T init) |
| template<class Container, class Op> | |
| Container & | cl_apply (Container &c, Op op) |
| template<class Op, class res_type> | |
| std::auto_ptr< BG_Task > | background (Op op, res_type &retval, bool detach=false) |
| template<class Op> | |
| std::auto_ptr< BG_Task > | background (Op op, bool detach=false) |
| template<class T, class R, class A, class B, class C, class D, class E, class F, class G, class H> | |
| big_8< T, R, A, B, C, D, E, F, G, H > | compos8 (T *const obj, R(T::*func)(A, B, C, D, E, F, G, H), A a, B b, C c, D d, E e, F f, G g, H h) |
| template<typename T> | |
| Point< T > | operator+ (const Point< T > &, const Point< T > &v2) |
| template<typename T> | |
| Point< T > | operator- (const Point< T > &, const Point< T > &) |
| template<typename T> | |
| Point< T > | operator- (const Point< T > &) |
| template<typename T, typename T2> | |
| Point< T > | operator * (const Point< T > &, T2) |
| template<typename T, typename T2> | |
| Point< T > | operator * (T2, const Point< T > &) |
| template<typename T, typename T2> | |
| Point< T > | operator/ (const Point< T > &, T2) |
| template<typename T> | |
| Point< T > | normalize (const Point< T > &p) |
| template<typename T> | |
| std::ostream & | operator<< (std::ostream &os, const Point< T > &p) |
| template<typename T> | |
| bool | io_object (FDM_Untyped_Node node, Point< T > &rhs) |
| template<typename T> | |
| bool | cl_is_nan (const Point< T > &p) |
| template<typename T> | |
| void | cl_nan (Point< T > &p) |
| template<class T> | |
| bool | operator== (const N_2D_Point< T > &, const N_2D_Point< T > &) |
| template<class T> | |
| N_2D_Point< T > | operator+ (const N_2D_Point< T > &, const N_2D_Point< T > &) |
| template<class T> | |
| N_2D_Point< T > | operator- (const N_2D_Point< T > &, const N_2D_Point< T > &) |
| template<class T> | |
| N_2D_Point< T > | operator- (const N_2D_Point< T > &) |
| template<class T> | |
| N_2D_Point< T > | operator * (double, const N_2D_Point< T > &) |
| template<class T> | |
| N_2D_Point< T > | operator/ (const N_2D_Point< T > &, double) |
| template<class T> | |
| N_2D_Point< T > | operator * (const N_2D_Point< T > &v, double s) |
| template<typename elem_type> | |
| std::ostream & | operator<< (std::ostream &os, const N_2D_Point< elem_type > &p) |
| template<class T> | |
| std::istream & | operator>> (std::istream &is, N_2D_Point< T > &p) |
| template<class T> | |
| bool | io_object (FDM_Untyped_Node node, N_2D_Point< T > &rhs) |
| template<class T> | |
| bool | cl_isnan (const N_2D_Point< T > &pt) |
| template<class T> | |
| void | cl_setnan (N_2D_Point< T > &pt) |
| void | memory_failure (void) |
| void | abnormal_abort (int) |
| void | division_by_zero (int) |
| void | illegal_operation (int) |
| void | ctrl_break (int) |
| void | illegal_storage_access (int) |
| void | request_termination (int) |
| unsigned int | hex_to_int (char *) |
| int | order (float x) |
| bool | cl_isnan (float x) |
| bool | cl_isnan (double x) |
| bool | cl_isnan (unsigned char x) |
| bool | cl_isnan (char x) |
| bool | cl_isnan (unsigned short x) |
| bool | cl_isnan (short x) |
| bool | cl_isnan (unsigned int x) |
| bool | cl_isnan (int x) |
| bool | cl_isnan (unsigned long x) |
| bool | cl_isnan (long x) |
| double | cl_nan () |
| float | cl_nan_f () |
| void | cl_setnan (float &x) |
| void | cl_setnan (double &x) |
| void | cl_setnan (unsigned char &x) |
| void | cl_setnan (char &x) |
| void | cl_setnan (unsigned short &x) |
| void | cl_setnan (short &x) |
| void | cl_setnan (unsigned int &x) |
| void | cl_setnan (int &x) |
| void | cl_setnan (unsigned long &x) |
| void | cl_setnan (long &x) |
| template<class T> | |
| bool | is_integral_type () |
| template<> | |
| bool | is_integral_type< unsigned char > () |
| template<> | |
| bool | is_integral_type< char > () |
| template<> | |
| bool | is_integral_type< unsigned short > () |
| template<> | |
| bool | is_integral_type< short > () |
| template<> | |
| bool | is_integral_type< unsigned int > () |
| template<> | |
| bool | is_integral_type< int > () |
| template<> | |
| bool | is_integral_type< unsigned long > () |
| template<> | |
| bool | is_integral_type< long > () |
| template<> | |
| bool | is_integral_type< unsigned long long > () |
| template<> | |
| bool | is_integral_type< long long > () |
| template<class T> | |
| bool | is_floating_point_type () |
| template<> | |
| bool | is_floating_point_type< float > () |
| template<> | |
| bool | is_floating_point_type< double > () |
| template<> | |
| bool | is_floating_point_type< long double > () |
| template<class T> | |
| bool | is_numeric_type () |
| template<class T> | |
| T | type_min_value () |
| template<class T> | |
| T | type_max_value () |
| template<> | |
| float | type_min_value< float > () |
| template<> | |
| float | type_max_value< float > () |
| template<> | |
| double | type_min_value< double > () |
| template<> | |
| double | type_max_value< double > () |
| template<> | |
| char | type_min_value< char > () |
| template<> | |
| short | type_min_value< short > () |
| template<> | |
| int | type_min_value< int > () |
| template<> | |
| long | type_min_value< long > () |
| template<> | |
| long long | type_min_value< long long > () |
| template<class Result, class Src> | |
| Result | round_truncate_cast (const Src &src) |
| template<class Result, class Src> | |
| Result | round_cast (const Src &src) |
| template<class Src, class Dest> | |
| void | round_truncate_copy (const Src &src, Dest &dest) |
| void | clear () |
| void | wait_clear () |
| void | thick_line () |
| void | thin_line () |
| void | page_header (const char *s) |
| void | page_footer (int wait) |
| void | header1 (const char *s) |
| void | left_justify (const char *s) |
| void | right_justify (const char *s) |
| void | title (const char *s) |
| string | string_strip (const string &src, const string &ignore) |
| string | string_strip_front (const string &src, const string &ignore) |
| string | string_strip_end (const string &src, const string &ignore) |
| string | string_get_token (string &src, const string &delims, const string &tokchars) |
| string | string_get_quoted (string &src, int quotechar) |
| string | string_quote (const string &src, int quotechar) |
| vector< string > | string_get_tokens (string &src, const string &delims, const string &tokchars) |
| bool | string_eat_double (string &src, double &d, const string &ignore) |
| bool | string_eat_long (string &src, long &d, const string &ignore) |
| bool | string_eat_bool (string &src, bool &d, const string &ignore) |
| string | string_change_suffix (const string &src, const string &newsuffix, const string &delim) |
| bool | string_has_suffix (const string &src, const string &suffix) |
| bool | string_has_suffix (const string &src, const char *suffix) |
| string | string_suffix (const string &source, const string &delimeters) |
| string | string_remove_suffix (const string &lhs, const string &suffix) |
| string | string_vprintf (const char *fmt, va_list args) |
| string | string_printf (const char *fmt,...) |
| bool | string_is_flag (const string &x) |
| string | string_remove_token (string &src, const string &delims) |
| string | string_first_token (const string &src, const string &delims) |
| string | string_last_token (const string &src, const string &delims) |
| vector< string > | string_tokens (const string &src, const string &delims) |
| void | string_chomp (string &src) |
| string | string_right (const string &src, size_t len) |
| string | string_left (const string &src, size_t len) |
| string | string_find_and_replace (const string &src, const string &from, const string &to) |
| string | string_find_and_replace_all (const string &src, const string &from, const string &to) |
| string | string_find_and_replace_n (const string &src, const string &from, const string &to, int max_replacements) |
| std::string | string_strip (const std::string &src, const std::string &ignore=" \t\n\r") |
| std::string | string_strip_front (const std::string &src, const std::string &ignore=" \t\n\r") |
| std::string | string_strip_end (const std::string &src, const std::string &ignore=" \t\n\r") |
| DEF_STRING_FUNCTOR (string_strip) | |
| DEF_STRING_FUNCTOR (string_strip_front) | |
| DEF_STRING_FUNCTOR (string_strip_end) | |
| std::string | string_get_token (std::string &src, const std::string &delims=" \t\n\r", const std::string &tokchars="") |
| std::vector< std::string > | string_get_tokens (std::string &src, const std::string &delims=" \t\n\r", const std::string &tokchars="") |
| bool | string_eat_double (std::string &src, double &d, const std::string &ignore=" \t\n\r") |
| bool | string_eat_long (std::string &src, long &d, const std::string &ignore=" \t\n\r") |
| bool | string_eat_bool (std::string &src, bool &d, const std::string &ignore=" \t\n\r") |
| std::string | string_change_suffix (const std::string &src, const std::string &newsuffix, const std::string &delim=".") |
| bool | string_has_suffix (const std::string &src, const std::string &suffix) |
| bool | string_has_suffix (const std::string &src, const char *suffix) |
| std::string | string_suffix (const std::string &source, const std::string &delimeters=".") |
| std::string | string_remove_suffix (const std::string &lhs, const std::string &suffix) |
| DEF_STRING_FUNCTOR (string_remove_suffix) | |
| std::string | string_get_quoted (std::string &src, int quotechar='\"') |
| std::string | string_quote (const std::string &src, int quotechar='\"') |
| template<class I> | |
| std::string | string_join (I begin, I end, const std::string &delim) |
| template<class T> | |
| std::string | output_to_string (const T &value) |
| std::string | string_join (const std::vector< std::string > &tokens, const std::string &delim) |
| bool | string_is_flag (const std::string &x) |
| std::string | string_first_token (const std::string &src, const std::string &delims=" \t\n\r") |
| std::string | string_last_token (const std::string &src, const std::string &delims=" \t\n\r") |
| std::vector< std::string > | string_tokens (const std::string &src, const std::string &delims=" \t\n\r") |
| void | string_chomp (std::string &src) |
| std::string | string_right (const std::string &src, size_t len) |
| std::string | string_left (const std::string &src, size_t len) |
| std::string | string_find_and_replace (const std::string &src, const std::string &from, const std::string &to) |
| std::string | string_find_and_replace_n (const std::string &src, const std::string &from, const std::string &to, int max_replacements) |
| std::string | string_find_and_replace_all (const std::string &src, const std::string &from, const std::string &to) |
| std::string | string_remove_token (std::string &src, const std::string &delims=" \t\n\r") |
| template<class T> | |
| void | string_from_type (std::string &out_string, T &type_value, unsigned int precision=10) |
| ostream & | operator<< (ostream &os, const Trapezoidal_Trajectory &traj) |
| ostream & | operator<< (ostream &os, const Multi_Segment_Trajectory &traj) |
| std::ostream & | operator<< (std::ostream &os, const Trajectory &traj) |
| template<class T> | |
| std::ostream & | operator<< (std::ostream &os, const HTrans< T > &h) |
| template<class T> | |
| HTrans< T > | inverse (const HTrans< T > &q) |
| template<class T> | |
| std::ostream & | operator<< (std::ostream &os, const QTrans< T > &q) |
| template<class T> | |
| QTrans< T > | inverse (const QTrans< T > &q) |
| template<class T1, class Rotation_Type1> | |
| Trans< T1, Rotation_Type1 > | inverse (const Trans< T1, Rotation_Type1 > &q) |
| template<class T2, class Rotation_Type2> | |
| std::ostream & | operator<< (std::ostream &os, const Trans< T2, Rotation_Type2 > &tt) |
| template<class T> | |
| std::ostream & | operator<< (std::ostream &os, const Quaternion< T > &q) |
| template<class T> | |
| RMatrix< T > | inverse (RMatrix< T > r) |
| template<class T> | |
| const RMatrix< T > | operator * (const RMatrix< T > &lhs, const RMatrix< T > &rhs) |
| template<class T> | |
| const Point< T > | operator * (const RMatrix< T > &lhs, const Point< T > &rhs) |
| template<class T> | |
| std::ostream & | operator<< (std::ostream &os, const RMatrix< T > &m) |
| template<class T> | |
| const Matrix< T > | operator * (const RMatrix< T > &lhs, const Matrix< T > &rhs) |
| template<class T> | |
| const Matrix< T > | operator * (const Matrix< T > &lhs, const RMatrix< T > &rhs) |
| template<class T> | |
| bool | io_object (FDM_Untyped_Node node, RMatrix< T > &rhs) |
| DEFINE_BUILDER_INIT (Tsai_Camera_Model) | |
| Ray | operator * (const Matrix< float > &m, const Ray &r) |
| ostream & | operator<< (ostream &os, const Tsai_Camera_Model &model) |
| istream & | operator>> (istream &is, Tsai_Camera_Model &model) |
| DECLARE_BUILDER_INIT (Camera_Model, Tsai_Camera_Model, factory, Tsai_Camera_Model::build) | |
| std::istream & | operator>> (std::istream &str, Tsai_Camera_Model &m) |
| std::ostream & | operator<< (std::ostream &str, const Tsai_Camera_Model &m) |
Variables | |
| const size_t | MAX_BITS = sizeof(unsigned long) * 8 |
| const int | NUMBER_OF_3D_OBJECT_DIMENSIONS = 3 |
| static DIO_null | dio_null (MAX_BITS) |
| const bool | INVERT_LOGIC = true |
| const bool | INVERT_SIGNAL = true |
Detailed Description
A base class for all image file operation (saving/loading) implementations. Image_IO defines a abstract load and save methods that implementations must implement. It also supports setting and getting of filenames. Future implementations will support other functions common to image formats (saving information with tags, compression, etc.). The load and save functions are defined with explicit image instantiations so they can be made virtual and overridden by the extending classes.
Typedef Documentation
| typedef Transform claraty::Location |
Definition at line 44 of file transform.h.
| typedef Matrix<double> claraty::Matrix_d |
| typedef N_1D_Array<double> claraty::N_1D_Array_d |
Definition at line 45 of file 1d_array.h.
| typedef N_2D_Array<double> claraty::N_2D_Array_d |
Definition at line 49 of file 2d_array.h.
| typedef N_2D_Point< double > claraty::N_2D_Point_d |
Definition at line 47 of file 2d_point.h.
| typedef N_2D_Point< float > claraty::N_2D_Point_f |
Definition at line 50 of file 2d_point.h.
| typedef N_2D_Point< int > claraty::N_2D_Point_i |
Definition at line 51 of file 2d_point.h.
| typedef N_2D_Point<float> claraty::Pixel_Coord |
Definition at line 34 of file camera_model.h.
| typedef Point_Cloud<double> claraty::Point_Cloud_d |
Definition at line 34 of file point_cloud.h.
| typedef Point<double> claraty::Point_d |
| typedef Point<float> claraty::Point_f |
| typedef Point<int> claraty::Point_i |
| typedef Point<float> claraty::Ray |
Definition at line 38 of file camera_model.h.
| typedef std::binary_function<std::string, std::string, std::string> claraty::string_function |
Definition at line 52 of file string_util.h.
| typedef Trans<double, RMatrix<double> > claraty::Transform |
Definition at line 40 of file transform.h.
| typedef Vector<double> claraty::Vector_i |
Enumeration Type Documentation
| enum claraty::Abs_Rel |
| enum claraty::MATRIX_TYPE |
Definition at line 60 of file rotation_matrix.h.
00060 { 00061 RX, 00062 RY, 00063 RZ, 00064 EULER_ZYZ, 00065 EULER_XYZ, 00066 EULER_ZYX, 00067 RPY, 00068 ANGLE_AXIS, 00069 OTHER_ROT_TYPE}
Function Documentation
| static unsigned long claraty::_maskbit | ( | size_t | pos | ) | [static] |
Definition at line 160 of file bits.h.
Referenced by claraty::Bits::Bits(), claraty::Bits::clr_bit(), claraty::Bits::reference::operator bool(), claraty::Bits::reference::operator=(), claraty::Bits::operator[](), claraty::Bits::reference::operator~(), claraty::Bits::set_bit(), claraty::Bits::test(), claraty::Bits::reference::toggle(), and claraty::Bits::toggle_bit().
00161 { 00162 // only one mask bit at pos is 1; 00163 // mask[pos]=1; all other bits = 0 00164 // 00165 return (static_cast<unsigned long>(1) << pos); 00166 }
| static unsigned long claraty::_maskbits | ( | size_t | pos, | |
| size_t | n | |||
| ) | [static] |
Definition at line 169 of file bits.h.
Referenced by claraty::Bits::clr_bits(), and claraty::Bits::set_bits().
00170 { 00171 // n mask bits starting from pos are 1; 00172 // mask[pos] = ... = mask[pos+n-1] = 1; all other bits = 0 00173 // 00174 return (~(~static_cast<unsigned long>(0) << n)) << pos; 00175 }
| void claraty::abnormal_abort | ( | int | i | ) |
| bool claraty::align_models | ( | const Camera_Model & | model1, | |
| const Camera_Model & | model2, | |||
| Camera_Model & | new_model1, | |||
| Camera_Model & | new_model2, | |||
| Map_Op & | Map_op1, | |||
| Map_Op & | Map_op2 | |||
| ) |
| bool claraty::align_models | ( | const Camera_Model & | model1, | |
| const Camera_Model & | model2, | |||
| Camera_Model *& | new_model1, | |||
| Camera_Model *& | new_model2, | |||
| Map_Op & | map1, | |||
| Map_Op & | map2 | |||
| ) |
Align_models is the function that does epipolar alignment with another camera. Two new camera models are produced as the output, as well as two rectify_op objects which can be used to warp images from this camera model and the other camera model into the new ones. Typically this operation would both remove lens distortion ("linearize" the models) and warp the images to make epipolar lines horizontal and at the same y-coordinate ("align" the models). This function should return true if the alignment can happen, and false otherwise (if for example the camera model types are incompatible).
Definition at line 289 of file camera_model.cc.
| std::auto_ptr<BG_Task> claraty::background | ( | Op | op, | |
| bool | detach = false | |||
| ) |
| std::auto_ptr<BG_Task> claraty::background | ( | Op | op, | |
| res_type & | retval, | |||
| bool | detach = false | |||
| ) |
| Matrix<T> claraty::cat_col | ( | const Matrix< T > & | A, | |
| const Matrix< T > & | B | |||
| ) |
Concatenates the columns of the matrix B to the matrix A and returns the result (for A (n x m) and B (p x q), returns a matrix of size n x m+q) Requires the number of rows (n and p) to be equal.
Definition at line 300 of file matrix_operator.h.
References claraty::N_2D_Array< T >::get_num_of_cols(), and claraty::N_2D_Array< T >::get_num_of_rows().
00300 { 00301 00302 Matrix<T> R(A.get_num_of_rows(), A.get_num_of_cols()+B.get_num_of_cols()); 00303 00304 if(A.get_num_of_rows() != B.get_num_of_rows()) { 00305 std::cout << "cat_col: matrix number of rows do not much" << std::endl; 00306 } 00307 00308 for(int r=0; r<A.get_num_of_rows(); r++) { 00309 for(int c=0; c<A.get_num_of_cols(); c++) { 00310 R(r,c) = A(r,c); 00311 } 00312 for(int c=0; c<B.get_num_of_cols(); c++) { 00313 R(r,A.get_num_of_cols()+c) = B(r,c); 00314 } 00315 } 00316 00317 return R; 00318 }
Here is the call graph for this function:

| Matrix<T> claraty::cat_row | ( | const Matrix< T > & | A, | |
| const Matrix< T > & | B | |||
| ) |
Concatenates the rows of the matrix B to the matrix A and returns the result (for A (n x m) and B (p x q), returns a matrix of size n+p x m) Requires the number of cols (m and q) to be equal.
Definition at line 327 of file matrix_operator.h.
References claraty::N_2D_Array< T >::get_num_of_cols(), and claraty::N_2D_Array< T >::get_num_of_rows().
00327 { 00328 00329 Matrix<T> R(A.get_num_of_rows()+B.get_num_of_rows(), 00330 A.get_num_of_cols()); 00331 00332 if(A.get_num_of_cols() != B.get_num_of_cols()) { 00333 std::cout << "cat_row: matrix number of cols do not much" << std::endl; 00334 } 00335 00336 for(int c=0; c<A.get_num_of_cols(); c++) { 00337 for(int r=0; r<A.get_num_of_rows(); r++) { 00338 R(r,c) = A(r,c); 00339 } 00340 for(int r=0; r<B.get_num_of_rows(); r++) { 00341 R(A.get_num_of_rows()+r,c) = B(r,c); 00342 } 00343 } 00344 00345 return R; 00346 }
Here is the call graph for this function:

| T claraty::cl_accumulate | ( | In | first, | |
| In | last, | |||
| T | init | |||
| ) |
Definition at line 189 of file functor.h.
Referenced by claraty::Matrix< T >::average(), and claraty::Matrix< T >::sum().
| Container& claraty::cl_apply | ( | Container & | c, | |
| Op | op | |||
| ) |
Definition at line 236 of file functor.h.
References cl_transform().
Referenced by claraty::Matrix< uint16_t >::scalar_apply().
00236 { 00237 cl_transform(c.begin(), c.end(), c.begin(), op); 00238 return c; 00239 }
Here is the call graph for this function:

| cl_binder<UnaryOp> claraty::cl_bind | ( | const UnaryOp & | op, | |
| const T & | arg | |||
| ) | [inline] |
| cl_binder2nd<BinOp> claraty::cl_bind2nd | ( | const BinOp & | op, | |
| const T & | v | |||
| ) | [inline] |
| T claraty::cl_inner_product | ( | In | first, | |
| In | last, | |||
| In2 | first2, | |||
| T | init | |||
| ) |
Definition at line 181 of file functor.h.
Referenced by operator *().
00182 { 00183 for ( ; first != last; ++first, ++first2) 00184 init += *first * *first2; 00185 return init; 00186 }
| bool claraty::cl_is_nan | ( | const Point< T > & | p | ) | [inline] |
Definition at line 854 of file point.h.
References claraty::Point< T >::x(), claraty::Point< T >::y(), and claraty::Point< T >::z().
00855 { 00856 return ( cl_is_nan(p.x()) || 00857 cl_is_nan(p.y()) || 00858 cl_is_nan(p.z()) ); 00859 }
Here is the call graph for this function:

| bool claraty::cl_isnan | ( | long | x | ) | [inline] |
| bool claraty::cl_isnan | ( | unsigned long | x | ) | [inline] |
| bool claraty::cl_isnan | ( | int | x | ) | [inline] |
| bool claraty::cl_isnan | ( | unsigned int | x | ) | [inline] |
| bool claraty::cl_isnan | ( | short | x | ) | [inline] |
| bool claraty::cl_isnan | ( | unsigned short | x | ) | [inline] |
| bool claraty::cl_isnan | ( | char | x | ) | [inline] |
| bool claraty::cl_isnan | ( | unsigned char | x | ) | [inline] |
| bool claraty::cl_isnan | ( | double | x | ) | [inline] |
| bool claraty::cl_isnan | ( | float | x | ) | [inline] |
| bool claraty::cl_isnan | ( | const N_2D_Point< T > & | pt | ) | [inline] |
Definition at line 801 of file 2d_point.h.
References claraty::N_2D_Point< T >::x(), and claraty::N_2D_Point< T >::y().
Here is the call graph for this function:

| double claraty::cl_nan | ( | ) | [inline] |
| void claraty::cl_nan | ( | Point< T > & | p | ) | [inline] |
Definition at line 867 of file point.h.
References claraty::Point< T >::x(), claraty::Point< T >::y(), and claraty::Point< T >::z().
Referenced by cl_setnan().
00867 { 00868 T nan; 00869 cl_nan( nan ); 00870 p.x( nan ); 00871 p.y( nan ); 00872 p.z( nan ); 00873 }
Here is the call graph for this function:

| float claraty::cl_nan_f | ( | ) | [inline] |
| T claraty::cl_reduce | ( | T | identity, | |
| In | first, | |||
| In | last, | |||
| BinOp | op | |||
| ) | [inline] |
| void claraty::cl_setnan | ( | long & | x | ) | [inline] |
| void claraty::cl_setnan | ( | unsigned long & | x | ) | [inline] |
| void claraty::cl_setnan | ( | int & | x | ) | [inline] |
| void claraty::cl_setnan | ( | unsigned int & | x | ) | [inline] |
| void claraty::cl_setnan | ( | short & | x | ) | [inline] |
| void claraty::cl_setnan | ( | unsigned short & | x | ) | [inline] |
| void claraty::cl_setnan | ( | char & | x | ) | [inline] |
| void claraty::cl_setnan | ( | unsigned char & | x | ) | [inline] |
| void claraty::cl_setnan | ( | double & | x | ) | [inline] |
Definition at line 89 of file math_limits.h.
References cl_nan().
00089 { 00090 x= cl_nan(); 00091 }
Here is the call graph for this function:

| void claraty::cl_setnan | ( | float & | x | ) | [inline] |
Definition at line 85 of file math_limits.h.
References cl_nan_f().
00085 { 00086 x= cl_nan_f(); 00087 }
Here is the call graph for this function:

| void claraty::cl_setnan | ( | N_2D_Point< T > & | pt | ) | [inline] |
Definition at line 806 of file 2d_point.h.
References claraty::N_2D_Point< T >::x(), and claraty::N_2D_Point< T >::y().
Here is the call graph for this function:

| Out claraty::cl_transform | ( | In | first1, | |
| In | last, | |||
| In2 | first2, | |||
| Out | res, | |||
| BinOp | op | |||
| ) | [inline] |
| Out claraty::cl_transform | ( | In | first, | |
| In | last, | |||
| Out | res, | |||
| UnaryOp | op | |||
| ) | [inline] |
Definition at line 115 of file functor.h.
Referenced by claraty::Matrix< T >::abs(), cl_apply(), claraty::Matrix< uint16_t >::operator+=(), claraty::Matrix< uint16_t >::operator-=(), and claraty::Matrix< uint16_t >::scalar_apply().
00116 { 00117 for ( ; first != last; ++first, ++res) 00118 *res = op(*first); 00119 return res; 00120 }
| void claraty::clear | ( | ) | [inline] |
Definition at line 47 of file display.h.
Referenced by pug::xml_parser::create(), page_header(), pug::xml_parser::parse(), pug::xml_parser::parse_file(), title(), and wait_clear().
| big_8<T, R, A, B, C, D, E, F, G, H> claraty::compos8 | ( | T *const | obj, | |
| R(T::*)(A, B, C, D, E, F, G, H) | func, | |||
| A | a, | |||
| B | b, | |||
| C | c, | |||
| D | d, | |||
| E | e, | |||
| F | f, | |||
| G | g, | |||
| H | h | |||
| ) |
Definition at line 277 of file background_thread.h.
00279 { 00280 return big_8<T, R, A, B, C, D, E, F, G, H> 00281 (obj, func, a, b, c, d, e, f, g, h); 00282 }
| static size_t claraty::compute_n_bits_total | ( | DIO * | dio_array, | |
| int | n_dios | |||
| ) | [static] |
Definition at line 304 of file composite_digital_io.cc.
00305 { 00306 int _n_bits_total = 0; 00307 00308 for (int i=0; i<n_dios; ++i) 00309 _n_bits_total += dio_array[i].bit_size(); 00310 00311 return _n_bits_total; 00312 }
| Vector<T> claraty::cross | ( | const Vector< T > & | a, | |
| const Vector< T > & | b | |||
| ) |
Returns the cross product: a x b
Definition at line 255 of file matrix_operator.h.
References claraty::Vector< T >::get_num_of_cols().
00255 { 00256 00257 Vector<T> c(3); 00258 00259 if((a.get_num_of_cols() != 3) || (b.get_num_of_cols() != 3)) { 00260 std::cout << "cross (vector cross product): vector size must be 3." << std::endl; 00261 return c; 00262 } 00263 00264 c(0) = a(1)*b(2) - a(2)*b(1); 00265 c(1) = a(2)*b(0) - a(0)*b(2); 00266 c(2) = a(0)*b(1) - a(1)*b(0); 00267 00268 return c; 00269 }
Here is the call graph for this function:

| void claraty::ctrl_break | ( | int | ) |
| claraty::DECLARE_BUILDER_INIT | ( | Camera_Model | , | |
| Tsai_Camera_Model | , | |||
| factory | , | |||
| Tsai_Camera_Model::build | ||||
| ) |
| claraty::DECLARE_FACTORY_INIT | ( | Image_IO_Factory | , | |
| factory | ||||
| ) |
| claraty::DECLARE_FACTORY_INIT | ( | Camera_Model | , | |
| factory | ||||
| ) |
| claraty::DEF_STRING_FUNCTOR | ( | string_remove_suffix | ) |
| claraty::DEF_STRING_FUNCTOR | ( | string_strip_end | ) |
| claraty::DEF_STRING_FUNCTOR | ( | string_strip_front | ) |
| claraty::DEF_STRING_FUNCTOR | ( | string_strip | ) |
| claraty::DEFINE_BUILDER_INIT | ( | Tsai_Camera_Model | ) |
| claraty::DEFINE_FACTORY_INIT | ( | Image_IO_Factory | ) |
| claraty::DEFINE_FACTORY_INIT | ( | Camera_Model | ) |
| T claraty::det | ( | const Matrix< T > & | m | ) |
Definition at line 55 of file matrix_determinant.h.
References claraty::Matrix_LU< T >::det(), claraty::N_2D_Array< T >::is_square(), and to_float().
Referenced by inverse().
00056 { 00057 double d; 00058 if (!m.is_square()) { 00059 std::cerr << "matrix error: cannot compute determinant of a non-square martrix" 00060 << std::endl; 00061 return 0.0; 00062 } 00063 else { 00064 Matrix<M_FLOAT> fm = to_float(m); 00065 00066 Matrix_LU<M_FLOAT> a_lu(fm); 00067 d = a_lu.det(); 00068 } // else 00069 return (T) d; 00070 }
Here is the call graph for this function:

| void claraty::division_by_zero | ( | int | i | ) |
| M claraty::elements | ( | const M & | lhs, | |
| char | op, | |||
| const M & | rhs | |||
| ) |
Definition at line 408 of file matrix.h.
00409 { 00410 typedef typename M::value_type T; 00411 00412 if (lhs.nrows() != rhs.nrows() || lhs.ncols() != rhs.ncols()) { 00413 std::cerr << "Matrix elements '"<< op << "' -- matrix sizes don't match" 00414 << std::endl; 00415 return lhs; 00416 } 00417 00418 M result = lhs; 00419 00420 switch (op) { 00421 case '+': 00422 std::transform(result.begin(), result.end(), rhs.begin(), result.begin(), 00423 std::plus<T>()); 00424 break; 00425 case '-': 00426 std::transform(result.begin(), result.end(), rhs.begin(), result.begin(), 00427 std::minus<T>()); 00428 break; 00429 case '*': 00430 std::transform(result.begin(), result.end(), rhs.begin(), result.begin(), 00431 std::multiplies<T>()); 00432 break; 00433 case '/': 00434 std::transform(result.begin(), result.end(), rhs.begin(), result.begin(), 00435 std::divides<T>()); 00436 break; 00437 default: 00438 std::cerr << "Matrix error: element operation '" << op << "' not defined" 00439 << std::endl; 00440 } 00441 return result; 00442 }
| void claraty::fdm_error | ( | const char * | msg | ) |
FDM Error Message
- Parameters:
-
[in] msg The error message to be displayed.
- Returns:
- void
Definition at line 45 of file fdm.cc.
Referenced by claraty::FDM_Stream::_ref_node(), and claraty::FDM_Stream::_unwind_to_node().
| void claraty::header1 | ( | const char * | s | ) | [inline] |
Definition at line 109 of file display.h.
References thin_line().
00110 { 00111 std::cout << s << "\n"; 00112 thin_line(); 00113 }
Here is the call graph for this function:

| unsigned int claraty::hex_to_int | ( | char * | ) |
Definition at line 142 of file share.cc.
References sum().
00143 { 00144 // This function converts a string that has a hex number embedded in it 00145 // to an int 00146 00147 char *ptr_begin, *ptr_end; 00148 unsigned short i, hex_len, k, temp=0; 00149 unsigned int sum=0, factor=1; 00150 00151 // strlwr(hex_string); 00152 ptr_begin= strstr(hex_string,"0x"); 00153 ptr_end = strstr(ptr_begin," "); 00154 if (!ptr_end) ptr_end = strchr(ptr_begin,'\n'); 00155 if (!ptr_end) ptr_end = strchr(ptr_begin,'\0'); 00156 hex_len = ptr_end-ptr_begin; 00157 if (!ptr_begin) 00158 cerr << "Conversion error: hex number not found" << endl; 00159 else { 00160 i=ptr_begin-hex_string; 00161 for (k=i+hex_len-1;k>i+1;k--) 00162 { 00163 switch(hex_string[k]) { 00164 case 'a':temp=10;break; 00165 case 'b':temp=11;break; 00166 case 'c':temp=12;break; 00167 case 'd':temp=13;break; 00168 case 'e':temp=14;break; 00169 case 'f':temp=15;break; 00170 default: 00171 if (hex_string[k]<'0' || hex_string[k]>'9') 00172 cerr << "Error: unidentifiable hex character!" << endl; 00173 else { 00174 char temp1[]={hex_string[k],'\0'}; 00175 temp=atoi(temp1);} 00176 } // switch 00177 sum+=temp*factor; 00178 factor*=16; 00179 } // for k loop 00180 } // if valid ptr 00181 return sum; 00182 }
Here is the call graph for this function:

| void claraty::illegal_operation | ( | int | i | ) |
| void claraty::illegal_storage_access | ( | int | ) |
| RMatrix<T> claraty::inverse | ( | RMatrix< T > | r | ) |
Definition at line 196 of file rotation_matrix.h.
References claraty::RMatrix< T >::transpose().
Here is the call graph for this function:

| Trans<T1, Rotation_Type1> claraty::inverse | ( | const Trans< T1, Rotation_Type1 > & | q | ) | [inline] |
friend inverse function
- Parameters:
-
[in] q Transform that is to be inverted.
- Returns:
- Transfrom that has been inverted.
Definition at line 177 of file trans.h.
References claraty::Base_Trans< T, Rotation_Type >::_p, and claraty::Base_Trans< T, Rotation_Type >::_r.
00178 { 00179 Trans<T1,Rotation_Type1> result(q); 00180 result._r = result._r.reverse(); 00181 result._p = result._r * q._p; 00182 00183 // Negate the position, done this way for efficiency 00184 // 00185 result._p(0) = -result._p(0); 00186 result._p(1) = -result._p(1); 00187 result._p(2) = -result._p(2); 00188 return result; 00189 }
| QTrans<T> claraty::inverse | ( | const QTrans< T > & | q | ) | [inline] |
| HTrans<T> claraty::inverse | ( | const HTrans< T > & | q | ) | [inline] |
| Matrix_NxM<T, 3, 3> claraty::inverse | ( | const Matrix_NxM< T, 3, 3 > & | m | ) |
Definition at line 105 of file matrix_inverse.h.
References det(), and EPSILON.
00106 { 00107 Matrix_NxM<T, 3, 3> ret(m); 00108 T det = 00109 m(0,0) * (m(1,1) * m(2,2) - m(1,2) * m(2,1) ) 00110 - m(0,1) * (m(1,0) * m(2,2) - m(1,2) * m(2,0) ) 00111 + m(0,2) * (m(1,0) * m(2,1) - m(1,1) * m(2,1) ); 00112 00113 if (cl_abs(det) > EPSILON) { 00114 double s = 1.0 / det; 00115 ret(0,0) = (m(1,1) * m(2,2) - m(1,2) * m(2,1)) * s; 00116 ret(0,1) = (m(0,2) * m(2,1) - m(0,1) * m(2,2)) * s; 00117 ret(0,2) = (m(0,1) * m(1,2) - m(0,2) * m(1,1)) * s; 00118 ret(1,0) = (m(1,2) * m(2,0) - m(1,0) * m(2,2)) * s; 00119 ret(1,1) = (m(0,0) * m(2,2) - m(0,2) * m(2,0)) * s; 00120 ret(1,2) = (m(0,2) * m(1,0) - m(0,0) * m(1,2)) * s; 00121 ret(2,0) = (m(1,0) * m(2,1) - m(1,1) * m(2,0)) * s; 00122 ret(2,1) = (m(0,1) * m(2,0) - m(0,0) * m(2,1)) * s; 00123 ret(2,2) = (m(0,0) * m(1,1) - m(0,1) * m(1,0)) * s; 00124 } 00125 00126 return ret; 00127 }
Here is the call graph for this function:

| Matrix_NxM<T, 2, 2> claraty::inverse | ( | const Matrix_NxM< T, 2, 2 > & | m | ) |
Definition at line 86 of file matrix_inverse.h.
References det(), and EPSILON.
00087 { 00088 double det = m(0, 0) * m(1, 1) - m(0, 1) * m(1, 0); 00089 Matrix_NxM<T, 2, 2> inv(m); 00090 00091 if (cl_abs(det) > EPSILON) { 00092 double s = 1.0 / det; 00093 inv(0, 0) = s * m(1, 1); 00094 inv(0, 1) = -s * m(0, 1); 00095 inv(1, 0) = -s * m(1, 0); 00096 inv(1, 1) = s * m(0, 0); 00097 } 00098 00099 return inv; 00100 }
Here is the call graph for this function:

| bool claraty::io_image | ( | FDM_Map & | map, | |
| Image< T > & | rhs | |||
| ) |
Definition at line 361 of file image.h.
References claraty::FDM_Map::field().
Referenced by claraty::Camera_Image< Pixel_Type >::io(), and io_object().
00362 { 00363 // First use io_matrix to do the normal matrix io, which we can pass 00364 // the same FDM_Map& to as we later use ourselves, then add the 00365 // interpolation field 00366 bool ok = io_matrix(map, (Matrix<T>&)(rhs)); 00367 00368 int interp; 00369 switch (rhs.get_interpolation_type()) { 00370 case Image<T>::BILINEAR: 00371 interp = 0; 00372 break; 00373 case Image<T>::NOINTERP: 00374 interp = 1; 00375 break; 00376 case Image<T>::CHECK_BOUNDS: 00377 interp = 2; 00378 break; 00379 default: // could be uninitialized if we're reading into a new image 00380 interp = -1; 00381 break; 00382 } 00383 00384 ok &= map.field("interpolation", interp); 00385 00386 switch (interp) { 00387 case 0: 00388 rhs.set_interpolation_type(Image<T>::BILINEAR); 00389 break; 00390 case 1: 00391 rhs.set_interpolation_type(Image<T>::NOINTERP); 00392 break; 00393 case 2: 00394 rhs.set_interpolation_type(Image<T>::CHECK_BOUNDS); 00395 break; 00396 default: // should never be undefined in serialized form 00397 ok = false; 00398 break; 00399 } 00400 00401 T maxval = rhs.get_maximum_value(); 00402 ok &= map.field("maximum_value", maxval); 00403 rhs.set_maximum_value(maxval); 00404 00405 return ok; 00406 }
Here is the call graph for this function:

| bool claraty::io_object | ( | FDM_Untyped_Node | node, | |
| RMatrix< T > & | rhs | |||
| ) |
Definition at line 764 of file rotation_matrix.h.
References claraty::FDM_Array::element(), claraty::FDM_Map::field(), claraty::FDM_Map::field_node(), and claraty::FDM_Map::is_read().
00765 { 00766 FDM_Map map(node); 00767 00768 // Put Nrows and Ncols into the output if we are writing, or double 00769 // check that the rows and columns match what we expect if we are 00770 // reading 00771 int nr=3, nc=3; 00772 bool ok = true; 00773 00774 ok &= map.field("nrows", nr); 00775 ok &= map.field("ncols", nc); 00776 00777 FDM_Array a = map.field_node("elements"); 00778 00779 // If we're reading, make sure the dimensions match. If not, read 00780 // the number of elements it said anyway, but throw them away 00781 if (map.is_read() && (nr!=3 || nc!=3)) { 00782 T ignore=0; 00783 for (int r = 0; r < nr; r++) 00784 for (int c = 0; c < nc; c++) 00785 a.element(ignore); 00786 ok = false; 00787 } 00788 else { 00789 // Either writing or reading and dimensions match 00790 for (int r = 0; r < nr; r++) 00791 for (int c = 0; c < nc; c++) 00792 ok &= a.element(rhs(r,c)); 00793 } 00794 return ok; 00795 }
Here is the call graph for this function:

| bool claraty::io_object | ( | FDM_Untyped_Node | node, | |
| N_2D_Point< T > & | rhs | |||
| ) |
Definition at line 792 of file 2d_point.h.
References claraty::FDM_Array::element().
00793 { 00794 FDM_Array a(node); 00795 bool ok = a.element(rhs(0)); 00796 ok &= a.element(rhs(1)); 00797 return ok; 00798 }
Here is the call graph for this function:

| bool claraty::io_object | ( | FDM_Untyped_Node | node, | |
| Point< T > & | rhs | |||
| ) |
Definition at line 838 of file point.h.
References claraty::FDM_Array::element().
00839 { 00840 FDM_Array a(node); 00841 bool ok = a.element(rhs(Point<T>::X)); 00842 ok &= a.element(rhs(Point<T>::Y)); 00843 ok &= a.element(rhs(Point<T>::Z)); 00844 return ok; 00845 }
Here is the call graph for this function:

| bool claraty::io_object | ( | FDM_Untyped_Node | node, | |
| Unit_Vector< T > & | rhs | |||
| ) |
Definition at line 166 of file unit_vector.h.
References claraty::FDM_Array::element(), claraty::Unit_Vector< T >::set(), claraty::Unit_Vector< T >::x(), claraty::Unit_Vector< T >::y(), and claraty::Unit_Vector< T >::z().
00167 { 00168 FDM_Array array(node); 00169 00170 T x = rhs.x(), y = rhs.y(), z = rhs.z(); 00171 bool ok = array.element(x); 00172 ok &= array.element(y); 00173 ok &= array.element(z); 00174 rhs.set(x, y, z); 00175 return ok; 00176 }
Here is the call graph for this function:

| bool claraty::io_object | ( | FDM_Untyped_Node | node, | |
| Matrix_NxM< T, Nrows, Ncols > & | rhs | |||
| ) |
Definition at line 232 of file matrix_nxm.h.
References claraty::FDM_Array::element(), claraty::FDM_Map::field(), claraty::FDM_Map::field_node(), and claraty::FDM_Map::is_read().
00233 { 00234 FDM_Map map(node); 00235 00236 // Put Nrows and Ncols into the output if we are writing, or double 00237 // check that the rows and columns match what we expect if we are 00238 // reading 00239 int nr=Nrows, nc=Ncols; 00240 bool ok = true; 00241 00242 ok &= map.field("nrows", nr); 00243 ok &= map.field("ncols", nc); 00244 00245 FDM_Array a = map.field_node("elements"); 00246 00247 // If we're reading, make sure the dimensions match. If not, read 00248 // the number of elements it said anyway, but throw them away 00249 if (map.is_read() && (nr!=Nrows || nc!=Ncols)) { 00250 T ignore=0; 00251 for (int r = 0; r < nr; r++) 00252 for (int c = 0; c < nc; c++) 00253 a.element(ignore); 00254 ok = false; 00255 } 00256 else { 00257 // Either writing or reading and dimensions match 00258 for (int r = 0; r < nr; r++) 00259 for (int c = 0; c < nc; c++) 00260 ok &= a.element(rhs(r, c)); 00261 } 00262 return ok; 00263 }
Here is the call graph for this function:

| bool claraty::io_object | ( | FDM_Untyped_Node | node, | |
| Vector< T > & | rhs | |||
| ) |
Definition at line 390 of file vector.h.
References COL_VECTOR, claraty::FDM_Array::elements(), claraty::FDM_Map::field(), claraty::FDM_Map::field_node(), claraty::Vector< T >::get_orientation(), claraty::Vector< T >::get_size(), claraty::FDM_Map::is_read(), claraty::FDM_Map::peekfield(), claraty::FDM_Array::resizable_length(), claraty::Vector< T >::resize(), ROW_VECTOR, and claraty::Vector< T >::set_orientation().
00391 { 00392 FDM_Map map(node); 00393 const int latest_version = 1; 00394 unsigned int this_version = latest_version; 00395 bool oldver = false; 00396 bool ok; 00397 if (map.is_read() && !map.peekfield("version", this_version)) { 00398 unsigned int dummy_nrows; 00399 oldver = map.peekfield("nrows", dummy_nrows); 00400 if (oldver) { 00401 int nrows, ncols; 00402 ok = map.field("nrows", nrows); 00403 ok &= map.field("ncols", ncols); 00404 assert(nrows == 1); 00405 rhs.resize(ncols); 00406 rhs.set_orientation(ROW_VECTOR); 00407 FDM_Array a = map.field_node("elements"); 00408 ok &= a.elements(rhs.begin(), rhs.end()); 00409 return ok; 00410 } 00411 } else 00412 ok = map.field("version", this_version); 00413 00414 FDM_Array arr = map.field_node("elements"); 00415 int size = rhs.get_size(); 00416 arr.resizable_length(size); 00417 if (map.is_read()) // don't resize unless we're reading 00418 rhs.resize(1, size); 00419 bool ret = arr.elements(rhs.begin(), rhs.end()); 00420 Vector_Orientation o = rhs.get_orientation(); 00421 char ch_orientation = o == ROW_VECTOR ? 'r' : 'c'; 00422 ret &= map.field("orientation", ch_orientation); 00423 o = ch_orientation == 'r' ? ROW_VECTOR : COL_VECTOR; 00424 rhs.set_orientation(o); 00425 return ret; 00426 }
Here is the call graph for this function:

| bool claraty::io_object | ( | FDM_Untyped_Node | node, | |
| Image< T > & | rhs | |||
| ) |
Definition at line 409 of file image.h.
References io_image().
00410 { 00411 FDM_Map map(node); 00412 return io_image(map, rhs); 00413 }
Here is the call graph for this function:

| bool claraty::io_object | ( | FDM_Untyped_Node | node, | |
| C & | c | |||
| ) |
| bool claraty::io_object | ( | FDM_Map | map, | |
| std::auto_ptr< A_Camera_Model > & | model | |||
| ) |
| bool claraty::io_object | ( | FDM_Map | map, | |
| std::auto_ptr< Camera_Model > & | model | |||
| ) |
| bool claraty::io_object | ( | FDM_Map | map, | |
| auto_ptr< Camera_Model > & | model | |||
| ) |
Definition at line 220 of file camera_model.cc.
References claraty::Camera_Model::build_from_typename(), claraty::FDM_Map::field(), claraty::FDM_Map::is_read(), claraty::FDM_Map::is_write(), and claraty::FDM_Map::peekfield().
00221 { 00222 bool ok = true; 00223 00224 if (map.is_read()) { 00225 // build the underlying pointer via the factory 00226 std::string type_name; 00227 ok &= map.peekfield("type", type_name); 00228 if (type_name == "none") { 00229 model.reset(NULL); 00230 return ok; 00231 } 00232 model.reset(Camera_Model::build_from_typename(type_name)); 00233 if(model.get()==NULL) { 00234 cerr << "Unable to construct camera model of type " 00235 << type_name << endl; 00236 return(false); 00237 } 00238 } 00239 if (map.is_write() && model.get() == NULL) { 00240 std::string type_name= "none"; 00241 ok &= map.field("type", type_name); 00242 return ok; 00243 } 00244 ok &= model->io(map); 00245 return ok; 00246 }
Here is the call graph for this function:

| bool claraty::io_object | ( | FDM_Untyped_Node | node, | |
| N_2D_Array< T > & | rhs | |||
| ) |
Definition at line 833 of file 2d_array.h.
References claraty::N_2D_Array< T >::io().
Referenced by claraty::FDM_Stream::_io_object().
Here is the call graph for this function:

| bool claraty::is_floating_point_type | ( | ) | [inline] |
| bool claraty::is_floating_point_type< double > | ( | ) | [inline] |
| bool claraty::is_floating_point_type< float > | ( | ) | [inline] |
| bool claraty::is_floating_point_type< long double > | ( | ) | [inline] |
| bool claraty::is_integral_type | ( | ) | [inline] |
| bool claraty::is_integral_type< char > | ( | ) | [inline] |
| bool claraty::is_integral_type< int > | ( | ) | [inline] |
| bool claraty::is_integral_type< long > | ( | ) | [inline] |
| bool claraty::is_integral_type< long long > | ( | ) | [inline] |
| bool claraty::is_integral_type< short > | ( | ) | [inline] |
| bool claraty::is_integral_type< unsigned char > | ( | ) | [inline] |
| bool claraty::is_integral_type< unsigned int > | ( | ) | [inline] |
| bool claraty::is_integral_type< unsigned long > | ( | ) | [inline] |
| bool claraty::is_integral_type< unsigned long long > | ( | ) | [inline] |
| bool claraty::is_integral_type< unsigned short > | ( | ) | [inline] |
| bool claraty::is_numeric_type | ( | ) | [inline] |
| void claraty::left_justify | ( | const char * | s | ) | [inline] |
| void claraty::match_orientations | ( | const Vector< T1 > & | lhs, | |
| const Matrix< T2 > & | rhs | |||
| ) |
Vector operations, which are dealt with explicitly because Vectors keep their column vs. row orientation internally.
Definition at line 142 of file matrix_operator.h.
References COL_VECTOR, claraty::Vector< T >::get_orientation(), claraty::N_2D_Array< T >::get_size(), claraty::N_2D_Array< T >::ncols(), claraty::Vector< T >::ncols(), claraty::Vector< T >::nrows(), claraty::N_2D_Array< T >::nrows(), and ROW_VECTOR.
Referenced by operator+(), and operator-().
00143 { 00144 assert((lhs.get_orientation() == ROW_VECTOR && rhs.nrows() == 1 && 00145 lhs.ncols() == rhs.get_size()) || 00146 (lhs.get_orientation() == COL_VECTOR && rhs.ncols() == 1 && 00147 lhs.nrows() == rhs.get_size())); 00148 }
Here is the call graph for this function:

| void claraty::matrix_cholesky_backsubstitute | ( | const Matrix< T > & | L, | |
| const Matrix< T > & | B, | |||
| Matrix< T > & | X | |||
| ) |
This step solves two linear systems where the coefficient matrix is triangular. The matrix passed in should be a lower triangular matrix such that LL' = A and A is the original symmetric positive definite coefficient matrix for the original linear system to be solved. Again, this is home grown code, NOT numerical recipes.
- Parameters:
-
[in] L Input matrix. [in] B Input matrix. [out] X Resultant matrix.
Definition at line 141 of file matrix_cholesky.h.
References claraty::N_2D_Array< T >::get_num_of_cols(), claraty::N_2D_Array< T >::get_num_of_rows(), and sum().
Referenced by matrix_solve_symposdef().
00144 { 00145 int i, j, k; // loop counters 00146 int nrows, ncols; // matrix size parameters 00147 double sum; // accumulator 00148 00149 // Get size of L, check that it's square 00150 nrows = L.get_num_of_rows(); 00151 if (L.get_num_of_cols() != nrows){ 00152 // not square 00153 std::cerr << "matrix_cholesky_backsubstitute: L not square" << std::endl; 00154 } 00155 00156 // Check that L is lower triangular: 00157 for (i=0; i<nrows; i++){ 00158 for (j=i+1; j<nrows; j++){ 00159 if (fabs(L(i,j))>1e-15) 00160 std::cerr << "matrix_cholesky_backsubstitute: L not lower triangular" << std::endl; 00161 } 00162 } 00163 00164 // Get number of columns of B, and make sure the number of rows of B 00165 // is the same as the number of rows (cols) of L. 00166 ncols = B.get_num_of_cols(); 00167 if (B.get_num_of_rows()!=nrows){ 00168 // size mismatch between L and B 00169 std::cerr << "matrix_cholesky_backsubstitute: size mismatch L and B" << std::endl; 00170 } 00171 00172 // Solution vector should be same size as B. This "=" will make 00173 // sure there is memory if there wasn't already, and makes sure they 00174 // are the same size. There may be a faster way that doesn't clone 00175 // the data. 00176 X = B; 00177 00178 // Backsubstitute to get the intermediate result Y (stored in X). 00179 // This operation can be done in place, and returns an intermediate 00180 // result to be used below. Do one column at a time: 00181 for (k=0; k<ncols; k++){ 00182 for (i=0; i<nrows; i++){ 00183 sum = 0.0; 00184 for (j=0; j<i; j++){ 00185 sum += L(i,j)*X(j,k); 00186 } 00187 X(i,k) = (B(i,k) - sum) / L(i,i); 00188 } 00189 } 00190 00191 // Backsubstitute to get the final result X. These can be done 00192 // in-place as well. The RHS is now the result from above, and the 00193 // destination for the solution. Do one column at a time, start at 00194 // the bottom and go up: 00195 for (k=0; k<ncols; k++){ 00196 for (i=nrows-1; i>=0; i--){ 00197 sum = 0.0; 00198 for (j=nrows-1; j>i; j--){ 00199 sum += L(j,i)*X(j,k); 00200 } 00201 X(i,k) = (X(i,k) - sum) / L(i,i); 00202 } 00203 } 00204 }
Here is the call graph for this function:

| void claraty::matrix_solve_symposdef | ( | const Matrix< T > & | A, | |
| const Matrix< T > & | B, | |||
| Matrix< T > & | X | |||
| ) |
Computes the Cholesky factor of a symmetric positive definite matrix. This function solves a linear system of equations in the form A*X=B (1) where A is symmetric and positive definite. The solver first computes the cholesky factor of A, LL' = A (2) turning the original problem into LL'X = B (3) Then the two systems are solved in turn to yield X: LY=B (4) L'X=Y (5) The solver makes one call to a fairly general cholesky factorization routine to compute (2) and then a call to a special purpose cholesky backsubstitution routine that solves both equations (4) and (5), returning X.
Definition at line 207 of file matrix_cholesky.h.
References matrix_cholesky(), and matrix_cholesky_backsubstitute().
00219 : 00220 * LY=B (4) 00221 * L'X=Y (5) 00222 * The solver makes one call to a fairly general cholesky 00223 * factorization routine to compute (2) and then a call to a special 00224 * purpose cholesky backsubstitution routine that solves both 00225 * equations (4) and (5), returning X. 00226 */ 00227 { 00228 // Cholesky factor 00229 Matrix<T> L; 00230 00231 // Compute cholesky factor L 00232 matrix_cholesky(A,L); 00233 00234 // Solve two linear systems using backsubstitution 00235 matrix_cholesky_backsubstitute( L, B, X ); 00236 00237 // Destroy L 00238 // <implicit> 00239 00240 }
Here is the call graph for this function:

| void claraty::memory_failure | ( | void | ) |
| double claraty::norm | ( | const Vector< T > & | a | ) |
Returns the norm of vector a: |a|.
Definition at line 275 of file matrix_operator.h.
References claraty::Vector< T >::magnitude().
Referenced by pug::strwnorm().
Here is the call graph for this function:

| Point< T > claraty::normalize | ( | const Point< T > & | p | ) | [inline] |
Definition at line 722 of file point.h.
References claraty::Point< T >::length().
00723 { 00724 double len = p.length(); 00725 return (len > Point<T>::_epsilon() ? p/len : Point<T>()); 00726 }
Here is the call graph for this function:

| static std::string claraty::object_to_string | ( | const T & | obj | ) | [static] |
Definition at line 257 of file fdm_parse_tree.h.
Referenced by Image_IO_Pnm_State::save(), and save_camera_image().
00257 { 00258 return FDM_Parse_Tree::object_to_string(obj); 00259 }
| Bits claraty::operator & | ( | const Bits & | lhs, | |
| const Bits & | rhs | |||
| ) | [inline] |
| Ray claraty::operator * | ( | const Matrix< float > & | m, | |
| const Ray & | r | |||
| ) |
Definition at line 38 of file tsai_camera_model.cc.
References claraty::N_2D_Array< T >::get_num_of_cols(), and claraty::N_2D_Array< T >::get_num_of_rows().
00039 { 00040 Ray res; 00041 00042 assert(m.get_num_of_rows() == 3); 00043 assert(m.get_num_of_cols() == 3); 00044 00045 res(0) = m(0,0) * r(0) + m(0,1) * r(1) + m(0,2) * r(2); 00046 res(1) = m(1,0) * r(0) + m(1,1) * r(1) + m(1,2) * r(2); 00047 res(2) = m(2,0) * r(0) + m(2,1) * r(1) + m(2,2) * r(2); 00048 00049 return res; 00050 }
Here is the call graph for this function:

| const Matrix<T> claraty::operator * | ( | const Matrix< T > & | lhs, | |
| const RMatrix< T > & | rhs | |||
| ) |
Definition at line 700 of file rotation_matrix.h.
References claraty::Base_RMatrix< T >::_data, claraty::N_2D_Array< T >::ncols(), and claraty::N_2D_Array< T >::nrows().
00701 { 00702 Matrix<T> result(3,3); 00703 00704 if ((lhs.ncols() != 3)||(lhs.nrows() != 3)) 00705 return result; 00706 00707 00708 result(0,0) = lhs(0,0) * rhs._data[0][0] 00709 + lhs(0,1) * rhs._data[1][0] 00710 + lhs(0,2) * rhs._data[2][0]; 00711 00712 result(0,1) = lhs(0,0) * rhs._data[0][1] 00713 + lhs(0,1) * rhs._data[1][1] 00714 + lhs(0,2) * rhs._data[2][1]; 00715 00716 result(0,2) = lhs(0,0) * rhs._data[0][2] 00717 + lhs(0,1) * rhs._data[1][2] 00718 + lhs(0,2) * rhs._data[2][2]; 00719 00720 00721 result(1,0) = lhs(1,0) * rhs._data[0][0] 00722 + lhs(1,1) * rhs._data[1][0] 00723 + lhs(1,2) * rhs._data[2][0]; 00724 00725 result(1,1) = lhs(1,0) * rhs._data[0][1] 00726 + lhs(1,1) * rhs._data[1][1] 00727 + lhs(1,2) * rhs._data[2][1]; 00728 00729 result(1,2) = lhs(1,0) * rhs._data[0][2] 00730 + lhs(1,1) * rhs._data[1][2] 00731 + lhs(1,2) * rhs._data[2][2]; 00732 00733 00734 result(2,0) = lhs(2,0) * rhs._data[0][0] 00735 + lhs(2,1) * rhs._data[1][0] 00736 + lhs(2,2) * rhs._data[2][0]; 00737 00738 result(2,1) = lhs(2,0) * rhs._data[0][1] 00739 + lhs(2,1) * rhs._data[1][1] 00740 + lhs(2,2) * rhs._data[2][1]; 00741 00742 result(2,2) = lhs(2,0) * rhs._data[0][2] 00743 + lhs(2,1) * rhs._data[1][2] 00744 + lhs(2,2) * rhs._data[2][2]; 00745 return result; 00746 }
Here is the call graph for this function:

| const Matrix<T> claraty::operator * | ( | const RMatrix< T > & | lhs, | |
| const Matrix< T > & | rhs | |||
| ) |
Definition at line 649 of file rotation_matrix.h.
References claraty::Base_RMatrix< T >::_data, claraty::N_2D_Array< T >::ncols(), and claraty::N_2D_Array< T >::nrows().
00650 { 00651 Matrix<T> result(3,3); 00652 00653 if ((rhs.ncols() != 3)||(rhs.nrows() != 3)) 00654 return result; 00655 00656 00657 result(0,0) = lhs._data[0][0] * rhs(0,0) 00658 + lhs._data[0][1] * rhs(1,0) 00659 + lhs._data[0][2] * rhs(2,0); 00660 00661 result(0,1) = lhs._data[0][0] * rhs(0,1) 00662 + lhs._data[0][1] * rhs(1,1) 00663 + lhs._data[0][2] * rhs(2,1); 00664 00665 result(0,2) = lhs._data[0][0] * rhs(0,2) 00666 + lhs._data[0][1] * rhs(1,2) 00667 + lhs._data[0][2] * rhs(2,2); 00668 00669 00670 result(1,0) = lhs._data[1][0] * rhs(0,0) 00671 + lhs._data[1][1] * rhs(1,0) 00672 + lhs._data[1][2] * rhs(2,0); 00673 00674 result(1,1) = lhs._data[1][0] * rhs(0,1) 00675 + lhs._data[1][1] * rhs(1,1) 00676 + lhs._data[1][2] * rhs(2,1); 00677 00678 result(1,2) = lhs._data[1][0] * rhs(0,2) 00679 + lhs._data[1][1] * rhs(1,2) 00680 + lhs._data[1][2] * rhs(2,2); 00681 00682 00683 result(2,0) = lhs._data[2][0] * rhs(0,0) 00684 + lhs._data[2][1] * rhs(1,0) 00685 + lhs._data[2][2] * rhs(2,0); 00686 00687 result(2,1) = lhs._data[2][0] * rhs(0,1) 00688 + lhs._data[2][1] * rhs(1,1) 00689 + lhs._data[2][2] * rhs(2,1); 00690 00691 result(2,2) = lhs._data[2][0] * rhs(0,2) 00692 + lhs._data[2][1] * rhs(1,2) 00693 + lhs._data[2][2] * rhs(2,2); 00694 return result; 00695 }
Here is the call graph for this function:

| const Point< T > claraty::operator * | ( | const RMatrix< T > & | lhs, | |
| const Point< T > & | rhs | |||
| ) |
Definition at line 752 of file rotation_matrix.h.
References claraty::Base_RMatrix< T >::_data.
00753 { 00754 Point<T> p; 00755 00756 p(0) = lhs._data[0][0]*rhs(0) + lhs._data[0][1]*rhs(1) + lhs._data[0][2]*rhs(2); 00757 p(1) = lhs._data[1][0]*rhs(0) + lhs._data[1][1]*rhs(1) + lhs._data[1][2]*rhs(2); 00758 p(2) = lhs._data[2][0]*rhs(0) + lhs._data[2][1]*rhs(1) + lhs._data[2][2]*rhs(2); 00759 return p; 00760 }
| const RMatrix< T > claraty::operator * | ( | const RMatrix< T > & | lhs, | |
| const RMatrix< T > & | rhs | |||
| ) |
Definition at line 603 of file rotation_matrix.h.
References claraty::Base_RMatrix< T >::_data.
00604 { 00605 RMatrix<T> result; 00606 00607 result._data[0][0] = lhs._data[0][0] * rhs._data[0][0] 00608 + lhs._data[0][1] * rhs._data[1][0] 00609 + lhs._data[0][2] * rhs._data[2][0]; 00610 00611 result._data[0][1] = lhs._data[0][0] * rhs._data[0][1] 00612 + lhs._data[0][1] * rhs._data[1][1] 00613 + lhs._data[0][2] * rhs._data[2][1]; 00614 00615 result._data[0][2] = lhs._data[0][0] * rhs._data[0][2] 00616 + lhs._data[0][1] * rhs._data[1][2] 00617 + lhs._data[0][2] * rhs._data[2][2]; 00618 00619 00620 result._data[1][0] = lhs._data[1][0] * rhs._data[0][0] 00621 + lhs._data[1][1] * rhs._data[1][0] 00622 + lhs._data[1][2] * rhs._data[2][0]; 00623 00624 result._data[1][1] = lhs._data[1][0] * rhs._data[0][1] 00625 + lhs._data[1][1] * rhs._data[1][1] 00626 + lhs._data[1][2] * rhs._data[2][1]; 00627 00628 result._data[1][2] = lhs._data[1][0] * rhs._data[0][2] 00629 + lhs._data[1][1] * rhs._data[1][2] 00630 + lhs._data[1][2] * rhs._data[2][2]; 00631 00632 result._data[2][0] = lhs._data[2][0] * rhs._data[0][0] 00633 + lhs._data[2][1] * rhs._data[1][0] 00634 + lhs._data[2][2] * rhs._data[2][0]; 00635 00636 result._data[2][1] = lhs._data[2][0] * rhs._data[0][1] 00637 + lhs._data[2][1] * rhs._data[1][1] 00638 + lhs._data[2][2] * rhs._data[2][1]; 00639 00640 result._data[2][2] = lhs._data[2][0] * rhs._data[0][2] 00641 + lhs._data[2][1] * rhs._data[1][2] 00642 + lhs._data[2][2] * rhs._data[2][2]; 00643 return result; 00644 }
| N_2D_Point<T> claraty::operator * | ( | const N_2D_Point< T > & | v, | |
| double | s | |||
| ) | [inline] |
| N_2D_Point< T > claraty::operator * | ( | double | , | |
| const N_2D_Point< T > & | ||||
| ) | [inline] |
| Point<T> claraty::operator * | ( | T2 | , | |
| const Point< T > & | ||||
| ) |
| Point<T> claraty::operator * | ( | const Point< T > & | , | |
| T2 | ||||
| ) |
| Vector<T1> claraty::operator * | ( | const Vector< T1 > & | lhs, | |
| const Matrix< T2 > & | rhs | |||
| ) |
Definition at line 228 of file matrix_operator.h.
References cl_inner_product(), claraty::N_2D_Array< T >::column_iterator(), claraty::Vector< T >::get_orientation(), claraty::Vector< T >::get_size(), claraty::N_2D_Array< T >::get_size(), claraty::N_2D_Array< T >::ncols(), claraty::N_2D_Array< T >::nrows(), and ROW_VECTOR.
00229 { 00230 if (lhs.get_orientation() != ROW_VECTOR) { 00231 if (rhs.get_size() == 1) // 1x1 matrix is same as scalar in this case 00232 return lhs * rhs(0, 0); 00233 std::cerr << "Vector * Matrix: for outer product, you must use column Vector " 00234 "times row Vector" << std::endl; 00235 assert(lhs.get_orientation() == ROW_VECTOR); 00236 } 00237 int sz = lhs.get_size(); 00238 assert(sz == rhs.nrows()); 00239 Vector<T1> ret(rhs.ncols(), ROW_VECTOR); 00240 // const T1* lhs_data = lhs.begin(); 00241 // const T1* lhs_end = lhs.end(); 00242 typename Vector<T1>::const_iterator lhs_data = lhs.begin(); 00243 typename Vector<T1>::const_iterator lhs_end = lhs.end(); 00244 for (int c = 0; c < rhs.ncols(); c++) 00245 ret[c] = 00246 cl_inner_product(lhs_data, lhs_end, rhs.column_iterator(c), T1(0)); 00247 return ret; 00248 }
Here is the call graph for this function:

| Vector<T1> claraty::operator * | ( | const Matrix< T1 > & | lhs, | |
| const Vector< T2 > & | rhs | |||
| ) |
Definition at line 207 of file matrix_operator.h.
References cl_inner_product(), COL_VECTOR, claraty::Vector< T >::get_orientation(), claraty::N_2D_Array< T >::get_row_pointer(), claraty::Vector< T >::get_size(), claraty::N_2D_Array< T >::ncols(), and claraty::N_2D_Array< T >::nrows().
00208 { 00209 if (rhs.get_orientation() != COL_VECTOR) { 00210 std::cerr << "Matrix * Vector: for outer product, you must use column Vector " 00211 "times row Vector" << std::endl; 00212 assert(rhs.get_orientation() == COL_VECTOR); 00213 } 00214 int sz = lhs.ncols(); 00215 assert(sz == rhs.get_size()); 00216 Vector<T1> ret(lhs.nrows(), COL_VECTOR); 00217 // const T2 *rhs_data = rhs.begin(); 00218 typename Vector<T2>::const_iterator rhs_data = rhs.begin(); 00219 for (int r = 0; r < lhs.nrows(); r++) 00220 ret[r] = 00221 cl_inner_product(lhs.get_row_pointer(r), lhs.get_row_pointer(r) + sz, 00222 rhs_data, T1(0)); 00223 return ret; 00224 }
Here is the call graph for this function:

| Matrix<T1> claraty::operator * | ( | const Vector< T1 > & | lhs, | |
| const Vector< T2 > & | rhs | |||
| ) |
Definition at line 188 of file matrix_operator.h.
References claraty::Vector< T >::dot(), claraty::Vector< T >::get_orientation(), claraty::Vector< T >::get_size(), and ROW_VECTOR.
00189 { 00190 assert(lhs.get_size() == rhs.get_size() && 00191 lhs.get_orientation() != rhs.get_orientation()); 00192 if (lhs.get_orientation() == ROW_VECTOR) { 00193 Matrix<T1> ret(1, 1); 00194 ret(0, 0) = lhs.dot(rhs); 00195 return ret; 00196 } 00197 int sz = lhs.get_size(); 00198 Matrix<T1> ret(sz, sz); 00199 for (int r = 0; r < sz; r++) 00200 for (int c = 0; c < sz; c++) 00201 ret(r, c) = lhs[r] * rhs[c]; 00202 return ret; 00203 }
Here is the call graph for this function:

| const Matrix_NxM<T, NR1, NC2> claraty::operator * | ( | const Matrix_NxM< T, NR1, NC1 > & | lhs, | |
| const Matrix_NxM< T, NC1, NC2 > & | rhs | |||
| ) |
Definition at line 214 of file matrix_nxm.h.
References sum().
00216 { 00217 Matrix_NxM<T, NR1, NC2> result(T(0)); 00218 for (int i = 0; i < NR1; ++i) { 00219 for (int j = 0;j < NC2; ++j) { 00220 T& sum = result(i, j); 00221 for (int k = 0; k < NC1; ++k) 00222 sum += lhs(i, k) * rhs(k, j); 00223 } 00224 } 00225 return result; 00226 }
Here is the call graph for this function:

| const Matrix<T> claraty::operator * | ( | const Matrix< T > & | lhs, | |
| const Matrix< T > & | rhs | |||
| ) |
Definition at line 355 of file matrix.h.
References claraty::N_2D_Array< T >::column_iterator(), claraty::N_2D_Array< T >::get_num_of_cols(), claraty::N_2D_Array< T >::get_num_of_rows(), claraty::N_2D_Array< T >::get_row_pointer(), claraty::N_2D_Array< T >::ncols(), and claraty::N_2D_Array< T >::nrows().
00356 { 00357 if (lhs.ncols() == rhs.nrows()) { 00358 Matrix<T> result(lhs.get_num_of_rows(), rhs.get_num_of_cols()); 00359 N_2D_Array_Iterator<T> it_res = result.begin(); 00360 00361 for (int i = 0; i < lhs.get_num_of_rows(); ++i) { 00362 for (int j = 0; j < rhs.get_num_of_cols(); ++j, ++it_res) { 00363 const T *p_lhs = lhs.get_row_pointer(i); 00364 N_2D_Array_const_Iterator<T> it_rhs = rhs.column_iterator(j); 00365 *it_res = 0; 00366 for (int k = 0; k < rhs.get_num_of_rows(); ++k, ++p_lhs, ++it_rhs) 00367 *it_res += (*p_lhs) * (*it_rhs); 00368 } 00369 } 00370 return result; 00371 } else { 00372 std::cerr << "Attempted to multiply matrices of incompatible sizes" << std::endl; 00373 return lhs; 00374 } 00375 }
Here is the call graph for this function:

| N_2D_Point< T > claraty::operator+ | ( | const N_2D_Point< T > & | , | |
| const N_2D_Point< T > & | ||||
| ) | [inline] |
| Point<T> claraty::operator+ | ( | const Point< T > & | , | |
| const Point< T > & | v2 | |||
| ) |
| Vector<T1> claraty::operator+ | ( | const Matrix< T1 > & | lhs, | |
| const Vector< T2 > & | rhs | |||
| ) |
| Vector<T1> claraty::operator+ | ( | const Vector< T1 > & | lhs, | |
| const Matrix< T2 > & | rhs | |||
| ) |
Definition at line 151 of file matrix_operator.h.
References claraty::N_2D_Array< T >::begin(), claraty::Vector< T >::get_orientation(), claraty::Vector< T >::get_size(), and match_orientations().
00152 { 00153 match_orientations(lhs, rhs); 00154 Vector<T1> ret(lhs.get_size(), lhs.get_orientation()); 00155 std::transform(lhs.begin(), lhs.end(), rhs.begin(), ret.begin(), 00156 std::plus<T1>()); 00157 return ret; 00158 }
Here is the call graph for this function:

| Vector<T1> claraty::operator+ | ( | const Vector< T1 > & | lhs, | |
| const Vector< T2 > & | rhs | |||
| ) |
Definition at line 343 of file vector.h.
References vector_transform().
00344 { 00345 return vector_transform(lhs, rhs, std::plus<T1>()); 00346 }
Here is the call graph for this function:

| N_2D_Point< T > claraty::operator- | ( | const N_2D_Point< T > & | ) | [inline] |
| N_2D_Point< T > claraty::operator- | ( | const N_2D_Point< T > & | , | |
| const N_2D_Point< T > & | ||||
| ) | [inline] |
| Point< T > claraty::operator- | ( | const Point< T > & | ) | [inline] |
| Point<T> claraty::operator- | ( | const Point< T > & | , | |
| const Point< T > & | ||||
| ) |
| Vector<T1> claraty::operator- | ( | const Matrix< T1 > & | lhs, | |
| const Vector< T2 > & | rhs | |||
| ) |
Definition at line 177 of file matrix_operator.h.
References claraty::N_2D_Array< T >::begin(), claraty::N_2D_Array< T >::end(), claraty::Vector< T >::get_orientation(), claraty::Vector< T >::get_size(), and match_orientations().
00178 { 00179 match_orientations(rhs, lhs); 00180 Vector<T1> ret(rhs.get_size(), rhs.get_orientation()); 00181 std::transform(lhs.begin(), lhs.end(), rhs.begin(), ret.begin(), 00182 std::minus<T1>()); 00183 return ret; 00184 }
Here is the call graph for this function:

| Vector<T1> claraty::operator- | ( | const Vector< T1 > & | lhs, | |
| const Matrix< T2 > & | rhs | |||
| ) |
Definition at line 161 of file matrix_operator.h.
References claraty::N_2D_Array< T >::begin(), claraty::Vector< T >::get_orientation(), claraty::Vector< T >::get_size(), and match_orientations().
00162 { 00163 match_orientations(lhs, rhs); 00164 Vector<T1> ret(lhs.get_size(), lhs.get_orientation()); 00165 std::transform(lhs.begin(), lhs.end(), rhs.begin(), ret.begin(), 00166 std::minus<T1>()); 00167 return ret; 00168 }
Here is the call graph for this function:

| Vector<T1> claraty::operator- | ( | const Vector< T1 > & | lhs, | |
| const Vector< T2 > & | rhs | |||
| ) |
Definition at line 350 of file vector.h.
References vector_transform().
00351 { 00352 return vector_transform(lhs, rhs, std::minus<T1>()); 00353 }
Here is the call graph for this function:

| N_2D_Point< T > claraty::operator/ | ( | const N_2D_Point< T > & | , | |
| double | ||||
| ) | [inline] |
Definition at line 702 of file 2d_point.h.
References claraty::N_2D_Point< T >::x(), and claraty::N_2D_Point< T >::y().
Here is the call graph for this function:

| Point<T> claraty::operator/ | ( | const Point< T > & | , | |
| T2 | ||||
| ) |
| std::ostream& claraty::operator<< | ( | std::ostream & | str, | |
| const Tsai_Camera_Model & | m | |||
| ) |
| ostream& claraty::operator<< | ( | ostream & | os, | |
| const Tsai_Camera_Model & | model | |||
| ) |
Definition at line 386 of file tsai_camera_model.cc.
References claraty::FDM_Parse_Tree::write_object().
Here is the call graph for this function:

| std::ostream& claraty::operator<< | ( | std::ostream & | os, | |
| const RMatrix< T > & | m | |||
| ) |
Definition at line 555 of file rotation_matrix.h.
References claraty::XML_Out::get_indentation_space(), and claraty::XML_Out::is_xml_output_on().
00556 { 00557 // const Matrix<T> tmp(3,3, &rmatrix(0,0)); 00558 // os << tmp; 00559 // return os; 00560 00561 // Matrix<T> mat(m); 00562 // os << mat; 00563 // return os; 00564 00565 // Set up the spacing for the indentation of the fields in the file 00566 std::string spacing = ""; 00567 spacing.append(XML_Out::get_indentation_space(), ' '); 00568 00569 long oldPrecision; 00570 if (XML_Out::is_xml_output_on()) 00571 { 00572 T roll, pitch, yaw; 00573 m.get_rpy_angles(roll, pitch, yaw); 00574 os << spacing << "<Rotation "; 00575 os << "type = \"RPY\" "; 00576 os << "angle1 = \"" << std::setw(8) << roll << "\" "; 00577 os << "angle2 = \"" << std::setw(8) << pitch << "\" "; 00578 os << "angle3 = \"" << std::setw(8) << yaw << "\" />\n"; 00579 } 00580 else 00581 { 00582 os << "size: (3,3)" << std::endl; 00583 os.setf(std::ios::showpoint); 00584 00585 oldPrecision = os.precision(); 00586 os.precision(4); 00587 for (int i=0; i < 3; ++i) { 00588 os << "[ "; 00589 for (int j=0; j < 3; ++j) { 00590 os << " " << std::setw(8) << m._data[i][j]; 00591 } 00592 os << " ]" << std::endl; 00593 } 00594 os.precision(oldPrecision); 00595 } 00596 return os; 00597 }
Here is the call graph for this function:

| std::ostream& claraty::operator<< | ( | std::ostream & | os, | |
| const Quaternion< T > & | q | |||
| ) |
Definition at line 875 of file quaternion.h.
References claraty::XML_Out::get_indentation_space(), and claraty::XML_Out::is_xml_output_on().
00876 { 00877 // Set up the spacing for the indentation of the fields in the file 00878 std::string spacing = ""; 00879 spacing.append(XML_Out::get_indentation_space(), ' '); 00880 std::ios::fmtflags oldBase; 00881 int oldPrecision; 00882 00883 os.setf(std::ios::showpoint); 00884 00885 if (sizeof(T)==1) 00886 { 00887 oldBase = os.setf(std::ios::hex, std::ios::basefield); 00888 } 00889 else 00890 { 00891 oldPrecision = os.precision(); 00892 os.precision(4); 00893 } 00894 00895 if (XML_Out::is_xml_output_on()) 00896 { 00897 os << spacing << "<Quaternion "; 00898 os << "qi = \"" << std::setw(8) << q(0) << "\" "; 00899 os << "qj = \"" << std::setw(8) << q(1) << "\" "; 00900 os << "qk = \"" << std::setw(8) << q(2) << "\" "; 00901 os << "qs = \"" << std::setw(8) << q(3) << "\" />\n"; 00902 } 00903 else 00904 { 00905 os << "Quaternion: [ "; 00906 for (int j=0; j < 4; ++j) 00907 os << " " << ((sizeof(T)==1) ? (int) q(j) : q(j)); 00908 00909 os << " ]" << std::endl; 00910 } 00911 00912 if (sizeof(T)==1) 00913 os.setf(oldBase, std::ios::basefield); 00914 else 00915 os.precision(oldPrecision); 00916 return os; 00917 }
Here is the call graph for this function:

| std::ostream& claraty::operator<< | ( | std::ostream & | os, | |
| const Trans< T2, Rotation_Type2 > & | tt | |||
| ) | [inline] |
friend operator ostream out
- Parameters:
-
[in] os ostream reference [in] tt Trans to be out-putted
- Returns:
- ostream with output
Definition at line 203 of file trans.h.
References claraty::Base_Trans< T, Rotation_Type >::_p, claraty::Base_Trans< T, Rotation_Type >::_r, and claraty::XML_Out::is_xml_output_on().
00205 { 00206 std::ios::fmtflags oldBase; 00207 int oldPrecision; 00208 00209 //os.setf(std::ios::showbase); 00210 os.unsetf(std::ios::showpoint); 00211 os.unsetf(std::ios::scientific); 00212 00213 if (sizeof(T2)==1) { 00214 oldBase = os.setf(std::ios::hex, std::ios::basefield); 00215 } 00216 else { 00217 oldPrecision = os.precision(); 00218 os.precision(4); 00219 } 00220 00221 if (XML_Out::is_xml_output_on()) 00222 { 00223 os << tt._p; 00224 os << tt._r; 00225 } 00226 else 00227 { 00228 os << "Trans:["; 00229 os << tt._p; 00230 os << tt._r; 00231 os << " ]"; 00232 } 00233 00234 if (sizeof(T2)==1) 00235 os.setf(oldBase, std::ios::basefield); 00236 else 00237 os.precision(oldPrecision); 00238 00239 return os; 00240 }
Here is the call graph for this function:

| std::ostream& claraty::operator<< | ( | std::ostream & | os, | |
| const QTrans< T > & | q | |||
| ) |
Definition at line 134 of file qtrans.h.
References claraty::Base_Trans< T, Rotation_Type >::_p, claraty::Base_Trans< T, Rotation_Type >::_r, claraty::XML_Out::get_indentation_space(), and claraty::XML_Out::is_xml_output_on().
00135 { 00136 // Set up the spacing for the indentation of the fields in the file 00137 std::string spacing = ""; 00138 spacing.append(XML_Out::get_indentation_space(), ' '); 00139 00140 std::ios::fmtflags oldBase; 00141 int oldPrecision; 00142 00143 //os.setf(std::ios::showbase); 00144 os.unsetf(std::ios::showpoint); 00145 os.unsetf(std::ios::scientific); 00146 00147 if (sizeof(T)==1) { 00148 oldBase = os.setf(std::ios::hex, std::ios::basefield); 00149 } 00150 else { 00151 oldPrecision = os.precision(); 00152 os.precision(4); 00153 } 00154 00155 if (XML_Out::is_xml_output_on()) 00156 { 00157 os << spacing << "<Position "; 00158 os << "x = \"" << std::setw(8) << q._p(0) << "\" "; 00159 os << "y = \"" << std::setw(8) << q._p(1) << "\" "; 00160 os << "z = \"" << std::setw(8) << q._p(2) << "\" />\n"; 00161 os << spacing << "<Quaternion "; 00162 os << "qi = \"" << std::setw(8) << q._r(0) << "\" "; 00163 os << "qj = \"" << std::setw(8) << q._r(1) << "\" "; 00164 os << "qk = \"" << std::setw(8) << q._r(2) << "\" "; 00165 os << "qs = \"" << std::setw(8) << q._r(3) << "\" />\n"; 00166 } 00167 else 00168 { 00169 00170 os << "QTrans:["; 00171 os << "x:" << std::setw(8) << q._p(0) << " " 00172 << "y:" << std::setw(8) << q._p(1) << " " 00173 << "z:" << std::setw(8) << q._p(2) << " " 00174 << "qi:" << std::setw(8) << q._r(0) << " " 00175 << "qj:" << std::setw(8) << q._r(1) << " " 00176 << "qk:" << std::setw(8) << q._r(2) << " " 00177 << "qk:" << std::setw(8) << q._r(3) 00178 << " ]" << std::endl; 00179 } 00180 00181 if (sizeof(T)==1) 00182 os.setf(oldBase, std::ios::basefield); 00183 else 00184 os.precision(oldPrecision); 00185 00186 return os; 00187 }
Here is the call graph for this function:

| std::ostream& claraty::operator<< | ( | std::ostream & | os, | |
| const HTrans< T > & | h | |||
| ) |
Definition at line 122 of file htrans.h.
References claraty::XML_Out::get_indentation_space(), and claraty::XML_Out::is_xml_output_on().
00123 { 00124 // Set up the spacing for the indentation of the fields in the file 00125 std::string spacing = ""; 00126 spacing.append(XML_Out::get_indentation_space(), ' '); 00127 00128 std::ios::fmtflags oldBase; 00129 int oldPrecision; 00130 T pitch, yaw, roll; 00131 00132 h._r.get_rpy_angles(roll, pitch, yaw); 00133 00134 //os.setf(std::ios::showbase); 00135 os.unsetf(std::ios::showpoint); 00136 os.unsetf(std::ios::scientific); 00137 00138 if (sizeof(T)==1) { 00139 oldBase = os.setf(std::ios::hex, std::ios::basefield); 00140 } 00141 else { 00142 oldPrecision = os.precision(); 00143 os.precision(4); 00144 } 00145 00146 if (XML_Out::is_xml_output_on()) 00147 { 00148 os << spacing << "<Position "; 00149 os << "x = \"" << std::setw(8) << h._p(0) << "\" "; 00150 os << "y = \"" << std::setw(8) << h._p(1) << "\" "; 00151 os << "z = \"" << std::setw(8) << h._p(2) << "\" />\n"; 00152 T roll, pitch, yaw; 00153 h.get_rpy_angles(roll, pitch, yaw); 00154 os << spacing << "<Three_Angle_Set "; 00155 os << "type = RPY "; 00156 os << "angle = \"" << std::setw(8) << roll << "\" "; 00157 os << "angle = \"" << std::setw(8) << pitch << "\" "; 00158 os << "angle = \"" << std::setw(8) << yaw << "\" />\n"; 00159 } 00160 else 00161 { 00162 os << "HTrans:["; 00163 os << "x:" << std::setw(8) << h._p(0) << " " 00164 << "y:" << std::setw(8) << h._p(1) << " " 00165 << "z:" << std::setw(8) << h._p(2) << " " 00166 << "roll(rx):" << std::setw(8) << roll << " " 00167 << "pitch(ry):" << std::setw(8) << pitch << " " 00168 << "yaw(rz):" << std::setw(8) << yaw 00169 << " ]"; 00170 } 00171 00172 if (sizeof(T)==1) 00173 os.setf(oldBase, std::ios::basefield); 00174 else 00175 os.precision(oldPrecision); 00176 00177 return os; 00178 }
Here is the call graph for this function:

| std::ostream& claraty::operator<< | ( | std::ostream & | os, | |
| const Trajectory & | traj | |||
| ) | [inline] |
------------------------------------------------------------------------- serializes the trajectory parameters to an os stream for display, transport or storage
Definition at line 403 of file trajectory.h.
References claraty::Trajectory::is_started().
00404 { 00405 os << "%" << std::setw(80) << std::setfill('-') << " " << std::setfill(' ') << std::endl; 00406 os << "%[Trajectory]" << std::endl; 00407 os << "% Started (y/n): " << (traj.is_started() ? "yes" : "no") << std::endl; 00408 return os; 00409 }
Here is the call graph for this function:

| ostream& claraty::operator<< | ( | ostream & | os, | |
| const Multi_Segment_Trajectory & | traj | |||
| ) |
------------------------------------------------------------------------- serializes the trajectory parameters to an os stream for display, transport or storage
Definition at line 419 of file multi_segment_trajectory.cc.
References claraty::Multi_Segment_Trajectory::_high, claraty::Multi_Segment_Trajectory::_low, claraty::Multi_Segment_Trajectory::_nvia, claraty::Multi_Segment_Trajectory::_q, claraty::Multi_Segment_Trajectory::_q_ddot, claraty::Multi_Segment_Trajectory::_qjk_dot, claraty::Multi_Segment_Trajectory::_tjk, and claraty::Multi_Segment_Trajectory::_tk.
00421 { 00422 const int& n = traj._nvia; 00423 00424 os << "[Multi_Segment_Trajectory <segment>]" << std::endl 00425 << "Number of Via Points: " << n << std::endl 00426 << "Number of Segments: " << n-1 << std::endl 00427 << "Trajectory duration: " << traj._high[n-2]+0.5*traj._tk[n-1] << std::endl 00428 << "Segment times" << std::endl; 00429 for(int i = 0; i < n-1; i++) { 00430 // display segment time boundaries 00431 os << "segment " << i << ": " 00432 << "[" 00433 << traj._low[i] << ", " 00434 << traj._high[i] 00435 << "]" << std::endl; 00436 } 00437 00438 os << std::endl << "Segment data" << std::endl; 00439 for(int i = 0; i < n; i++) { 00440 os << "q" << i+1 << " = " << traj._q[i] << std::endl; 0044

