Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





aderir un nodo en tiempo de ejecucion a la escena grafica en java3d

Iniciado por molare, 28 de Julio de 2010, 09:10:15 AM

« anterior - próximo »

molare

hola sres: bueno mi consulta que como dice el titulo como puedo aderir un nodo en tiempo de ejecucion a la escena grafica porque el programa que estoy haciendo en java3d me envia la excepcion add only a node to the branchgroup

aqui les dejo el codigo:

esta es la clase behavior

public class OpenBehavior extends Behavior{

private TransformGroup targetTG;
private WakeupCriterion pairPostCondition;
private WakeupCriterion AWTEventCondition;
private RotationInterpolator rotation;

OpenBehavior(TransformGroup targetTG, RotationInterpolator rotation){
this.targetTG = targetTG;
this.rotation = rotation;

AWTEventCondition = new WakeupOnAWTEvent(MouseEvent.MOUSE_PRESSED);
}

public void setBehaviorObjectPartner(Behavior behaviorObject){
pairPostCondition = new WakeupOnBehaviorPost(behaviorObject, 1);
}

public void initialize(){
this.wakeupOn(AWTEventCondition);
}

public void processStimulus(Enumeration criteria){
if (AWTEventCondition.hasTriggered()){
rotation.setEnable(true); // make door open – code excluded
targetTG.addChild(rotation);
this.wakeupOn(pairPostCondition);
postId(1);
} else {
this.wakeupOn(AWTEventCondition);
}
}
}

y esta es la parte de la clase createSceneGraph donde llamo al behavior

Transform3D eje1 = new Transform3D();
Alpha alpha1 = new Alpha( -1,10000 );
RotationInterpolator rotator1 = new RotationInterpolator( alpha1, posunMerkur, eje1, 0.0f, (float) Math.PI * 2.0f );
rama.detach();
OpenBehavior   openObject  = new OpenBehavior(posunMerkur,rotator1);
        CloseBehavior  closeObject = new CloseBehavior(posunMerkur,rotator1);
        openObject.setBehaviorObjectPartner(closeObject);
        closeObject.setBehaviorObjectPartner(openObject);
        openObject.setSchedulingBounds(bounds);
        closeObject.setSchedulingBounds(bounds);
posunG1.addChild(openObject);
posunG1.addChild(closeObject);

posunG1 y posunMerkur son los transformgroup

se agradece cualquiera indicacion.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.