ParallelGraphics Forums
SDK
You are here: [Forums]::[General]::[SDK]

Registration 
Registration
Forgot your password?

Help 
Help
Support

Quick search 

Subscribe to newsletters 

Install Cortona VRML Client for FREE!
Outline 3D
Try RobinZone!
email:  password:
   General - SDK

Subject: IndexedFaceSet Texture
Sender: mutafchiev@gmx.de 15.06.07 04:22

Hi,

I have an IndexedFaceSet object with many faces and
I want to put an bitmap image over that object.
i tried this way but nothing happens:

// get texture url
    CString imageName = ymlLayer->getImageName();
    BSTR imageURL = imageName.AllocSysString();

    Index.bstrVal = L"texCoord";
    CComPtr<IFieldObject> pFieldTexture;
    pFieldsIndexSet->get_Item(&Index, &pFieldTexture);
    if (!pFieldTexture)
        AfxMessageBox(L"No such texCoord field");

    CComPtr<ISFNodeObject> m_TextureNode;    
    if(FAILED(pFieldTexture->QueryInterface(IID_ISFNodeObject, (void**) &m_TextureNode)))
        AfxMessageBox(L"m_TextuteNode not OK");    

    CComPtr<INodeObject> m_ImageTextureObject;
    if(FAILED(m_Engine->CreateNode(L"ImageTexture", L"image", &m_ImageTextureObject))){
        AfxMessageBox(L"ImageTexture not created");        
    }

    //get the "url" field of ImageTextureObject
    CComPtr<IFieldsCollection> pFieldsImageTexture;
    CComPtr<IFieldObject> pFieldUrl;
    
    VARIANT IndexImageTexture;
    VariantInit(&IndexImageTexture);
    IndexImageTexture.vt = VT_BSTR;
    IndexImageTexture.bstrVal = L"url";

    m_ImageTextureObject->get_Fields(&pFieldsImageTexture);
    pFieldsImageTexture->get_Item(&IndexImageTexture, &pFieldUrl);
    if (!pFieldUrl)
        AfxMessageBox(L"No such url field");

    CComPtr<IMFStringObject> urlString;
    if(FAILED(pFieldUrl->QueryInterface(IID_IMFStringObject, (void**) &urlString))){
        AfxMessageBox(L"url failed");        
    }

    VARIANT varBeforeEndUrl;
    VariantInit(&varBeforeEndUrl);

    varBeforeEndUrl.vt = VT_ERROR;
    varBeforeEndUrl.lVal = DISP_E_MEMBERNOTFOUND;

    urlString->Add(imageURL, &varBeforeEndUrl);
    ::SysFreeString(imageURL);

Can somebody explain me what is not correct here and how can I do that.

 


IndexedFaceSet Texture / mutafchiev@gmx.de / 15.06.07 04:22
     Re: IndexedFaceSet Texture / mutafchiev@gmx.de / 15.06.07 06:31
         Re: IndexedFaceSet Texture / nalex@parallelgraphics.com / 15.06.07 06:34
     Re: IndexedFaceSet Texture / mutafchiev@gmx.de / 15.06.07 06:30
     Re: IndexedFaceSet Texture / nalex@parallelgraphics.com / 15.06.07 05:42
         Re: IndexedFaceSet Texture / mutafchiev@gmx.de / 15.06.07 08:45
             Re: IndexedFaceSet Texture / nalex@parallelgraphics.com / 15.06.07 10:26
                 Re: IndexedFaceSet Texture / mutafchiev@gmx.de / 18.06.07 08:30
                 Re: IndexedFaceSet Texture / mutafchiev@gmx.de / 15.06.07 13:21

Messages in thread: 9


© 1998-2007 ParallelGraphics. All rights reserved. Terms of use.