This patch is possibly controversial so rather than just commit it, I
wanted to provide an opportunity for others to review it first.  It is
posted on sf.net as patch "[ 1405925 ] New SCF: ParticleSys"

https://sourceforge.net/tracker/index.php?func=detail&aid=1405925&group_id=649&atid=300649

(For you convenience, I have pasted the summary of the patch below.)

iMeshObject and iParticleSystem define for functions
with the same names: GetColor, SetColor,
GetMaterialWrapper, and SetMaterialWrapper. This makes
converting anything that implemented both interfaces
dificult under the New SCF. This patch shows what is
nessisary to make it work with the New SCF. The extent
that one has to go to work around this issue is rather
far as seen in this patch. So we may want to explore
other options including renaming the function names in
iParticleSystem.

As far as I can see, options for the next step are:
1. Go ahead and apply this patch, and hope there are
only a few others that have this problem;
2. Don't apply this patch, and instead rename the
functions in iParticleSystem (or iMeshObject) with the
appropriate version number bump;
3. Wait until more of CS is converted to the New SCF to
see if this is a common problem, but at least this
patch is on record so in future we will know exactly
what has to be done.

I am on the fence about which step to take.

A note about efficiency:
Because the patch requires stub/indirection functions
it may be complained that it will make things slower.
However, it will only make QueryInterface, GetColor,
SetColor, GetMaterialWrapper, and SetMaterialWrapper
slower. However, each of these will only be one
function call shower. (Which isn't much on modern
compilers.) Also, QueryInterface is already a slow
function so it doesn't matter. The only question is
whether the remaining functions are called in a
performance sensitive section.


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_idv37&alloc_id865&op=click
_______________________________________________
Crystal-main mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/crystal-main
Unsubscribe: mailto:[EMAIL PROTECTED]

Reply via email to