Link Search Menu Expand Document

bool enuSetAttribute3DByNodeSync(HX3D pX3DHandler, HNODE pObject, wchar_t* pStrVariable, wchar_t* pStrValue, bool bHistory, bool bScript)

bool enuSetAttribute3DByNodeSync(HX3D pX3DHandler, HNODE pObject, wchar_t* pStrVariable, wchar_t* pStrValue, bool bool bHistory, bool bScript)

Parameters

  • HX3D pX3DHandler

X3D핸들을 입력합니다.

  • HNODE pObject

3D 객체 핸들을 입력합니다.

  • wchar_t* pStrVariable

설정하고자하는 속성 변수를 입력합니다.

  • wchar_t* pStrValue

변수의 값을 입력합니다.

  • bool bHistory=false

Undo를 위한 히스토리 저장여부를 설정합니다.

  • bool bScript=false

해당객체의 스크립트를 재등록여부를 설정합니다. (ID의 속성값을 변경하였을 경우, 스크립트를 재등록하여야 합니다.)

Return Value

Type : bool

정상적인 속성 변경여부를 반환합니다.

Remarks

<?xml version="1.0" encoding="UTF-16" ?>
<x3d
>
    <Scene
    >
        <Transform
            rotation="0.000000,0.000000,113.000000"
            scaleOrientation="0.000000,0.000000,1.000000,0.000000"
        >
            <Shape
                id="ID_BOX"
            >
                <Appearance
                >
                    <Material
                        ambientIntensity="0.200000"
                        shininess="0.200000"
                        transparency="1.000000"
                        diffuseColor="0.800000,0.800000,0.800000"
                        emissiveColor="0.000000,0.000000,0.000000"
                        specularColor="0.000000,0.000000,0.000000"
                    >
                    </Material>
                </Appearance>
                <Box
                    size="10.000000,10.000000,10.000000"
                >
                </Box>
            </Shape>
        </Transform>
    </Scene>
</x3d>

Examples

HVIEW ViewHandle = NULL; 
void CSampleView::OnInitialUpdate() 
{ 
    CView::OnInitialUpdate(); 

    enuCreateProject(); 

    // Load Project
    enuLoadProjectFile(L"Project\\sample.enup"); 

    // Create View
    ViewHandle = enuCreate3DView(this->m_hWnd); 

    // ENU View Attach Set Page 
    enuSetX3dPageView(ViewHandle , L"picture\\core_3d.x3d");

    // Get X3D picture handle
    HX3D pX3D = enuGetX3DHandler(ViewHandle);

    // Create 3D Box.
    HNODE hGeo= enuCreate3DBox(pX3D,L"MyBox", 100, 0, 0, 0);   

    enuSetAttribute3D(pX3D , L"ID_BOX.size_x", L"100");
    enuSetAttribute3D(pX3D , L"ID_BOX.rotation_z", L"45");
    enuSetAttribute3D(pX3D , L"ID_BOX.transparency", L"0.5");

    HX3D hMat = enuGetMaterialFromGeometry(pX3D, hGeo);
    HX3D hTrans =enuGetTransformFromGeometry(pX3D, hGeo); 

    enuSetAttribute3DByNode(pX3D, hGeo, L"size_x", L"100");                // 비동기식 함수 호출
    enuSetAttribute3DByNode(pX3D, hTrans, L"rotation_z", L"45");           // 비동기식 함수 호출
    enuSetAttribute3DByNode(pX3D, hMat, L"transparency", L"0.5");          // 비동기식 함수 호출

    enuSetAttribute3DByNodeSync(pX3D, hGeo, L"size_x", L"100", false, false);        // 동기식 함수 호출
    enuSetAttribute3DByNodeSync(pX3D, hTrans, L"rotation_z", L"45"false, false);     // 동기식 함수 호출
    enuSetAttribute3DByNodeSync(pX3D, hMat, L"transparency", L"0.5"false, false);    // 동기식 함수 호출

}

####