HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HOM_GeometryRayCache.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * COMMENTS:
7  * Geometry ray cache interface.
8  */
9 
10 #ifndef __HOM_GeometryRayCache_h__
11 #define __HOM_GeometryRayCache_h__
12 
13 #include "HOM_API.h"
14 #include "HOM_Module.h"
15 #include "HOM_Defines.h"
16 #include "HOM_Errors.h"
17 #include "HOM_Geometry.h"
18 #include <string>
19 
20 SWIGOUT(%rename(GeometryRayCache) HOM_GeometryRayCache;)
21 SWIGOUT(%feature("notabstract") HOM_GeometryRayCache;)
22 
24 {
25 public:
26 #ifdef SWIG
27 %extend
28 {
30  { return HOM().newGeometryRayCache(); }
31 }
32 #else
34  { HOM_CONSTRUCT_OBJECT(this) }
36  { HOM_CONSTRUCT_OBJECT(this) }
37 #endif
39  { HOM_DESTRUCT_OBJECT(this) }
40 
41  virtual std::string __repr__() = 0;
42 
44  virtual int intersect(
45  HOM_Geometry &geo,
46  const HOM_Vector3 &rayorig, const HOM_Vector3 &dir,
48  float min_hit=1e-2f, float max_hit=1e18f,
49  float tolerance=1e-2F) = 0;
50 
51 };
52 
53 #endif
#define HOM_DESTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1211
OIIO_API bool rename(string_view from, string_view to, std::string &err)
#define SWIGOUT(x)
Definition: HOM_Defines.h:24
HOM_GeometryRayCache(const HOM_GeometryRayCache &)
string __repr__(VtArray< T > const &self)
Definition: wrapArray.h:349
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)
GLclampf f
Definition: glew.h:3499
#define HOM_API
Definition: HOM_API.h:13
#define HOM_CONSTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1210
GLsizei n
Definition: glew.h:4040
virtual HOM_GeometryRayCache * newGeometryRayCache()=0
GLfloat GLfloat p
Definition: glew.h:16321
GLsizei const GLchar *const * string
Definition: glew.h:1844
HOM_API HOM_Module & HOM()