contrib/gel/vsol/vsol_spatial_object_3d.h File Reference


Detailed Description

Base class of 3D spatial entities (topology geometry group).

vsol_spatial_object_3d is the base class of all 3d spatial entities. It provides ref counting, timestamps, a bounding box, ...

Author:
Patricia A. Vrobel
    Modifications
     1995/12/xx JLM
             Replaced the SpatialGroup pointer by an IUBox bounding volume.
             See the discussion in SpatialGroup.h for the rationale.
             The bounding volume is updated according to a timestamp
             mechanism similar to that used in 3D display. That is,
             if the vsol_spatial_object_3d is modified it is "touched" to
             set the timestamp.  Then, any request to bounding information
             automatically updates the bounding volume if necessary.
     1996/12/16 Peter VANROOSE  made destructor protected
     2000/05/03 Peter TU        ported to vxl
     2000/05/12 François BERTEL add cast_to_group() because VXL is not compiled
                                with -frtti :-(
     2002/12/12 Peter Vanroose added cast_to_region()
     2003/01/08 Peter Vanroose made bounding box "mutable" and changed interface
     2003/01/09 Peter Vanroose deprecated set_min_x() etc. and replaced with
                         more safe set_bounding_box() and add_to_bounding_box().
                       (The old setup only worked correctly when (0,0) in bbox.)
     2004/09/06 Peter Vanroose  Added safe cast methods to surface_3d
     2004/09/17 MingChing Chang  Add cast_to_region().
     2004/09/21 Ming-Ching Chang  Make clear distinction between 2D and 3D.
                                  Add some missing parts to 3D classes.
     2004/09/27 Peter Vanroose added empty_bounding_box(), set_bounding_box(box)
                               and add_to_bounding_box(box)
     2004/11/15 H.Can Aras added inheritance from vsol_spatial_object, which introduces
                           inheritance from vul_timestamp, ref_count and vsol_flags_id
                           classes. members related to id, flags and tag are moved to
                           newly-created vsol_flags_id class.
   

Definition in file vsol_spatial_object_3d.h.

#include <vcl_string.h>
#include <vcl_iostream.h>
#include <vsol/vsol_spatial_object.h>
#include <vsl/vsl_fwd.h>
#include <vsol/vsol_spatial_object_3d_sptr.h>
#include <vsol/vsol_box_3d_sptr.h>

Go to the source code of this file.


Classes

class  vsol_spatial_object_3d

Functions

vcl_ostream & operator<< (vcl_ostream &strm, vsol_spatial_object_3d const &so)
vcl_ostream & operator<< (vcl_ostream &strm, vsol_spatial_object_3d const *so)
void vsl_print_summary (vcl_ostream &os, vsol_spatial_object_3d const *so)
 Stream output operator for class pointer.
void vsl_add_to_binary_loader (vsol_spatial_object_3d const &b)
 Allows derived class to be loaded by base-class pointer.

Variables

const unsigned int VSOL_UNIONBIT = 0x80000000
const unsigned int VSOL_SYSTEM_FLAG1 = 0x01000000
const unsigned int VSOL_FLAG1 = 0x40000000
const unsigned int VSOL_FLAG2 = 0x20000000
const unsigned int VSOL_FLAG3 = 0x1000000
const unsigned int VSOL_FLAG4 = 0x08000000
const unsigned int VSOL_FLAG5 = 0x04000000
const unsigned int VSOL_FLAG6 = 0x02000000
const unsigned int VSOL_DEXID_BITS = 0x00FFFFFF
const unsigned int VSOL_FLAG_BITS = 0xFF000000

Function Documentation

vcl_ostream& operator<< ( vcl_ostream &  strm,
vsol_spatial_object_3d const *  so 
) [inline]

Definition at line 226 of file vsol_spatial_object_3d.h.

vcl_ostream& operator<< ( vcl_ostream &  strm,
vsol_spatial_object_3d const &  so 
) [inline]

Definition at line 220 of file vsol_spatial_object_3d.h.

void vsl_add_to_binary_loader ( vsol_spatial_object_3d const &  b  ) 

Allows derived class to be loaded by base-class pointer.

A loader object exists which is invoked by calls of the form "vsl_b_read(os,base_ptr);". This loads derived class objects from the stream, places them on the heap and returns a base class pointer. In order to work the loader object requires an instance of each derived class that might be found. This function gives the model class to the appropriate loader.

Definition at line 185 of file vsol_spatial_object_3d.cxx.

void vsl_print_summary ( vcl_ostream &  os,
vsol_spatial_object_3d const *  so 
) [inline]

Stream output operator for class pointer.

Definition at line 236 of file vsol_spatial_object_3d.h.


Variable Documentation

const unsigned int VSOL_DEXID_BITS = 0x00FFFFFF

Definition at line 76 of file vsol_spatial_object_3d.h.

const unsigned int VSOL_FLAG1 = 0x40000000

Definition at line 68 of file vsol_spatial_object_3d.h.

const unsigned int VSOL_FLAG2 = 0x20000000

Definition at line 69 of file vsol_spatial_object_3d.h.

const unsigned int VSOL_FLAG3 = 0x1000000

Definition at line 70 of file vsol_spatial_object_3d.h.

const unsigned int VSOL_FLAG4 = 0x08000000

Definition at line 71 of file vsol_spatial_object_3d.h.

const unsigned int VSOL_FLAG5 = 0x04000000

Definition at line 72 of file vsol_spatial_object_3d.h.

const unsigned int VSOL_FLAG6 = 0x02000000

Definition at line 73 of file vsol_spatial_object_3d.h.

const unsigned int VSOL_FLAG_BITS = 0xFF000000

Definition at line 77 of file vsol_spatial_object_3d.h.

const unsigned int VSOL_SYSTEM_FLAG1 = 0x01000000

Definition at line 66 of file vsol_spatial_object_3d.h.

const unsigned int VSOL_UNIONBIT = 0x80000000

Definition at line 65 of file vsol_spatial_object_3d.h.


Generated on Tue Dec 2 05:14:58 2008 for contrib/gel/vsol by  doxygen 1.5.1