00001 #ifndef __J2K__TrackStruct_HPP__
00002 #define __J2K__TrackStruct_HPP__
00003
00004 #include <j2k/Fred/Standard.hpp>
00005
00006 #include <vector>
00007
00008 typedef vector< double > dvect_1D;
00009 typedef vector< vector< double > > dvect_2D;
00010 typedef vector< vector< vector< double > > > dvect_3D;
00011
00012 typedef vector< int > ivect_1D;
00013 typedef vector< vector< int > > ivect_2D;
00014 typedef vector< vector< vector< int > > > ivect_3D;
00015
00016 enum track_type_t
00017 {
00018 TrackType_UNDEFINED = 0,
00019 TrackType_STRAIGHT = 1,
00020 TrackType_CURVED = 2
00021 };
00022
00023 typedef struct _track_init_t
00024 {
00025 long start_bit;
00026 long end_bit;
00027 long max_left;
00028 long max_right;
00029 } track_init_t;
00030
00031 typedef struct _track_info_t
00032 {
00033 track_type_t type;
00034 long name;
00035 double size;
00036 } track_info_t;
00037
00038 typedef struct _track_segment_t
00039 {
00040 long bit_name;
00041 long max_left;
00042 long max_right;
00043 long max_path;
00044 long left[ 10 ];
00045 long right[ 10 ];
00046
00047 track_type_t type[ 10 ];
00048 long length_name[ 10 ];
00049 long switches[ 10 ];
00050 } track_segment_t;
00051
00052
00053 class File;
00054 class Track;
00055 class FileReader;
00056 class PositionTracker;
00057
00058 #endif
00059