Texture information. 
{
  Float lenxinv=0.0,lenyinv=0.0;
 
  if (tdp->
lenx!=0.0) lenxinv = 1.0/tdp->
lenx;
 
  if (tdp->
leny!=0.0) lenyinv = 1.0/tdp->
leny;
 
 
  {
    {
      return true;
    }
 
    {
      if (sq==0.0)
      {
        else
      }
      else
      {
        if (d.
z<0.0) uv->
x = 1.0-uv->
x;
 
 
        if (tdp->
lenx>0.0 && uv->
x<0.0)
 
        else if (tdp->
lenx<0.0 && uv->
x>0.0)
 
      }
      uv->
y = -(uv->
y+tdp->
oy)*lenyinv;
 
      break;
    }
 
    {
 
      if (sq==0.0)
      {
        else
      }
      else
      {
        if (d.
z<0.0) uv->
x = 1.0-uv->
x;
 
      }
 
 
      uv->
x = (0.5 + 0.5*cs*uv->
y - tdp->
ox)*lenxinv;
 
      uv->
y = (0.5 + 0.5*sn*uv->
y - tdp->
oy)*lenyinv;
 
      break;
    }
 
    {
      if (sq==0.0)
      else
      {
        if (d.
z<0.0) uv->
x = 1.0-uv->
x;
 
 
        if (tdp->
lenx>0.0 && uv->
x<0.0)
 
        else if (tdp->
lenx<0.0 && uv->
x>0.0)
 
      }
      uv->
y = -(d.
y*0.5+tdp->
oy)*lenyinv;
 
      break;
    }
 
    {
      uv->
x =  (d.
x*0.5-tdp->
ox)*lenxinv;
 
      uv->
y = -(d.
y*0.5+tdp->
oy)*lenyinv;
 
      break;
    }
 
    {
 
      {
          dir = 0;
        else
          dir = 2;
      }
      else
      {
          dir = 1;
        else
          dir = 2;
      }
 
      switch (dir)
      {
        case 0: 
        {
            uv->
x = (-d.
z*0.5-tdp->
ox)*lenxinv;
 
          else
            uv->
x = ( d.
z*0.5-tdp->
ox)*lenxinv;
 
 
          uv->
y = -(d.
y*0.5+tdp->
oy)*lenyinv;
 
          break;
        }
 
        case 1:  
        {
            uv->
y = ( d.
z*0.5-tdp->
oy)*lenyinv;
 
          else
            uv->
y = (-d.
z*0.5-tdp->
oy)*lenyinv;
 
 
          uv->
x = (d.
x*0.5-tdp->
ox)*lenxinv;
 
          break;
        }
 
        case 2: 
        {
            uv->
x = ( d.
x*0.5-tdp->
ox)*lenxinv;
 
          else
            uv->
x = (-d.
x*0.5-tdp->
ox)*lenxinv;
 
 
          uv->
y = -(d.
y*0.5+tdp->
oy)*lenyinv;
 
          break;
        }
      }
 
      break;
    }
 
    {
 
      sd->
GetXY(&curr_x,&curr_y,&scl);
 
      break;
    }
 
    {
      else
 
      break;
    }
  }
 
    return true;
  else
    return uv->
x>=0.0 && uv->
x<=1.0 && uv->
y>=0.0 && uv->
y<=1.0;
 
}
PyObject PyObject * v
Definition: abstract.h:297
 
const Py_UNICODE size_t n
Definition: unicodeobject.h:1184
 
unsigned char * p
Definition: floatobject.h:87
 
maxon::Bool Bool
Definition: ge_sys_math.h:51
 
maxon::Int32 Int32
Definition: ge_sys_math.h:56
 
maxon::Float Float
Definition: ge_sys_math.h:62
 
#define TEX_TILE
Texture tile enabled.
Definition: c4d_shader.h:23
 
#define P_UVW
UVW.
Definition: c4d_raytrace.h:29
 
#define P_FRONTAL
Frontal.
Definition: c4d_raytrace.h:27
 
#define P_VOLUMESHADER
Volume.
Definition: c4d_raytrace.h:32
 
#define P_SPATIAL
Spatial.
Definition: c4d_raytrace.h:28
 
#define P_CUBIC
Cubic.
Definition: c4d_raytrace.h:26
 
#define P_SPHERICAL
Spherical.
Definition: c4d_raytrace.h:23
 
#define P_CYLINDRICAL
Cylindrical.
Definition: c4d_raytrace.h:24
 
#define P_SHRINKWRAP
Shrinkwrap.
Definition: c4d_raytrace.h:30
 
#define P_FLAT
Flat.
Definition: c4d_raytrace.h:25
 
static constexpr Float64 PI2
floating point constant: 2.0 * PI
Definition: apibasemath.h:118
 
Float32 ATan(Float32 val)
Definition: apibasemath.h:150
 
Float32 Sqrt(Float32 val)
Definition: apibasemath.h:168
 
Float32 Abs(Float32 val)
Definition: apibasemath.h:195
 
void SinCos(Float32 r, Float32 &sn, Float32 &cs)
Definition: apibasemath.h:270
 
Float32 ACos(Float32 val)
Calculates arccosine. The input value is clipped for safety to avoid exceptions.
Definition: apibasemath.h:249
 
PyObject * op
Definition: object.h:520
 
Definition: c4d_raytrace.h:244
 
Definition: c4d_raytrace.h:541
 
Int32 xres
Image horizontal resolution.
Definition: c4d_raytrace.h:546
 
Int32 yres
Image vertical resolution.
Definition: c4d_raytrace.h:547
 
Definition: c4d_shader.h:742
 
Float oy
Definition: c4d_shader.h:774
 
Int32 uvwind
The uvw index, access is through VolumeData::GetUVW().
Definition: c4d_shader.h:781
 
Char proj
The texture projection: TextureProjectionTypes.
Definition: c4d_shader.h:753
 
Float leny
The Y length of the texture.
Definition: c4d_shader.h:776
 
Matrix im
The inverse of the texture projection matrix.
Definition: c4d_shader.h:750
 
Float lenx
The X length of the texture.
Definition: c4d_shader.h:775
 
Float ox
Definition: c4d_shader.h:772
 
Char texflag
The texture flags: TEX.
Definition: c4d_shader.h:751
 
Definition: c4d_tools.h:1388
 
Vector GetPointUVW(const TexData *tdp, const RayHitID &hit, const Vector64 &p) const
Definition: c4d_tools.h:1822
 
const RayParameter * GetRayParameter() const
Definition: c4d_tools.h:1743
 
void GetXY(Int32 *x, Int32 *y, Int32 *scale) const
Definition: c4d_tools.h:1869
 
PI
Definition: unicodeutils.h:16