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().

void GeometryList::delete_objects ( )

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

References DD::Image::GeoOp::delete_cache().

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

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)

Compact the geometry data removing unused vertices and remapping all face indices

References DD::Image::AttribContext::group, DD::Image::AttribContext::name, object(), DD::Image::AttribContext::type, and writable_primitive().