POV-Ray : Newsgroups : moray.win : YAFR : Re: YAFR Server Time
25 Apr 2024 06:26:52 EDT (-0400)
  Re: YAFR  
From: Patrick Elliott
Date: 9 Dec 2005 17:18:52
Message: <MPG.1e03af503877ce24989e98@news.povray.org>
In article <4398ba80$1@news.povray.org>, z99### [at] bellsouthnet says...
> Patrick Elliott wrote:
> > Why not function like you get in other high level languages, which can 
> > point to specific parts like:
> > def <temp name> as object using GroupWallPlates
> > or
> > for each <temp name> in House.GroupWallPlaces
> > Or something of that sort? You still have the layers of complexity in 
> > there, but you can specify which level of that complexity you want as the 
> > "base" starting point for referencing.
> 
> Not quire following that, but...for things which are identical, you can 
> easily enough use duplicate.  For things which are *almost* identical, 
> you need to make an actual copy to change the thing that's different. 
> How about...some kind of macro?  I know, just make a .inc file for it, 
> but if there were a way to do this inside Moray...?  I dunno.  ^^;
> 

The idea is to make something that can 'point' to at the part of the 
object whose sub-parts you want to work with. Having a pointer means that 
you could then do (I actually did the code a bit wrong):

def plates as pointer using House.GroupWallPlates
plates.Plate1 {rotate 90,0,0}

And that would rotate the Plate1 'sub-object'. You're replacing part of 
the entire name with a temporary pointer that automatically substitutes 
"House.GroupWallPlates" for plates. A macro would have to do the same 
thing, tacking on the part you leave off, in order to let you use a 
shorter version. So, why not provide something that lets you do that 
substitution 'in' the SDL itself, just as many programming languages let 
you define the scope of a property, so you don't have to constantly refer 
to the object it belongs to?

Is that clearer? I using isn't necessarily the right word, its just the 
one commonly used in programming languages that provide this feature. 
Though in those case, your actually specifying the 'scope' of the item 
your trying to deal with, such as the properties on Button1 from Window2, 
whose parent is Window1: Window1.Window2.Button1.Text, etc. Instead you 
tell the language to make Temp_Buttom = Window1.Window2.Button1, then 
just refer to Temp_Button.Text when writing the code.

-- 
void main () {

    call functional_code()
  else
    call crash_windows();
}


Post a reply to this message

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