The Classes & Structures

 

SliceOmatic, uses a number of classes and structures.

 

 

SliceO_Class

 

This  class is the parent class for all the classes used in the database of images.

 

SliceO_File

 

This  class is used by sliceOmatic to store the information on all the opened image files.

 

SliceO_Window

 

This  class is used to define the display windows used in the program.

 

SliceO_Geom

 

This  class is used for all the 3D geometries in the program.  Either read from file or generated by the program.

 

SliceO_Point

 

This  class is used to store "points" and other markers.

 

SliceO_Buffer

This class is used to store user data inside the SliceO_Class class.

 

 

All of these classes are derived from the same base class (SliceO) that contain the following variables and methods:

 

Private:

m_class_magic (unsigned short)

 

The "Magic" value is used for error checking. Each type of class has its own "Magic" value.  If the magic value returned from the Class_Magic_Get method is incorrect, then the class is corrupted or the pointer you used is invalid.

 

The Magic values are:

SliceO_Class

0xAABA

SliceO_File

0xABBB

SliceO_Window

0xACBC

SliceO_Geom

0xAEBE

SliceO_Point

0xADBD

SliceO_Buffer

0xAFBF

 

Public:

Class_Magic_Get

Return the value of the "m_class_magic" variable.  This method is used in the macros: VALIDITY_TEST_... used to test the validity of each class.

 

Class_Magic_Set

Set the value of the "m_class_magic" variable. This method is only used by sliceOmatic in the constructors of the classes

 

 

Private:

m_class_a (unsigned short)

 

The exact meaning of the content of "A" depend on the class:

SliceO_Class

The class Type (CLASS_TYPE_ROOT, CLASS_TYPE_FRAME...)

Note: The first 100 values and the value 0xFFFF are reserved for TomoVision.

SliceO_File

not used

SliceO_Window

The display mode of the window (MODE_ONE, MODE_ALL, MODE_3D)

SliceO_Geom

The display mode of the Geometry (SHADE_LINE,SHADE_FLAT,SHADE_ON, SHADE_OFF

SliceO_Point

The point type (CLASS_POINT_NORMAL)

Note: The first 100 values are reserved for TomoVision.

SliceO_Buffer

The buffer's "Lock"/"Unlock" flag

 

Public:

Class_A_Get

Return the value of the "m_class_a" variable.

 

Class_A_Set

Set the value of the "m_class_a" variable.

 

Private:

m_class_b (unsigned short)

 

The exact meaning of content of "B" depend on the class:

SliceO_Class

Depth in the class database tree

SliceO_File

A status flag (FILE_OPEN, FILE_BAD_DIM,...)

SliceO_Window

Window's ID

SliceO_Geom

not used

SliceO_Point

not used

SliceO_Buffer

Buffer's priority

 

Public:

Class_B_Get

Return the value of the "m_class_b" variable.

 

Class_B_Set

Set the value of the "m_class_b" variable.

 

 

Private:

m_class_user (unsigned short)

 

Assign a "User" value to the class instance.  At this time, SliceOmatic does not use the "user" value.  It is available for you if you need it.

 

Public:

 

Class_User_Get

Return the value of the "m_class_user" variable.

 

Class_User_Set

Set the value of the "m_class_user" variable.

 

 

Private:

m_name (char *)

 

Name of the class instance

Public:

Name_Get

 

Return the name of the class instance

Name_Set

 

Assign a name to the class instance

 

 

 

SliceOmatic also has a series classes to help make the C++ code simpler.

 

 

Vect

 

 

 

Matrix

 

 

 

Point_2D

Point_3D

Point_4D

 

 

 

Region_2D

Region_3D

Region_4D

 

 

 

And finally, sliceOmatic has a class and a structure to manipulate colors.

 

 

Color

 

This is a structure to place RGBA colors into a 32 bits unsigned integer

 

Colors

 

This is a class used to manipulate RGB colors