DD::Image::GeometryList Class Reference

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=nullptr)
 
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(), and DD::Image::end().

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



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