POV-Ray : Newsgroups : povray.unofficial.patches : Density_file extention patch: a patch for 3D data : Re: Density_file extention patch: a patch for 3D data Server Time
8 Jul 2024 13:34:59 EDT (-0400)
  Re: Density_file extention patch: a patch for 3D data  
From: William F  Pokorny
Date: 27 Sep 2002 10:25:28
Message: <3D946A57.4A7FA579@attglobal.net>
Thank you very much for this patch.

I did run into a couple problems which  seem to be
driven by differences in platform and compiler.

1) In the file pattern.cpp I had to change the lines:

__inline float intp3(....)
__inline float intp3_2(...)

to

inline float intp3(...)
inline float intp3_2(...)

2) To prevent and endless loop after picking up the [Data]
token the following lines were changed in pattern.cpp:

char buf[256],w1[256],w2[256],Fname[256],w;
int x,y,z,sx,sy,sz,n,ofs=0,fmt=0,i,d;

to

char buf[256],w1[256],w2[256],Fname[256];
int x,y,z,sx,sy,sz,n,ofs=0,fmt=0,i,d,w;


I also found a couple of code changes which did not seem
to be  bracketed with #ifdef DENSITYFILE_PATCH
and #endif.

1) In pattern.cpp the line:
Tpat->Vals.Density_File   = NULL; //R.S. 17 Aug. '02

2) In pattern.cpp the lines:
  if (((i0&0xff)=='d')&&((i1&0xff)=='f')) return(0);
  else return (unsigned short)((((unsigned short)i0) << 8) | ((unsigned
short)i1));

should probably be:

#ifdef DENSITYFILE_PATCH
  if (((i0&0xff)=='d')&&((i1&0xff)=='f')) return(0);
  else return (unsigned short)((((unsigned short)i0) << 8) | ((unsigned
short)i1));
#else
  return (unsigned short)((((unsigned short)i0) << 8) | ((unsigned short)i1));
#endif

Regards, Bill P.

>
> Comments and suggestions are welcome.
>
> R. Suzuki


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.