Core unit for Plucker-coordinate-based ray-tracing. More...
#include <string.h>
#include <stdlib.h>
#include "tettracing.h"
Defines | |
#define | F32N(a) ((a) & 0x80000000) |
#define | F32P(a) ((a) ^ 0x80000000) |
Functions | |
void | interppos (float3 *w, float3 *p1, float3 *p2, float3 *p3, float3 *pout) |
void | getinterp (float w1, float w2, float w3, float3 *p1, float3 *p2, float3 *p3, float3 *pout) |
void | fixphoton (float3 *p, float3 *nodes, int *ee) |
float | plucker_raytet (float3 *p0, float3 *pvec, raytracer *tracer, int eid, float3 *pout, float slen, int *faceid, float *weight, int *isend, float *photontimer, float *Eabsorb, float rtstep, Config *cfg) |
float | onephoton (int id, raytracer *tracer, tetmesh *mesh, Config *cfg, float rtstep, RandType *ran, RandType *ran0) |
float | mmc_rsqrtf (float a) |
float | reflectray (Config *cfg, float3 *c0, raytracer *tracer, int *oldeid, int *eid, int faceid, RandType *ran) |
Variables | |
const int | fc [4][3] = {{0,4,2},{3,5,4},{2,5,1},{1,3,0}} |
const int | nc [4][3] = {{3,0,1},{3,1,2},{2,0,3},{1,0,2}} |
const int | faceorder [] = {1,3,2,0} |
const int | ifaceorder [] = {3,0,2,1} |
Core unit for Plucker-coordinate-based ray-tracing.