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 
43  SWIGOUT(%kwargs intersect;)
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  SWIGOUT(%kwargs findAllInTube;)
52  virtual std::vector<HOM_ElemPtr<HOM_Point> > findAllInTube(
53  HOM_Geometry &geo,
54  const HOM_Vector3 &rayorig, const HOM_Vector3 &dir,
55  float radius, float min_hit=0.0f, float max_hit=1e18f,
56  float tolerance=5e-3f) = 0;
57 
58 };
59 
60 #endif
#define HOM_DESTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1291
GLsizei const GLchar *const * string
Definition: glcorearb.h:814
#define SWIGOUT(x)
Definition: HOM_Defines.h:24
HOM_GeometryRayCache(const HOM_GeometryRayCache &)
string __repr__(VtArray< T > const &self)
Definition: wrapArray.h:352
GLdouble n
Definition: glcorearb.h:2008
GLfloat f
Definition: glcorearb.h:1926
#define HOM_API
Definition: HOM_API.h:13
#define HOM_CONSTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1290
virtual HOM_GeometryRayCache * newGeometryRayCache()=0
OIIO_UTIL_API bool rename(string_view from, string_view to, std::string &err)
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
Definition: ImathLineAlgo.h:80
HOM_API HOM_Module & HOM()