"We offer new support options and therefor the forums are now in read-only mode! Please check out our Support Center for more information." - Vuforia Engine Team

Open a Web Site and Display Toast

I need to show toast while image is recognize. I referred here: https://developer.vuforia.com/resources/dev-guide/open-web-site-and-display-toast-target-detection.

I replaced the java code. But where to replace the native code in ImageTargets.cpp. I put the below code:

// Did we find any trackables this frame?

for(int tIdx = 0; tIdx < state.getNumActiveTrackables(); tIdx++){    // Get the trackable:    const QCAR::Trackable* trackable = state.getActiveTrackable(tIdx);    // Compare this trackable's id to a globally stored id    // If this is a new trackable, find the displayMessage java method and    // call it with the trackable's name    if (trackable->getId() != lastTrackableId) {        jstring js = env->NewStringUTF(trackable->getName());        jclass javaClass = env->GetObjectClass(obj);        jmethodID method = env->GetMethodID(javaClass, "displayMessage", "(Ljava/lang/String;)V");        env->CallVoidMethod(obj, method, js);        lastTrackableId = trackable->getId();    }  I removed below code and replaced above code. But i got getId()!, getName(), etc method cannot resolved. where i did mistake. Where to replace the code. which code i need to remove from below?

 

  // Did we find any trackables this frame?

    for(int tIdx = 0; tIdx < state.getNumTrackableResults(); tIdx++)

    {

        // Get the trackable:

        const QCAR::TrackableResult* result = state.getTrackableResult(tIdx);

 

 

 

 

 

        const QCAR::Trackable& trackable = result->getTrackable();

 

 

 

 

        QCAR::Matrix44F modelViewMatrix =

            QCAR::Tool::convertPose2GLMatrix(result->getPose());        

 

        // Choose the texture based on the target name:

        int textureIndex;

        if (strcmp(trackable.getName(), "chips") == 0)

        {

            textureIndex = 0;

        }

        else if (strcmp(trackable.getName(), "stones") == 0)

        {

            textureIndex = 1;

        }

        else

        {

            textureIndex = 2;

        }

 

        const Texture* const thisTexture = textures[textureIndex];

 

#ifdef USE_OPENGL_ES_1_1

        // Load projection matrix:

        glMatrixMode(GL_PROJECTION);

        glLoadMatrixf(projectionMatrix.data);

 

        // Load model view matrix:

        glMatrixMode(GL_MODELVIEW);

        glLoadMatrixf(modelViewMatrix.data);

        glTranslatef(0.f, 0.f, kObjectScale);

        glScalef(kObjectScale, kObjectScale, kObjectScale);

 

        // Draw object:

        glBindTexture(GL_TEXTURE_2D, thisTexture->mTextureID);

        glTexCoordPointer(2, GL_FLOAT, 0, (const GLvoid*) &teapotTexCoords[0]);

        glVertexPointer(3, GL_FLOAT, 0, (const GLvoid*) &teapotVertices[0]);

        glNormalPointer(GL_FLOAT, 0,  (const GLvoid*) &teapotNormals[0]);

        glDrawElements(GL_TRIANGLES, NUM_TEAPOT_OBJECT_INDEX, GL_UNSIGNED_SHORT,

                       (const GLvoid*) &teapotIndices[0]);

#else

 

        QCAR::Matrix44F modelViewProjection;

 

        SampleUtils::translatePoseMatrix(0.0f, 0.0f, kObjectScale,

                                         &modelViewMatrix.data[0]);

        SampleUtils::scalePoseMatrix(kObjectScale, kObjectScale, kObjectScale,

                                     &modelViewMatrix.data[0]);

        SampleUtils::multiplyMatrix(&projectionMatrix.data[0],

                                    &modelViewMatrix.data[0] ,

                                    &modelViewProjection.data[0]);

 

        glUseProgram(shaderProgramID);

         

        glVertexAttribPointer(vertexHandle, 3, GL_FLOAT, GL_FALSE, 0,

                              (const GLvoid*) &teapotVertices[0]);

        glVertexAttribPointer(normalHandle, 3, GL_FLOAT, GL_FALSE, 0,

                              (const GLvoid*) &teapotNormals[0]);

        glVertexAttribPointer(textureCoordHandle, 2, GL_FLOAT, GL_FALSE, 0,

                              (const GLvoid*) &teapotTexCoords[0]);

        

        glEnableVertexAttribArray(vertexHandle);

        glEnableVertexAttribArray(normalHandle);

        glEnableVertexAttribArray(textureCoordHandle);

 

        glActiveTexture(GL_TEXTURE0);

        glBindTexture(GL_TEXTURE_2D, thisTexture->mTextureID);

        glUniform1i(texSampler2DHandle, 0 );

        glUniformMatrix4fv(mvpMatrixHandle, 1, GL_FALSE,

                           (GLfloat*)&modelViewProjection.data[0] );

        glDrawElements(GL_TRIANGLES, NUM_TEAPOT_OBJECT_INDEX, GL_UNSIGNED_SHORT,

                       (const GLvoid*) &teapotIndices[0]);

 

        glDisableVertexAttribArray(vertexHandle);

        glDisableVertexAttribArray(normalHandle);

        glDisableVertexAttribArray(textureCoordHandle);

 

        SampleUtils::checkGlError("ImageTargets renderFrame");

#endif

 

    }