cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - You can subscribe to a forum, label or individual post and receive email notifications when someone posts a new topic or reply. Learn more! X

What's invisible doesn't want to become visible

Ike@ACE
13-Aquamarine

What's invisible doesn't want to become visible

What's happenning:

I have it set up so that when the user goes through the experience they go through a couple of warnings and then come to a checklist of things that need to be true before they begin the maintenance task. (This is an experience designed to train someone in how to do a maintenance task.) There are two different parts to the experience so they'll have to restart the experience in order to do it all.

 

The problem is that when you restart the experience that checklist I mentioned earlier doesn't show up and the button that they have to push to acknowledge an item on the checklist doesn't show up either. Meaning that the user is stuck with no way to go forward.

 

This is what I have so far and the relevant functions:

$scope.app.OkWarning2=function(){
if($scope.view.wdg.Warning2.visible==true){
$scope.PlayAudio('warning');
$scope.hideAll();
$scope.view.wdg.Warning2.visible=false;
$scope.view.wdg["WarningAcknowledged"].visible=false;
$timeout(function(){
$scope.enableUI('CheckListPanel',false,false);
//*********************************************
//These are the widgets that are making trouble
$scope.view.wdg.CheckListPanel.visible=true;
$scope.view.wdg["CheckListImage"].visible=true;
$scope.view.wdg.PingerButton.visible=true;
//*********************************************
$scope.app.speech.synthesizeSpeech({'text': 'Check that the following safety conditions have been met.'});
}, 500);
}
}

$scope.app.checklist=function(){
if($scope.view.wdg.PingerButton.visible == true){
$scope.view.wdg.PingerButton.visible=false;
var Checkmark= "Checkmark"+$scope.i;
$scope.view.wdg[Checkmark].visible=true;
$scope.PlayAudio('check');
if($scope.i<3){
$scope.i=$scope.i+1;
//moves the pinger button around on the checklist - there are four items on the list
$scope.view.wdg.PingerButton.x=Pingerx[$scope.i];
$scope.view.wdg.PingerButton.y=Pingery[$scope.i];
$scope.view.wdg.PingerButton.z=Pingerz[$scope.i];
$scope.view.wdg.PingerButton.visible=true;
}
else{
$scope.begin();
}
}


//Governs what happens when the user finishes the checklist
$scope.begin=function(){
$timeout(function(){
$scope.disableUI('CheckListPanel',false,false);
$scope.view.wdg["CheckListImage"].visible=false;
for(var j = 0; j < 4; j++){
Checkmark= "Checkmark"+j;
$scope.view.wdg[Checkmark].visible=false;
}
}, 300);
$scope.setModelSequence($scope.currentSeqKey);
$scope.view.wdg['model-1'].visible=true;
}

If anyone can offer any advice or words of encouragement that would greatly appreciated. 

 

Thanks in advance.

4 REPLIES 4
sdidier
17-Peridot
(To:Ike@ACE)

Hello Ike@ACE,

 

I have some questions :

  • How do you "restart" the Experience ?
  • Do you a simple Project where the issue is reproducible ?

Best regards,

Samuel

Ike@ACE
13-Aquamarine
(To:sdidier)

So here's the restart function:

$scope.Restart=function(){
$scope.hideAll();
$scope.view.wdg['InstructionPage1'].visible = true;
$scope.view.wdg['InstructionPage2'].visible = true;
$scope.view.wdg['InstructionPage3'].visible = true;
$scope.i=0;
$scope.view.wdg.PingerButton.x=Pingerx[$scope.i];
$scope.view.wdg.PingerButton.y=Pingery[$scope.i];
$scope.view.wdg.PingerButton.z=Pingerz[$scope.i];
$scope.$applyAsync(()=>{angular.element(document.getElementById('model-1')).scope().reset();});
$scope.$applyAsync(()=>{angular.element(document.getElementById('CheckListPanel')).scope().reset();});
$scope.$applyAsync(()=>{angular.element(document.getElementById('CheckListImage')).scope().reset();});
}

I'm not really sure if the resets of the CheckList items are doing anything, though.

 

Also, I don't know where the issue is, so I wouldn't know how to make something easily reproducible. However, I do feel like this kind of thing has happened to our team before. But, I'm not sure how fixed it, if we even did. One of the running jokes on our team is that if something on PTC products doesn't work, then start over. We even have a tally going. Unfortunately, I don't have a previous version of the experience, because it is the only one of its kind, currently.

sdidier
17-Peridot
(To:Ike@ACE)

Hello,

 

I am sorry but it is not very clear from my point of view:

  • What is the Widgets used for your checklist  ?

              checklist  is not a default Widget provided in Vuforia Studio.

  • Is it a Widget created by an Extension or with some native Widget in Vuforia Studio ?

 

Without the Project, it is not possible to help to debug or to understand the root causes.

 

Only recommendation I can give, it is to add many console.log as possible in each Javascript functions.

It is a good start to track what are the functions ran.

Check also in Developper Tool, in Console tab if some verbose has been reported.

 

Best regards,

Samuel

Ike@ACE
13-Aquamarine
(To:sdidier)

Thanks for trying anyway

Top Tags