Hello Gerrit,

"Gerrit Voß" <[email protected]> schrieb im 
Newsbeitrag news:[email protected]...
>>
>> catches all Materials but the OSBChunkMaterialElement only registers
>> for ChunkMaterial itself, not for SimpleMaterial which you seem to use.
>>
>> So the whole thing should never run into the else case for chunk
>> material derived elements.
>>
>
> ok the quick solution seems to be to register OSBChunkMaterialElement
> for SimpleMaterials too. I couldn't see anything in there that would
> make problems, so it is commited. With this the osb loader should keep
> both TexObj and TexEnv, which my quick tests confirm with your root.osb
> file.
Ok, I have spotted one problem. I have a model which contains a 
SimpleMaterial but which does not contain any chunk, i.e in function 
OSBChunkMaterialElement::read() the block

        else if(fieldName == "chunks")
        {
            // keep an interator to the _mfChunks field contents
            readFieldContent(fieldName, fieldTypeName, fieldSize, "",
                             _chunksPtrFieldIt);
        }

is never reached. Therefore the chunksPtrFieldIt iterator is only default 
constructed and not dereferencable. This, however, is performed in the 
following postRead call:

PtrFieldInfo::PtrIdStoreConstIt idIt  = 
_chunksPtrFieldIt->getIdStore().begin();

Best,
Johannes




------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Opensg-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-users

Reply via email to