Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Menu

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menu

Mensajes - molare

#1
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.