当前位置: 首页>>代码示例>>C++>>正文


C++ RTCORE_CATCH_END函数代码示例

本文整理汇总了C++中RTCORE_CATCH_END函数的典型用法代码示例。如果您正苦于以下问题:C++ RTCORE_CATCH_END函数的具体用法?C++ RTCORE_CATCH_END怎么用?C++ RTCORE_CATCH_END使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了RTCORE_CATCH_END函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: rtcCommitThread

  RTCORE_API void rtcCommitThread(RTCScene hscene, unsigned int threadID, unsigned int numThreads) 
  {
    Scene* scene = (Scene*) hscene;
    RTCORE_CATCH_BEGIN;
    RTCORE_TRACE(rtcCommitThread);
    RTCORE_VERIFY_HANDLE(hscene);

    if (unlikely(numThreads == 0)) 
      throw_RTCError(RTC_INVALID_OPERATION,"invalid number of threads specified");

#if defined(__MIC__)
    if (unlikely(numThreads % 4 != 0 && numThreads != 1)) 
      throw_RTCError(RTC_INVALID_OPERATION,"MIC requires numThreads % 4 == 0 in rtcCommitThread");
#endif
    
    /* for best performance set FTZ and DAZ flags in the MXCSR control and status register */
#if !defined(__MIC__)
    unsigned int mxcsr = _mm_getcsr();
    _mm_setcsr(mxcsr | /* FTZ */ (1<<15) | /* DAZ */ (1<<6));
#endif
    
     /* perform scene build */
    scene->build(threadID,numThreads);

 /* reset MXCSR register again */
#if !defined(__MIC__)
    _mm_setcsr(mxcsr);
#endif

    RTCORE_CATCH_END(scene->device);
  }
开发者ID:eyalsoreq,项目名称:embree,代码行数:31,代码来源:rtcore.cpp

示例2: rtcSetParameter1i

 RTCORE_API void rtcSetParameter1i(const RTCParameter parm, ssize_t val)
 {
   RTCORE_CATCH_BEGIN;
   RTCORE_TRACE(rtcSetParameter1i);
   Lock<MutexSys> lock(g_mutex);
   if (g_device) g_device->setParameter1i(parm,val);
   RTCORE_CATCH_END(g_device);
 }
开发者ID:eyalsoreq,项目名称:embree,代码行数:8,代码来源:rtcore.cpp

示例3: rtcSetErrorFunction

 RTCORE_API void rtcSetErrorFunction(RTCErrorFunc func) 
 {
   RTCORE_CATCH_BEGIN;
   RTCORE_TRACE(rtcSetErrorFunction);
   assert(g_device);
   if (g_device) g_device->error_function = func;
   RTCORE_CATCH_END(g_device);
 }
开发者ID:eyalsoreq,项目名称:embree,代码行数:8,代码来源:rtcore.cpp

示例4: rtcDeviceSetMemoryMonitorFunction

 RTCORE_API void rtcDeviceSetMemoryMonitorFunction(RTCDevice hdevice, RTCMemoryMonitorFunc func) 
 {
   Device* device = (Device*) hdevice;
   RTCORE_CATCH_BEGIN;
   RTCORE_TRACE(rtcDeviceSetMemoryMonitorFunction);
   device->memory_monitor_function = func;
   RTCORE_CATCH_END(device);
 }
开发者ID:eyalsoreq,项目名称:embree,代码行数:8,代码来源:rtcore.cpp

示例5: rtcSetMemoryMonitorFunction

 RTCORE_API void rtcSetMemoryMonitorFunction(RTCMemoryMonitorFunc func) 
 {
   RTCORE_CATCH_BEGIN;
   RTCORE_TRACE(rtcSetMemoryMonitorFunction);
   assert(g_device);
   if (g_device) g_device->memory_monitor_function = func;
   RTCORE_CATCH_END(g_device);
 }
开发者ID:eyalsoreq,项目名称:embree,代码行数:8,代码来源:rtcore.cpp

示例6: rtcExit

 RTCORE_API void rtcExit() 
 {
   RTCORE_CATCH_BEGIN;
   RTCORE_TRACE(rtcExit);
   Lock<MutexSys> lock(g_mutex);
   if (!g_device) throw_RTCError(RTC_INVALID_OPERATION,"rtcInit has to get called before rtcExit");
   delete g_device; g_device = nullptr;
   RTCORE_CATCH_END(g_device);
 }
开发者ID:eyalsoreq,项目名称:embree,代码行数:9,代码来源:rtcore.cpp

示例7: rtcInit

 RTCORE_API void rtcInit(const char* cfg) 
 {
   RTCORE_CATCH_BEGIN;
   RTCORE_TRACE(rtcInit);
   Lock<MutexSys> lock(g_mutex);
   if (g_device) throw_RTCError(RTC_INVALID_OPERATION,"already initialized");
   g_device = new Device(cfg,true);
   RTCORE_CATCH_END(g_device);
 }
开发者ID:eyalsoreq,项目名称:embree,代码行数:9,代码来源:rtcore.cpp

示例8: rtcSetProgressMonitorFunction

 RTCORE_API void rtcSetProgressMonitorFunction(RTCScene hscene, RTCProgressMonitorFunc func, void* ptr) 
 {
   Scene* scene = (Scene*) hscene;
   RTCORE_CATCH_BEGIN;
   RTCORE_TRACE(rtcSetProgressMonitorFunction);
   RTCORE_VERIFY_HANDLE(hscene);
   scene->setProgressMonitorFunction(func,ptr);
   RTCORE_CATCH_END(scene->device);
 }
开发者ID:eyalsoreq,项目名称:embree,代码行数:9,代码来源:rtcore.cpp

示例9: rtcDeviceSetErrorFunction

 RTCORE_API void rtcDeviceSetErrorFunction(RTCDevice hdevice, RTCErrorFunc func) 
 {
   Device* device = (Device*) hdevice;
   RTCORE_CATCH_BEGIN;
   RTCORE_TRACE(rtcDeviceSetErrorFunction);
   RTCORE_VERIFY_HANDLE(hdevice);
   device->error_function = func;
   RTCORE_CATCH_END(device);
 }
开发者ID:eyalsoreq,项目名称:embree,代码行数:9,代码来源:rtcore.cpp

示例10: ispcSetIntersectFunction16

 extern "C" void ispcSetIntersectFunction16 (RTCScene hscene, unsigned geomID, RTCIntersectFunc16 intersect) 
 {
   Scene* scene = (Scene*) hscene;
   RTCORE_CATCH_BEGIN;
   RTCORE_TRACE(rtcSetIntersectFunction16);
   RTCORE_VERIFY_HANDLE(scene);
   RTCORE_VERIFY_GEOMID(geomID);
   ((Scene*)scene)->get_locked(geomID)->setIntersectFunction16(intersect,true);
   RTCORE_CATCH_END(scene->device);
 }
开发者ID:Dade916,项目名称:embree,代码行数:10,代码来源:rtcore_ispc.cpp

示例11: rtcDeviceNewScene

 RTCORE_API RTCScene rtcDeviceNewScene (RTCDevice device, RTCSceneFlags flags, RTCAlgorithmFlags aflags) 
 {
   RTCORE_CATCH_BEGIN;
   RTCORE_TRACE(rtcDeviceNewScene);
   RTCORE_VERIFY_HANDLE(device);
   if (!isCoherent(flags) && !isIncoherent(flags)) flags = RTCSceneFlags(flags | RTC_SCENE_INCOHERENT);
   return (RTCScene) new Scene((Device*)device,flags,aflags);
   RTCORE_CATCH_END((Device*)device);
   return nullptr;
 }
开发者ID:eyalsoreq,项目名称:embree,代码行数:10,代码来源:rtcore.cpp

示例12: rtcNewScene

 RTCORE_API RTCScene rtcNewScene (RTCSceneFlags flags, RTCAlgorithmFlags aflags) 
 {
   RTCORE_CATCH_BEGIN;
   RTCORE_TRACE(rtcNewScene);
   assert(g_device);
   if (!isCoherent(flags) && !isIncoherent(flags)) flags = RTCSceneFlags(flags | RTC_SCENE_INCOHERENT);
   return (RTCScene) new Scene(g_device,flags,aflags);
   RTCORE_CATCH_END(g_device);
   return nullptr;
 }
开发者ID:eyalsoreq,项目名称:embree,代码行数:10,代码来源:rtcore.cpp

示例13: ispcSetOcclusionFilterFunction16

 extern "C" void ispcSetOcclusionFilterFunction16 (RTCScene hscene, unsigned geomID, RTCFilterFunc16 filter) 
 {
   Scene* scene = (Scene*) hscene;
   RTCORE_CATCH_BEGIN;
   RTCORE_TRACE(rtcSetOcclusionFilterFunction16);
   RTCORE_VERIFY_HANDLE(scene);
   RTCORE_VERIFY_GEOMID(geomID);
   ((Scene*)scene)->get_locked(geomID)->setOcclusionFilterFunction16(filter,true);
   RTCORE_CATCH_END(scene->device);
 }
开发者ID:Dade916,项目名称:embree,代码行数:10,代码来源:rtcore_ispc.cpp

示例14: rtcDeviceSetParameter1i

 RTCORE_API void rtcDeviceSetParameter1i(RTCDevice hdevice, const RTCParameter parm, ssize_t val)
 {
   Device* device = (Device*) hdevice;
   RTCORE_CATCH_BEGIN;
   RTCORE_TRACE(rtcDeviceSetParameter1i);
   RTCORE_VERIFY_HANDLE(hdevice);
   Lock<MutexSys> lock(g_mutex);
   device->setParameter1i(parm,val);
   RTCORE_CATCH_END(device);
 }
开发者ID:eyalsoreq,项目名称:embree,代码行数:10,代码来源:rtcore.cpp

示例15: ispcSetOccludedFunction8

 extern "C" void ispcSetOccludedFunction8 (RTCScene hscene, unsigned geomID, RTCOccludedFunc8 occluded) 
 {
   Scene* scene = (Scene*) hscene;
   RTCORE_CATCH_BEGIN;
   RTCORE_TRACE(rtcSetOccludedFunction8);
   RTCORE_VERIFY_HANDLE(scene);
   RTCORE_VERIFY_GEOMID(geomID);
   ((Scene*)scene)->get_locked(geomID)->setOccludedFunction8(occluded,true);
   RTCORE_CATCH_END(scene->device);
 }
开发者ID:Dade916,项目名称:embree,代码行数:10,代码来源:rtcore_ispc.cpp


注:本文中的RTCORE_CATCH_END函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。