POV-Ray : Newsgroups : povray.general : dynamic memory possible? : Re: dynamic memory possible? Server Time
31 Jul 2024 16:31:02 EDT (-0400)
  Re: dynamic memory possible?  
From: Penelope20k
Date: 5 Jun 2007 04:00:45
Message: <4665182d$1@news.povray.org>
ill will do like this
I read the data and create an include file containing all My_data[index] =
value;

then when all the txt file is read, i will declare the size of array and
include the .inc file

(please correct typo)


#declare  convert_file=on;  // switch here if you dont need to convert each
time


#if(convert_file)
    #fopen My_file_ACR "12440_ACR.txt" read
    #fopen My_data_ACR "My_Data_ACR.inc"

    #declare index=0;
    #while(defined(My_file_ACR))
        #read (My_file_ACR, a,b,c)
        #declare vector=<a,b,c>;
        #write (My_Data_ACR,"#declare my_data[",index,"]=",vector,";\n")
        #declare index=index+1;
    #end

// close files here


#end // end of if statement



    #declare my_data=array[index]    // the one resulting of the loop
    // then
    #include my_data_acr.inc




news:web.4663e8a8e799405a678ea4f80@news.povray.org...
> Hello there,
> I hope you understand my question, it's directly translated from German...
> ;)
>
> I have a file with some coordinates I want to store in an array. Since I
> don't know how to store in an array that was not defined before I do this:
> --------------------------------------
> #fopen fsbsp "124440_ACR.txt" read
> #declare fs_count = 0;
> #while(defined(fsbsp))
>   #read (fsbsp,utm_x,utm_y,utm_z)
>   #declare fs_count = fs_count+1;
> #end
> #debug concat("fs_count     ", str(fs_count, 0,0),"n")
>
> #declare a_pos = array[fs_count];
>
> #fopen a_pos_f "124440_ACR.txt" read
> #declare fs_count2 = 0;
> #while(defined(a_pos_f))
>   #read (a_pos_f,utm_x,utm_y,utm_z)
>   #declare a_pos[fs_count2] = <utm_x,utm_y,utm_z>;
>   #declare fs_count2 = fs_count2 + 1;
> #end
> --------------------------------------
> Here's what this does:
> - opens the file and "counts" the rows
> - closes the file (#while(defined(...)))
> - defines the array
> - opens the file again
> - reads and stores values
> - closes the file again
>
> Is there any possibility to do this without opening and reading the file
> twice? I know Java can do dynamic memory (if that's what it is called),
but
> POV?
>
> Thanks in advance
> Gunnar
>
>
>


Post a reply to this message

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