HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
rtcore_geometry.h File Reference
#include "rtcore_buffer.h"
#include "rtcore_quaternion.h"
+ Include dependency graph for rtcore_geometry.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  RTCBoundsFunctionArguments
 
struct  RTCIntersectFunctionNArguments
 
struct  RTCOccludedFunctionNArguments
 
struct  RTCDisplacementFunctionNArguments
 
struct  RTCInterpolateArguments
 
struct  RTCInterpolateNArguments
 
struct  RTCGrid
 

Typedefs

typedef
typedefRTC_NAMESPACE_BEGIN
struct RTCSceneTy * 
RTCScene
 
typedef struct RTCGeometryTy * RTCGeometry
 
typedef void(* RTCBoundsFunction )(const struct RTCBoundsFunctionArguments *args)
 
typedef void(* RTCIntersectFunctionN )(const struct RTCIntersectFunctionNArguments *args)
 
typedef void(* RTCOccludedFunctionN )(const struct RTCOccludedFunctionNArguments *args)
 
typedef void(* RTCDisplacementFunctionN )(const struct RTCDisplacementFunctionNArguments *args)
 

Enumerations

enum  RTCGeometryType {
  RTC_GEOMETRY_TYPE_TRIANGLE = 0, RTC_GEOMETRY_TYPE_QUAD = 1, RTC_GEOMETRY_TYPE_GRID = 2, RTC_GEOMETRY_TYPE_SUBDIVISION = 8,
  RTC_GEOMETRY_TYPE_ROUND_LINEAR_CURVE = 16, RTC_GEOMETRY_TYPE_FLAT_LINEAR_CURVE = 17, RTC_GEOMETRY_TYPE_ROUND_BEZIER_CURVE = 24, RTC_GEOMETRY_TYPE_FLAT_BEZIER_CURVE = 25,
  RTC_GEOMETRY_TYPE_NORMAL_ORIENTED_BEZIER_CURVE = 26, RTC_GEOMETRY_TYPE_ROUND_BSPLINE_CURVE = 32, RTC_GEOMETRY_TYPE_FLAT_BSPLINE_CURVE = 33, RTC_GEOMETRY_TYPE_NORMAL_ORIENTED_BSPLINE_CURVE = 34,
  RTC_GEOMETRY_TYPE_ROUND_HERMITE_CURVE = 40, RTC_GEOMETRY_TYPE_FLAT_HERMITE_CURVE = 41, RTC_GEOMETRY_TYPE_NORMAL_ORIENTED_HERMITE_CURVE = 42, RTC_GEOMETRY_TYPE_SPHERE_POINT = 50,
  RTC_GEOMETRY_TYPE_DISC_POINT = 51, RTC_GEOMETRY_TYPE_ORIENTED_DISC_POINT = 52, RTC_GEOMETRY_TYPE_ROUND_CATMULL_ROM_CURVE = 58, RTC_GEOMETRY_TYPE_FLAT_CATMULL_ROM_CURVE = 59,
  RTC_GEOMETRY_TYPE_NORMAL_ORIENTED_CATMULL_ROM_CURVE = 60, RTC_GEOMETRY_TYPE_USER = 120, RTC_GEOMETRY_TYPE_INSTANCE = 121
}
 
enum  RTCSubdivisionMode {
  RTC_SUBDIVISION_MODE_NO_BOUNDARY = 0, RTC_SUBDIVISION_MODE_SMOOTH_BOUNDARY = 1, RTC_SUBDIVISION_MODE_PIN_CORNERS = 2, RTC_SUBDIVISION_MODE_PIN_BOUNDARY = 3,
  RTC_SUBDIVISION_MODE_PIN_ALL = 4
}
 
enum  RTCCurveFlags { RTC_CURVE_FLAG_NEIGHBOR_LEFT = (1 << 0), RTC_CURVE_FLAG_NEIGHBOR_RIGHT = (1 << 1) }
 

Functions

RTC_API RTCGeometry rtcNewGeometry (RTCDevice device, enum RTCGeometryType type)
 
RTC_API void rtcRetainGeometry (RTCGeometry geometry)
 
RTC_API void rtcReleaseGeometry (RTCGeometry geometry)
 
RTC_API void rtcCommitGeometry (RTCGeometry geometry)
 
RTC_API void rtcEnableGeometry (RTCGeometry geometry)
 
RTC_API void rtcDisableGeometry (RTCGeometry geometry)
 
RTC_API void rtcSetGeometryTimeStepCount (RTCGeometry geometry, unsigned int timeStepCount)
 
RTC_API void rtcSetGeometryTimeRange (RTCGeometry geometry, float startTime, float endTime)
 
RTC_API void rtcSetGeometryVertexAttributeCount (RTCGeometry geometry, unsigned int vertexAttributeCount)
 
RTC_API void rtcSetGeometryMask (RTCGeometry geometry, unsigned int mask)
 
RTC_API void rtcSetGeometryBuildQuality (RTCGeometry geometry, enum RTCBuildQuality quality)
 
RTC_API void rtcSetGeometryMaxRadiusScale (RTCGeometry geometry, float maxRadiusScale)
 
RTC_API void rtcSetGeometryBuffer (RTCGeometry geometry, enum RTCBufferType type, unsigned int slot, enum RTCFormat format, RTCBuffer buffer, size_t byteOffset, size_t byteStride, size_t itemCount)
 
RTC_API void rtcSetSharedGeometryBuffer (RTCGeometry geometry, enum RTCBufferType type, unsigned int slot, enum RTCFormat format, const void *ptr, size_t byteOffset, size_t byteStride, size_t itemCount)
 
RTC_API voidrtcSetNewGeometryBuffer (RTCGeometry geometry, enum RTCBufferType type, unsigned int slot, enum RTCFormat format, size_t byteStride, size_t itemCount)
 
RTC_API voidrtcGetGeometryBufferData (RTCGeometry geometry, enum RTCBufferType type, unsigned int slot)
 
RTC_API void rtcUpdateGeometryBuffer (RTCGeometry geometry, enum RTCBufferType type, unsigned int slot)
 
RTC_API void rtcSetGeometryIntersectFilterFunction (RTCGeometry geometry, RTCFilterFunctionN filter)
 
RTC_API void rtcSetGeometryOccludedFilterFunction (RTCGeometry geometry, RTCFilterFunctionN filter)
 
RTC_API void rtcSetGeometryUserData (RTCGeometry geometry, void *ptr)
 
RTC_API voidrtcGetGeometryUserData (RTCGeometry geometry)
 
RTC_API void rtcSetGeometryPointQueryFunction (RTCGeometry geometry, RTCPointQueryFunction pointQuery)
 
RTC_API void rtcSetGeometryUserPrimitiveCount (RTCGeometry geometry, unsigned int userPrimitiveCount)
 
RTC_API void rtcSetGeometryBoundsFunction (RTCGeometry geometry, RTCBoundsFunction bounds, void *userPtr)
 
RTC_API void rtcSetGeometryIntersectFunction (RTCGeometry geometry, RTCIntersectFunctionN intersect)
 
RTC_API void rtcSetGeometryOccludedFunction (RTCGeometry geometry, RTCOccludedFunctionN occluded)
 
RTC_API void rtcFilterIntersection (const struct RTCIntersectFunctionNArguments *args, const struct RTCFilterFunctionNArguments *filterArgs)
 
RTC_API void rtcFilterOcclusion (const struct RTCOccludedFunctionNArguments *args, const struct RTCFilterFunctionNArguments *filterArgs)
 
RTC_API void rtcSetGeometryInstancedScene (RTCGeometry geometry, RTCScene scene)
 
RTC_API void rtcSetGeometryTransform (RTCGeometry geometry, unsigned int timeStep, enum RTCFormat format, const void *xfm)
 
RTC_API void rtcSetGeometryTransformQuaternion (RTCGeometry geometry, unsigned int timeStep, const struct RTCQuaternionDecomposition *qd)
 
RTC_API void rtcGetGeometryTransform (RTCGeometry geometry, float time, enum RTCFormat format, void *xfm)
 
RTC_API void rtcSetGeometryTessellationRate (RTCGeometry geometry, float tessellationRate)
 
RTC_API void rtcSetGeometryTopologyCount (RTCGeometry geometry, unsigned int topologyCount)
 
RTC_API void rtcSetGeometrySubdivisionMode (RTCGeometry geometry, unsigned int topologyID, enum RTCSubdivisionMode mode)
 
RTC_API void rtcSetGeometryVertexAttributeTopology (RTCGeometry geometry, unsigned int vertexAttributeID, unsigned int topologyID)
 
RTC_API void rtcSetGeometryDisplacementFunction (RTCGeometry geometry, RTCDisplacementFunctionN displacement)
 
RTC_API unsigned int rtcGetGeometryFirstHalfEdge (RTCGeometry geometry, unsigned int faceID)
 
RTC_API unsigned int rtcGetGeometryFace (RTCGeometry geometry, unsigned int edgeID)
 
RTC_API unsigned int rtcGetGeometryNextHalfEdge (RTCGeometry geometry, unsigned int edgeID)
 
RTC_API unsigned int rtcGetGeometryPreviousHalfEdge (RTCGeometry geometry, unsigned int edgeID)
 
RTC_API unsigned int rtcGetGeometryOppositeHalfEdge (RTCGeometry geometry, unsigned int topologyID, unsigned int edgeID)
 
RTC_API void rtcInterpolate (const struct RTCInterpolateArguments *args)
 
RTC_FORCEINLINE void rtcInterpolate0 (RTCGeometry geometry, unsigned int primID, float u, float v, enum RTCBufferType bufferType, unsigned int bufferSlot, float *P, unsigned int valueCount)
 
RTC_FORCEINLINE void rtcInterpolate1 (RTCGeometry geometry, unsigned int primID, float u, float v, enum RTCBufferType bufferType, unsigned int bufferSlot, float *P, float *dPdu, float *dPdv, unsigned int valueCount)
 
RTC_FORCEINLINE void rtcInterpolate2 (RTCGeometry geometry, unsigned int primID, float u, float v, enum RTCBufferType bufferType, unsigned int bufferSlot, float *P, float *dPdu, float *dPdv, float *ddPdudu, float *ddPdvdv, float *ddPdudv, unsigned int valueCount)
 
RTC_API void rtcInterpolateN (const struct RTCInterpolateNArguments *args)
 

Typedef Documentation

typedef void(* RTCBoundsFunction)(const struct RTCBoundsFunctionArguments *args)

Definition at line 80 of file rtcore_geometry.h.

typedef void(* RTCDisplacementFunctionN)(const struct RTCDisplacementFunctionNArguments *args)

Definition at line 131 of file rtcore_geometry.h.

typedef struct RTCGeometryTy* RTCGeometry

Definition at line 15 of file rtcore_geometry.h.

typedef void(* RTCIntersectFunctionN)(const struct RTCIntersectFunctionNArguments *args)

Definition at line 95 of file rtcore_geometry.h.

typedef void(* RTCOccludedFunctionN)(const struct RTCOccludedFunctionNArguments *args)

Definition at line 110 of file rtcore_geometry.h.

typedef typedefRTC_NAMESPACE_BEGIN struct RTCSceneTy* RTCScene

Definition at line 12 of file rtcore_geometry.h.

Enumeration Type Documentation

Enumerator
RTC_CURVE_FLAG_NEIGHBOR_LEFT 
RTC_CURVE_FLAG_NEIGHBOR_RIGHT 

Definition at line 64 of file rtcore_geometry.h.

Enumerator
RTC_GEOMETRY_TYPE_TRIANGLE 
RTC_GEOMETRY_TYPE_QUAD 
RTC_GEOMETRY_TYPE_GRID 
RTC_GEOMETRY_TYPE_SUBDIVISION 
RTC_GEOMETRY_TYPE_ROUND_LINEAR_CURVE 
RTC_GEOMETRY_TYPE_FLAT_LINEAR_CURVE 
RTC_GEOMETRY_TYPE_ROUND_BEZIER_CURVE 
RTC_GEOMETRY_TYPE_FLAT_BEZIER_CURVE 
RTC_GEOMETRY_TYPE_NORMAL_ORIENTED_BEZIER_CURVE 
RTC_GEOMETRY_TYPE_ROUND_BSPLINE_CURVE 
RTC_GEOMETRY_TYPE_FLAT_BSPLINE_CURVE 
RTC_GEOMETRY_TYPE_NORMAL_ORIENTED_BSPLINE_CURVE 
RTC_GEOMETRY_TYPE_ROUND_HERMITE_CURVE 
RTC_GEOMETRY_TYPE_FLAT_HERMITE_CURVE 
RTC_GEOMETRY_TYPE_NORMAL_ORIENTED_HERMITE_CURVE 
RTC_GEOMETRY_TYPE_SPHERE_POINT 
RTC_GEOMETRY_TYPE_DISC_POINT 
RTC_GEOMETRY_TYPE_ORIENTED_DISC_POINT 
RTC_GEOMETRY_TYPE_ROUND_CATMULL_ROM_CURVE 
RTC_GEOMETRY_TYPE_FLAT_CATMULL_ROM_CURVE 
RTC_GEOMETRY_TYPE_NORMAL_ORIENTED_CATMULL_ROM_CURVE 
RTC_GEOMETRY_TYPE_USER 
RTC_GEOMETRY_TYPE_INSTANCE 

Definition at line 18 of file rtcore_geometry.h.

Enumerator
RTC_SUBDIVISION_MODE_NO_BOUNDARY 
RTC_SUBDIVISION_MODE_SMOOTH_BOUNDARY 
RTC_SUBDIVISION_MODE_PIN_CORNERS 
RTC_SUBDIVISION_MODE_PIN_BOUNDARY 
RTC_SUBDIVISION_MODE_PIN_ALL 

Definition at line 54 of file rtcore_geometry.h.

Function Documentation

RTC_API void rtcCommitGeometry ( RTCGeometry  geometry)
RTC_API void rtcDisableGeometry ( RTCGeometry  geometry)
RTC_API void rtcEnableGeometry ( RTCGeometry  geometry)
RTC_API void rtcFilterIntersection ( const struct RTCIntersectFunctionNArguments args,
const struct RTCFilterFunctionNArguments filterArgs 
)
RTC_API void rtcFilterOcclusion ( const struct RTCOccludedFunctionNArguments args,
const struct RTCFilterFunctionNArguments filterArgs 
)
RTC_API void* rtcGetGeometryBufferData ( RTCGeometry  geometry,
enum RTCBufferType  type,
unsigned int  slot 
)
RTC_API unsigned int rtcGetGeometryFace ( RTCGeometry  geometry,
unsigned int  edgeID 
)
RTC_API unsigned int rtcGetGeometryFirstHalfEdge ( RTCGeometry  geometry,
unsigned int  faceID 
)
RTC_API unsigned int rtcGetGeometryNextHalfEdge ( RTCGeometry  geometry,
unsigned int  edgeID 
)
RTC_API unsigned int rtcGetGeometryOppositeHalfEdge ( RTCGeometry  geometry,
unsigned int  topologyID,
unsigned int  edgeID 
)
RTC_API unsigned int rtcGetGeometryPreviousHalfEdge ( RTCGeometry  geometry,
unsigned int  edgeID 
)
RTC_API void rtcGetGeometryTransform ( RTCGeometry  geometry,
float  time,
enum RTCFormat  format,
void xfm 
)
RTC_API void* rtcGetGeometryUserData ( RTCGeometry  geometry)
RTC_API void rtcInterpolate ( const struct RTCInterpolateArguments args)
RTC_FORCEINLINE void rtcInterpolate0 ( RTCGeometry  geometry,
unsigned int  primID,
float  u,
float  v,
enum RTCBufferType  bufferType,
unsigned int  bufferSlot,
float *  P,
unsigned int  valueCount 
)

Definition at line 288 of file rtcore_geometry.h.

RTC_FORCEINLINE void rtcInterpolate1 ( RTCGeometry  geometry,
unsigned int  primID,
float  u,
float  v,
enum RTCBufferType  bufferType,
unsigned int  bufferSlot,
float *  P,
float *  dPdu,
float *  dPdv,
unsigned int  valueCount 
)

Definition at line 308 of file rtcore_geometry.h.

RTC_FORCEINLINE void rtcInterpolate2 ( RTCGeometry  geometry,
unsigned int  primID,
float  u,
float  v,
enum RTCBufferType  bufferType,
unsigned int  bufferSlot,
float *  P,
float *  dPdu,
float *  dPdv,
float *  ddPdudu,
float *  ddPdvdv,
float *  ddPdudv,
unsigned int  valueCount 
)

Definition at line 329 of file rtcore_geometry.h.

RTC_API void rtcInterpolateN ( const struct RTCInterpolateNArguments args)
RTC_API RTCGeometry rtcNewGeometry ( RTCDevice  device,
enum RTCGeometryType  type 
)
RTC_API void rtcReleaseGeometry ( RTCGeometry  geometry)
RTC_API void rtcRetainGeometry ( RTCGeometry  geometry)
RTC_API void rtcSetGeometryBoundsFunction ( RTCGeometry  geometry,
RTCBoundsFunction  bounds,
void userPtr 
)
RTC_API void rtcSetGeometryBuffer ( RTCGeometry  geometry,
enum RTCBufferType  type,
unsigned int  slot,
enum RTCFormat  format,
RTCBuffer  buffer,
size_t  byteOffset,
size_t  byteStride,
size_t  itemCount 
)
RTC_API void rtcSetGeometryBuildQuality ( RTCGeometry  geometry,
enum RTCBuildQuality  quality 
)
RTC_API void rtcSetGeometryDisplacementFunction ( RTCGeometry  geometry,
RTCDisplacementFunctionN  displacement 
)
RTC_API void rtcSetGeometryInstancedScene ( RTCGeometry  geometry,
RTCScene  scene 
)
RTC_API void rtcSetGeometryIntersectFilterFunction ( RTCGeometry  geometry,
RTCFilterFunctionN  filter 
)
RTC_API void rtcSetGeometryIntersectFunction ( RTCGeometry  geometry,
RTCIntersectFunctionN  intersect 
)
RTC_API void rtcSetGeometryMask ( RTCGeometry  geometry,
unsigned int  mask 
)
RTC_API void rtcSetGeometryMaxRadiusScale ( RTCGeometry  geometry,
float  maxRadiusScale 
)
RTC_API void rtcSetGeometryOccludedFilterFunction ( RTCGeometry  geometry,
RTCFilterFunctionN  filter 
)
RTC_API void rtcSetGeometryOccludedFunction ( RTCGeometry  geometry,
RTCOccludedFunctionN  occluded 
)
RTC_API void rtcSetGeometryPointQueryFunction ( RTCGeometry  geometry,
RTCPointQueryFunction  pointQuery 
)
RTC_API void rtcSetGeometrySubdivisionMode ( RTCGeometry  geometry,
unsigned int  topologyID,
enum RTCSubdivisionMode  mode 
)
RTC_API void rtcSetGeometryTessellationRate ( RTCGeometry  geometry,
float  tessellationRate 
)
RTC_API void rtcSetGeometryTimeRange ( RTCGeometry  geometry,
float  startTime,
float  endTime 
)
RTC_API void rtcSetGeometryTimeStepCount ( RTCGeometry  geometry,
unsigned int  timeStepCount 
)
RTC_API void rtcSetGeometryTopologyCount ( RTCGeometry  geometry,
unsigned int  topologyCount 
)
RTC_API void rtcSetGeometryTransform ( RTCGeometry  geometry,
unsigned int  timeStep,
enum RTCFormat  format,
const void xfm 
)
RTC_API void rtcSetGeometryTransformQuaternion ( RTCGeometry  geometry,
unsigned int  timeStep,
const struct RTCQuaternionDecomposition *  qd 
)
RTC_API void rtcSetGeometryUserData ( RTCGeometry  geometry,
void ptr 
)
RTC_API void rtcSetGeometryUserPrimitiveCount ( RTCGeometry  geometry,
unsigned int  userPrimitiveCount 
)
RTC_API void rtcSetGeometryVertexAttributeCount ( RTCGeometry  geometry,
unsigned int  vertexAttributeCount 
)
RTC_API void rtcSetGeometryVertexAttributeTopology ( RTCGeometry  geometry,
unsigned int  vertexAttributeID,
unsigned int  topologyID 
)
RTC_API void* rtcSetNewGeometryBuffer ( RTCGeometry  geometry,
enum RTCBufferType  type,
unsigned int  slot,
enum RTCFormat  format,
size_t  byteStride,
size_t  itemCount 
)
RTC_API void rtcSetSharedGeometryBuffer ( RTCGeometry  geometry,
enum RTCBufferType  type,
unsigned int  slot,
enum RTCFormat  format,
const void ptr,
size_t  byteOffset,
size_t  byteStride,
size_t  itemCount 
)
RTC_API void rtcUpdateGeometryBuffer ( RTCGeometry  geometry,
enum RTCBufferType  type,
unsigned int  slot 
)