All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RAY_ROProceduralGeo Class Reference

Reference counted geometry handle for procedurals. More...

#include <RAY_Procedural.h>

+ Inheritance diagram for RAY_ROProceduralGeo:

Public Member Functions

 RAY_ROProceduralGeo ()
 RAY_ROProceduralGeo (const RAY_ROProceduralGeo &src)
 Copy c-tor. More...
virtual ~RAY_ROProceduralGeo ()
 Destructor. More...
RAY_ROProceduralGeooperator= (const RAY_ROProceduralGeo &src)
void clear ()
 Clear the geometry. More...
GU_ConstDetailHandle handle (int segment=0) const
 Access the GU_ConstDetailHandle for a given segment. More...
bool isValid () const
 Test validity. More...
SYS_SAFE_BOOL operator bool () const
 Bool operator on handle. More...
fpreal velocityBounds () const
int motionSegments () const
 Return the number of motion segments. More...
int getRef () const
 Return reference count on the underlying geometry. More...
bool operator== (const RAY_ROProceduralGeo &g) const
bool operator!= (const RAY_ROProceduralGeo &g) const
const GU_Detailoperator-> () const
const GU_Detailoperator* () const
const GU_Detailget (int segment=0) const

Protected Member Functions

 RAY_ROProceduralGeo (RAY_Procedural *proc, bool writeable)
 RAY_ROProceduralGeo (RAY_Procedural *proc, const GU_ConstDetailHandle *gdh, int nsegments, const fpreal *shutter_times, bool writeable)
bool setGeometry (const GU_ConstDetailHandle &gdh)
bool setGeometry (const GU_ConstDetailHandle *gdh, int nsegments)

Protected Attributes

UT_SharedPtr< Data > myData


class RAY_Procedural
class RAY_ProceduralChild

Detailed Description

Reference counted geometry handle for procedurals.

Mantra has internal reference counted "smart" pointers for geometry. The interface for managing these reference counts manually (referenceGeometry()/freeGeometry() was obfuscated and is now deprecated in favour of using the VGEO_ProceduralGeo class).

The RAY_ROProceduralGeo provides a read-only handle to geometry. This is typically used to access geometry that exists in mantra already (i.e. geometry returned by queryGeometry()).

RAY_ProceduralGeo is a read-write handle on mantra geometry.

Each geometry object can have multiple deformation segments.


Definition at line 171 of file RAY_Procedural.h.

Constructor & Destructor Documentation

RAY_ROProceduralGeo::RAY_ROProceduralGeo ( )

Definition at line 174 of file RAY_Procedural.h.

RAY_ROProceduralGeo::RAY_ROProceduralGeo ( const RAY_ROProceduralGeo src)

Copy c-tor.

virtual RAY_ROProceduralGeo::~RAY_ROProceduralGeo ( )


RAY_ROProceduralGeo::RAY_ROProceduralGeo ( RAY_Procedural proc,
bool  writeable 
RAY_ROProceduralGeo::RAY_ROProceduralGeo ( RAY_Procedural proc,
const GU_ConstDetailHandle gdh,
int  nsegments,
const fpreal shutter_times,
bool  writeable 

Member Function Documentation

void RAY_ROProceduralGeo::clear ( )

Clear the geometry.

const GU_Detail* RAY_ROProceduralGeo::get ( int  segment = 0) const

Standard "pointer" operations

int RAY_ROProceduralGeo::getRef ( ) const

Return reference count on the underlying geometry.

GU_ConstDetailHandle RAY_ROProceduralGeo::handle ( int  segment = 0) const

Access the GU_ConstDetailHandle for a given segment.

bool RAY_ROProceduralGeo::isValid ( ) const

Test validity.

int RAY_ROProceduralGeo::motionSegments ( ) const

Return the number of motion segments.

SYS_SAFE_BOOL RAY_ROProceduralGeo::operator bool ( ) const

Bool operator on handle.

Definition at line 208 of file RAY_Procedural.h.


Definition at line 190 of file RAY_Procedural.h.

const GU_Detail& RAY_ROProceduralGeo::operator* ( ) const

Standard "pointer" operations

Definition at line 197 of file RAY_Procedural.h.

const GU_Detail* RAY_ROProceduralGeo::operator-> ( ) const

Standard "pointer" operations

Definition at line 196 of file RAY_Procedural.h.

RAY_ROProceduralGeo& RAY_ROProceduralGeo::operator= ( const RAY_ROProceduralGeo src)
bool RAY_ROProceduralGeo::operator== ( const RAY_ROProceduralGeo g) const


Definition at line 188 of file RAY_Procedural.h.

bool RAY_ROProceduralGeo::setGeometry ( const GU_ConstDetailHandle gdh)

Create a read handle with a geometry.

This method will fail if the handle isn't currently empty
bool RAY_ROProceduralGeo::setGeometry ( const GU_ConstDetailHandle gdh,
int  nsegments 

Create a read handle with a geometry.

This method will fail if the handle isn't currently empty
fpreal RAY_ROProceduralGeo::velocityBounds ( ) const

Return the maximum velocity displacement (so bounding boxes can be computed).

Friends And Related Function Documentation

friend class RAY_Procedural

Definition at line 221 of file RAY_Procedural.h.

friend class RAY_ProceduralChild

Definition at line 222 of file RAY_Procedural.h.

Member Data Documentation

UT_SharedPtr<Data> RAY_ROProceduralGeo::myData

Definition at line 241 of file RAY_Procedural.h.

The documentation for this class was generated from the following file: