Follow this link to skip to the main content

claraty::N_3D_Object Class Reference

#include <3d_object.h>

List of all members.

THREE_Object constructor/destructor

enum  SHAPE_TYPE { BOX, CYLINDER, SPHERE, OTHER }
 N_3D_Object ()
 N_3D_Object (const N_3D_Object &shape_object)
virtual ~N_3D_Object ()

Public Member Functions

N_3D_Object set/get parameters
SHAPE_TYPE get_shape_type ()
void set_shape_type (SHAPE_TYPE shape_type)
void set_number_of_dimensions (int n_dimensions)
int get_number_of_dimensions ()
void set_dimensions (double &dims)
void set_dimensions (double *dims)
void get_dimensions (double *dims)
bool is_empty ()
bool contains ()

Private Attributes

N_3D_Object string values of data
SHAPE_TYPE _shape_type
int _number_of_dimensions
double _dimensions [NUMBER_OF_3D_OBJECT_DIMENSIONS]

Friends

std::ostream & operator<< (std::ostream &os, N_3D_Object &n_3D_object)


Detailed Description

Definition at line 44 of file 3d_object.h.


Member Enumeration Documentation

Enumerator:
BOX 
CYLINDER 
SPHERE 
OTHER 

Definition at line 50 of file 3d_object.h.

00050 {BOX, CYLINDER, SPHERE, OTHER};


Constructor & Destructor Documentation

claraty::N_3D_Object::N_3D_Object (  ) 

Default Constructor for a N_3D_Object object.

Definition at line 39 of file 3d_object.cc.

References _dimensions, _number_of_dimensions, _shape_type, and OTHER.

00040 {
00041   _shape_type = OTHER;
00042   _number_of_dimensions = 0;
00043   _dimensions[0] = 0.0;
00044   _dimensions[1] = 0.0;
00045   _dimensions[2] = 0.0;
00046 }

claraty::N_3D_Object::N_3D_Object ( const N_3D_Object shape_object  ) 

Copy constructor

Parameters:
[in] shape_object Reference to N_3D_Object to be copied.

Definition at line 56 of file 3d_object.cc.

References _dimensions, _number_of_dimensions, and _shape_type.

00057 {
00058   _shape_type = shape_object._shape_type;
00059   _number_of_dimensions = shape_object._number_of_dimensions;
00060   _dimensions[0] = shape_object._dimensions[0];
00061   _dimensions[1] = shape_object._dimensions[1];
00062   _dimensions[2] = shape_object._dimensions[2];
00063 }

virtual claraty::N_3D_Object::~N_3D_Object (  )  [inline, virtual]

Definition at line 54 of file 3d_object.h.

00054 {}


Member Function Documentation

N_3D_Object::SHAPE_TYPE claraty::N_3D_Object::get_shape_type (  ) 

Get shape type.

Returns:
The shape type.

Definition at line 74 of file 3d_object.cc.

References _shape_type, BOX, CYLINDER, OTHER, and SPHERE.

Referenced by claraty::N_3D_Object_IO::extract_from_parse_tree(), and claraty::operator<<().

00075 {
00076 #ifdef DEBUG
00077   cout << "Shape type is ";
00078   switch(_shape_type)
00079     {
00080     case N_3D_Object::BOX:
00081       cout << "box";
00082       break;
00083     case N_3D_Object::CYLINDER:
00084       cout << "cylinder";
00085       break;
00086     case N_3D_Object::SPHERE:
00087       cout << "sphere";
00088       break;
00089     case N_3D_Object::OTHER:
00090       cout << "other";
00091       break;
00092     }
00093   cout << endl;
00094 #endif
00095   return _shape_type;
00096 }

void claraty::N_3D_Object::set_shape_type ( SHAPE_TYPE  shape_type  ) 

Set shape type.

Parameters:
[in] shape_type The string child name.

Definition at line 107 of file 3d_object.cc.

References _shape_type, BOX, CYLINDER, OTHER, and SPHERE.

Referenced by claraty::N_3D_Object_IO::extract_from_parse_tree().

00108 {
00109   _shape_type = shape_type;
00110 #ifdef DEBUG
00111   cout << "Setting shape type to ";
00112   switch(_shape_type)
00113     {
00114     case N_3D_Object::BOX:
00115       cout << "box";
00116       break;
00117     case N_3D_Object::CYLINDER:
00118       cout << "cylinder";
00119       break;
00120     case N_3D_Object::SPHERE:
00121       cout << "sphere";
00122       break;
00123     case N_3D_Object::OTHER:
00124       cout << "other";
00125       break;
00126     }
00127   cout << endl;
00128 #endif
00129 }

void claraty::N_3D_Object::set_number_of_dimensions ( int  n_dimensions  ) 

Set number of shape dimensions.

Parameters:
[in] n_dimensions Number of dimensions.

Definition at line 140 of file 3d_object.cc.

References _number_of_dimensions.

Referenced by claraty::N_3D_Object_IO::extract_from_parse_tree().

00141 {
00142   _number_of_dimensions = n_dimensions;
00143 }

int claraty::N_3D_Object::get_number_of_dimensions (  )  [inline]

Definition at line 62 of file 3d_object.h.

References _number_of_dimensions.

00062 {return _number_of_dimensions;};

void claraty::N_3D_Object::set_dimensions ( double &  dims  ) 

void claraty::N_3D_Object::set_dimensions ( double *  dimensions  ) 

Set shape dimensions.

Parameters:
[in] dimensions 

Definition at line 170 of file 3d_object.cc.

References _dimensions, and _number_of_dimensions.

00171 {
00172   for (int i=0; i<_number_of_dimensions; ++i)
00173     {
00174       _dimensions[i] = dimensions[i];
00175     }
00176 }

void claraty::N_3D_Object::get_dimensions ( double *  dimensions  ) 

Get shape dimensions.

Returns:
The number of dimensions.

Definition at line 153 of file 3d_object.cc.

References _dimensions, and _number_of_dimensions.

Referenced by claraty::Wheel_Model::_compute_wheel_radius(), and claraty::operator<<().

00154 {
00155   for (int i=0; i<_number_of_dimensions; ++i)
00156     {
00157       dimensions[i] = _dimensions[i];
00158     }
00159 }

bool claraty::N_3D_Object::is_empty (  ) 

bool claraty::N_3D_Object::contains (  ) 


Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
N_3D_Object n_3D_object 
) [friend]

Output to ostream

Parameters:
[out] os ostream to put output on.
[in] n_3D_object object to be output
Returns:
ostream with output on it.

Definition at line 188 of file 3d_object.cc.

00189 {
00190   std::string spacing = "";
00191   spacing.append(XML_Out::get_indentation_space(), ' ');
00192 
00193 #ifdef DEBUG
00194   cout << "In N_3D_Object_IO, about to output shape object_io of type ";
00195 #endif
00196   double dimensions[NUMBER_OF_3D_OBJECT_DIMENSIONS];
00197   n_3D_object.get_dimensions(dimensions);
00198 #ifdef DEBUG
00199   cout << "WHAT SHAPE: " << n_3D_object.get_shape_type() << "\n";
00200 #endif
00201   switch (n_3D_object.get_shape_type())
00202     {
00203     case N_3D_Object::BOX:
00204 #ifdef DEBUG
00205   cout << "Box" << n_3D_object.get_shape_type() << endl;
00206 #endif
00207       os << spacing;
00208       os << "<Box ";
00209       os << "x = \"" << dimensions[0] << "\" ";
00210       os << "y = \"" << dimensions[1] << "\" ";
00211       os << "z = \"" << dimensions[2] << "\" ";
00212       os << "/>\n";
00213       break;
00214     case N_3D_Object::CYLINDER:
00215 #ifdef DEBUG
00216   cout << "Cylinder" << n_3D_object.get_shape_type() << endl;
00217 #endif
00218       os << spacing;
00219       os << "<Cylinder ";
00220       os << "radius = \"" << dimensions[0] << "\" ";
00221       os << "height = \"" << dimensions[1] << "\" ";
00222       os << "/>\n";
00223       break;
00224     case N_3D_Object::SPHERE:
00225 #ifdef DEBUG
00226   cout << "Sphere" << n_3D_object.get_shape_type() << endl;
00227 #endif
00228       os << spacing;
00229       os << "<Sphere ";
00230       os << "radius = \"" << dimensions[0] << "\" ";
00231       os << "/>\n";
00232       break;
00233     case N_3D_Object::OTHER:
00234       os << "other ";
00235       break;
00236     }
00237   
00238 
00239   return os;
00240 }


Member Data Documentation


The documentation for this class was generated from the following files: