Initial snark14m import
[snark14.git] / src / snark / objects.h
1 /* 
2  ***********************************************************
3  $SNARK_Header: S N A R K  1 4 - A PICTURE RECONSTRUCTION PROGRAM $
4  $HeadURL: svn://dig.cs.gc.cuny.edu/snark/trunk/src/snark/objects.h $
5  $LastChangedRevision: 80 $
6  $Date: 2014-07-01 21:01:54 -0400 (Tue, 01 Jul 2014) $
7  $Author: agulati $
8  ***********************************************************
9  */
10
11 #ifndef OBJECTS_H
12 #define OBJECTS_H
13
14 #include "blkdta.h"
15
16 ///////////////////////////////////////////////////////////////////
17 // THE FIRST 7 ROWS OF 'OBJECT' STORE THE DENSITY FOR THE 7 ENERGY
18 // LEVELS, 8TH  STORES THE AVERAGE DENSITY;
19 // 9TH ROW SPECIFIES TYPE OF OBJECT, 1 FOR ELLIPSE/CIRCLE
20 //                                   2 FOR RECTANGLE/SQUARE
21 //                                   3 FOR TRIANGLE
22 //                                   4 FOR SEGMENT OF CIRCLE
23 //                                   5 FOR SECTOR OF CIRCLE
24 // 10TH ROW  CX  X-COORDINATE OF CENTER
25 // 11TH ROW  CY  Y-COORDINATE OF CENTER
26 // 12TH ROW  U  SEMI X-AXIS LENGTH
27 // 13TH ROW  V  SEMI Y-AXIS LENGTH
28 // 14TH ROW  ANG  ANGLE OF ROTATION FROM X-AXIS
29 // 15TH ROW  SINANG  SIN OF ANGLE OF ROTATION
30 // 16TH ROW  COSANG  COSINE OF ANGLE OF ROTATION
31 // 17TH ROW RAYL   LENGTH OF RAY INTERSECTED BY OBJECT
32 // THIS VALUE OF SUBSCRIPT REFERRED TO IN CREAPR ONLY
33 enum SNARK_Object_type
34 {
35         SOT_elip, SOT_rect, SOT_tria, SOT_segm, SOT_sect
36 };
37
38 class SNARK_Object
39 {
40 public:
41         REAL den1[7];   // Densities
42         REAL denav;     // Average Dansity
43         SNARK_Object_type type;      // Object type
44         REAL cx;        // Center X
45         REAL cy;        // Center Y
46         REAL u;         //
47         REAL v;         //
48         REAL ang;       //
49         REAL sinang;    //
50         REAL cosang;    //
51         REAL rayl;      //
52 };
53
54 class SNARK_Object_Node
55 {
56 public:
57         SNARK_Object data;
58         SNARK_Object_Node *next;
59 };
60
61 extern int MAX_NUMBER_OF_OBJECTS;
62 extern SNARK_Object *objects;
63
64 #endif