16 #ifndef __BRAY_ProceduralScene__
17 #define __BRAY_ProceduralScene__
23 class BRAY_Accelerator;
86 BRAY_Accelerator *myAccelerator;
87 BRAY_Scene *myRawScene;
109 void doEndUpdate()
override;
116 virtual bool updateScene() = 0;
120 {
return myAttribs; }
124 { myScene.bounds(bounds, time); }
129 {
return myScene.intersect(ray, *
this); }
131 {
return myScene.intersect(ray, *
this); }
147 int size)
const final override;
150 int size)
const final override;
153 int size)
const final override;
156 int size)
const final override;
159 int size)
const final override;
170 int size)
const final override;
175 int size)
const final override;
180 int size)
const final override;
185 int size)
const final override;
190 int size)
const final override;
void bounds(UT_BoundingBox &bounds, BRAYtime time) const override
Fills the given bounding box.
GLenum GLuint GLenum GLsizei const GLchar * buf
BRAY_AttribList::AttributeOwner myOwner
Derive the SceneHit so we can pass around the hit instance.
float BRAYtime
Consistent representation of time type within BRAY.
GT_API const UT_StringHolder time
const BRAY_ProceduralFactory * factory() const
Return the factory definition.
void doBeginUpdate() override
HitPtr intersect(const Ray32 &ray) const finaloverride
virtual void update(BRAY_EventType event)=0
This method can be used to be notified of changes to the object.
HitPtr intersect(const Ray64 &ray) const finaloverride
const BRAY_Instance * inst
HitPtr newHit() const finaloverride
bool checkIsValid() const override
Check to see whether the procedural is valid.
const BRAY::ScenePtr & scene() const
Each BRAY_Object can define a list of attributes that it can evaluate.
virtual ~BRAY_ProceduralScene() override
IMATH_CONSTEXPR14 bool intersect(const Line3< T > &line, const Vec3< T > &v0, const Vec3< T > &v1, const Vec3< T > &v2, Vec3< T > &pt, Vec3< T > &barycentric, bool &front) IMATH_NOEXCEPT
const BRAY_AttribList * attribList() const override
Get the attribute list.
BRAY::ScenePtr & scene()
Get the underlying ScenePtr.
Wrapper around BRAY::ScenePtr.
const BRAY::ScenePtr & scene() const
BRAY::ScenePtr & scene()
Get the underlying ScenePtr.
virtual void doSetParameter(const UT_StringRef &key, const int32 *values, int n=1)=0