HDK
 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
 

Friends

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.

Examples:
RAY/RAY_DemoSprite.C.

Definition at line 171 of file RAY_Procedural.h.

Constructor & Destructor Documentation

RAY_ROProceduralGeo::RAY_ROProceduralGeo ( )
inline

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

Destructor.

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

Member Function Documentation

void RAY_ROProceduralGeo::clear ( )

Clear the geometry.

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

Standard "pointer" operations

Examples:
RAY/RAY_DemoSprite.C.
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
inline

Bool operator on handle.

Definition at line 208 of file RAY_Procedural.h.

Equivalence

Definition at line 190 of file RAY_Procedural.h.

const GU_Detail& RAY_ROProceduralGeo::operator* ( ) const
inline

Standard "pointer" operations

Definition at line 197 of file RAY_Procedural.h.

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

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
inline

Equivalence

Definition at line 188 of file RAY_Procedural.h.

bool RAY_ROProceduralGeo::setGeometry ( const GU_ConstDetailHandle gdh)
protected

Create a read handle with a geometry.

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

Create a read handle with a geometry.

Note
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
friend

Definition at line 221 of file RAY_Procedural.h.

friend class RAY_ProceduralChild
friend

Definition at line 222 of file RAY_Procedural.h.

Member Data Documentation

UT_SharedPtr<Data> RAY_ROProceduralGeo::myData
protected

Definition at line 241 of file RAY_Procedural.h.


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