Classes | Functions
contrib/gel/vsol/vsol_spatial_object_3d.h File Reference

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

#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.

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.


Function Documentation

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

Definition at line 220 of file vsol_spatial_object_3d.h.

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

Definition at line 226 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 disk, 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.

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.