DD::Image::GeometryList Class Reference

List of all members.

Public Member Functions

 GeometryList ()
unsigned objects () const
unsigned offset () const
GeoOpgeo () const
unsigned size () const
void add_object (int obj)
void delete_objects ()
void synchronize_objects ()
int add_primitive (int obj, Primitive *p=0)
Primitivewritable_primitive (int obj, int prim)
PointList * writable_points (int obj)
Attributewritable_attribute (int obj, GroupType group, const char *name, AttribType type)
Attributewritable_attribute (int obj, const AttribContext *attrib)
AttribContextwritable_attribcontext (int obj, GroupType group, const char *name, AttribType type)
AttribContextwritable_attribcontext (int obj, const AttribContext *attrib)
void delete_attribcontext (int obj, GroupType group, const char *name, AttribType type)
void set_recursion_mask (int obj, unsigned mask)
void clear_recursion_mask (int obj, unsigned mask)
const GeoInfooperator[] (const size_t i) const
GeoInfooperator[] (const size_t i)
GeoInfoobject (unsigned i)
GeoInfoobject0 ()
const GeometryMaskrebuild_mask () const
bool rebuild (const GeometryMask &m=GeometryMask(Mask_All_Geometry)) const
void set_rebuild (const GeometryMask &m)
const Hashhash (int i) const
void compact (int obj)
void push_range ()
void set_range (unsigned offset, unsigned objects)
bool pop_range ()

Friends

class Scene
class GeoOp


Detailed Description

A list of GeoInfos with state flags and out-of-dateness hashes.

Constructor & Destructor Documentation

GeometryList::GeometryList (  ) 

Constructor. Initializes the geometry hashes.


Member Function Documentation

unsigned DD::Image::GeometryList::objects (  )  const [inline]

Current object count.

unsigned DD::Image::GeometryList::offset (  )  const [inline]

Absolute starting index in output list.

GeoOp* DD::Image::GeometryList::geo (  )  const [inline]

The GeoOp that is currently manipulating this cache.

Referenced by DD::Image::GeoOp::get_geometry().

unsigned DD::Image::GeometryList::size (  )  const [inline]

void GeometryList::add_object ( int  obj  ) 

void GeometryList::delete_objects (  ) 

Delete all allocated geometry and clear the cache and output list of objects.

References DD::Image::GeoOp::delete_cache(), and DD::Image::GeoOp::objects_.

Referenced by DD::Image::ReadGeo::create_geometry().

void GeometryList::synchronize_objects (  ) 

int GeometryList::add_primitive ( int  obj,
Primitive p = 0 
)

Primitive * GeometryList::writable_primitive ( int  obj,
int  prim 
)

Return a local writable primitive by index.

References DD::Image::GeoOp::cache_list.

Referenced by compact().

const GeoInfo& DD::Image::GeometryList::operator[] ( const size_t  i  )  const [inline]

Returns GeoInfo n offset into the current stream.

GeoInfo& DD::Image::GeometryList::operator[] ( const size_t  i  )  [inline]

Returns GeoInfo n offset into the current stream.

GeoInfo& DD::Image::GeometryList::object ( unsigned  i  )  [inline]

Returns GeoInfo n offset into the current stream.

Referenced by add_object(), add_primitive(), compact(), DD::Image::GeoOp::print_info(), and synchronize_objects().

GeoInfo& DD::Image::GeometryList::object0 (  )  [inline]

Returns the first GeoInfo in the current stream.

const GeometryMask& DD::Image::GeometryList::rebuild_mask (  )  const [inline]

What groups need updating.

const Hash& DD::Image::GeometryList::hash ( int  i  )  const [inline]

Geometry group out-of-dateness hashes.

Referenced by DD::Image::GeoOp::print_info().

void GeometryList::compact ( int  obj  ) 



©2009 The Foundry Visionmongers, Ltd. All Rights Reserved.
www.thefoundry.co.uk