|
|
On 5/24/21 2:17 PM, Tor Olav Kristensen wrote:
> William F Pokorny <ano### [at] anonymousorg> wrote:
>> In povray.general we recently discussed implementing some limited type
>> checking. Attached is an include files showing testing for two new
>> keywords in the povr branch called id_type() and id_types_match().
>>
>> Note. Though the id values often change from release to release I found
>> an id_type() works in a switch statement making the id_type() worthwhile
>> too, I thought.
>
...
> Can it also be used with different functions types, splines, matrices,
> transforms, materials, file descriptors, light sources, cameras, color maps, and
> other maps ?
>
Played with these more tonight and I'm now leaning toward dropping
id_types_match(). As with most things the more I played the more the
hidden gotchas popped out, and the more complex the code got.
Answers to your category/type questions are mostly yes. Functions come
in two types depending on whether they return doubles or vectors. Light
sources I've not tested as yet, but I think those have always been
considered objects and so will likely get lumped with spheres et al(1).
In some oddness, there is a MACRO_ID_TOKEN, but it's impossible to
evaluate macro names because once they exist the parser attempts to run
them. I don't see a way to work around it - excepting maybe via some
very messy methods.
Bill P.
(1) - It's only code, as an old friend used to say to my enhancement
requests. :-) Likely some way to tell the object is really a light and
we could then set some bogus, large value maybe - or negative values.
There are, I know, some object type 'flags' that get set when objects
are created. We'll see.
Post a reply to this message
|
|