IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

LineArray: illegal vertexCount


Sujet :

avec Java

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2009
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 173
    Points : 55
    Points
    55
    Par défaut LineArray: illegal vertexCount
    bonjour, j'ai un problème d'exception lors de la compilation de mon code java,
    Exception in thread "main" java.lang.IllegalArgumentException: LineArray: illegal vertexCount

    at javax.media.j3d.LineArray.<init>(LineArray.java:70)
    il m'indque que 70 is not a line number in javax.media.j3d.LineArray

    j'ai rien comprit et il m'indique que source is not found,
    merci bcp pour l'aide je me bloque et je ne sais pas quoi faire.
    j'attends vos aide et vos conseils

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 086
    Points : 7 997
    Points
    7 997
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    at javax.media.j3d.LineArray.<init>(LineArray.java:70)
    Ca dit, Erreur ligne 70 de LineArray.java (donc dans la lib), car tu as probablement donné une chose qu'il n'apprécie guère en paramètre (ou ton fichier du model ?)

    c'est probablement ton IDE qui essaye simplement de t'afficher la source de la ligne de l'erreur mais il ne la trouve pas. (tu px éventuellement lui donner un le chemin vers le fichier si tu as la source, mais ca ne résoudra pas ton problème pour autant).

    Il faudrait que tu montres ton code qui, au final, appelle LineArray...

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2009
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 173
    Points : 55
    Points
    55
    Par défaut
    Citation Envoyé par wax78 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    at javax.media.j3d.LineArray.<init>(LineArray.java:70)
    Ca dit, Erreur ligne 70 de LineArray.java (donc dans la lib), car tu as probablement donné une chose qu'il n'apprécie guère en paramètre (ou ton fichier du model ?)


    Il faudrait que tu montres ton code qui, au final, appelle LineArray...
    mon code n'appelle pas LineArray, mais il appelle une autre classe, elle qui appelle LineArray, j'ai dit peut être qu'il y a un problème de paramétrage de LineArray Vertexcount

  4. #4
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 086
    Points : 7 997
    Points
    7 997
    Par défaut
    Citation Envoyé par oumay Voir le message
    mon code n'appelle pas LineArray, mais il appelle une autre classe, elle qui appelle LineArray, j'ai dit peut être qu'il y a un problème de paramétrage de LineArray Vertexcount
    Sans blagues! j'avais bien compris tracasse

    Oui tu as de fortes chances d'avoir passé un truc qui ne lui convient pas... Mais tu n'as toujours pas donné ton code qui fait cet appel.

  5. #5
    Membre du Club
    Inscrit en
    Octobre 2009
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 173
    Points : 55
    Points
    55
    Par défaut
    Mais tu n'as toujours pas donné ton code qui fait cet appel.[/QUOTE]

    j'ai pas bien comprit

  6. #6
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 086
    Points : 7 997
    Points
    7 997
    Par défaut
    Bah rien je demandais juste ton code qui provoque l'erreur. Personne ne saura t'aider sinon a moins d'avoir été déjà confronté au ce cas précis.

  7. #7
    Membre du Club
    Inscrit en
    Octobre 2009
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 173
    Points : 55
    Points
    55
    Par défaut
    d'accords
    mon code source qui provoque l'erreur est comme suit :
    public class Robot1 extends Agent {
    double xb,zb,yb;
    private final static double decal=0.2;
    Vector3d objectif = new Vector3d (xb,zb,yb);
    RangeSensorBelt sonars;
    int nbsensors;
    float rangmax, rangmin;
    public double distancemin0[]=new double [6];
    public double distancemin1[]=new double[6];
    private static double TO=0.0;
    public Robot1(Vector3d pos, String name) {
    super(pos, name);
    // TODO Auto-generated constructor stub

    sonars = RobotFactory.addSonarBeltSensor(this,nbsensors);
    // physical parameters default
    height = 0.8f;
    radius = 0.5f;
    //staticFrictionCoefficient = 0;
    mass = 50;
    }
    c'est le constructeur de mon robot, lors d'ajout de capteur j'appelle la méthode addSonarBeltSensor qui contient le constructeur RangeSensorBelt de la classe qui appelle LineArray.
    le code est comme suit :

    public RangeSensorBelt(float radius,float minRange, float maxRange, int nbsensors, int type,int flags) {
    // compute angles ,positions , directions
    positions = new Vector3d[nbsensors];
    directions = new Vector3d[nbsensors];
    Vector3d frontPos = new Vector3d(radius, 0, 0);
    Vector3d frontDir = new Vector3d(maxRange, 0, 0);
    angles = new double[nbsensors];

    Transform3D transform = new Transform3D();
    for (int i = 0; i < nbsensors; i++) {
    if (i<nbsensors/2)
    angles[i] =2*i* Math.PI / (double) nbsensors;// j'ai modifiée ce ligne (il a été multip
    transform.setIdentity();
    transform.rotY(angles[i]);
    Vector3d pos = new Vector3d(frontPos);
    transform.transform(pos);
    positions[i] = pos;
    Vector3d dir = new Vector3d(frontDir);
    transform.transform(dir);
    directions[i] = dir;
    }
    initialize(radius, maxRange, nbsensors, type,flags);
    }

    private void initialize(float radius, float maxRange,int nbsensors,int type,int flags){
    this.flags = flags;
    this.nbSensors = nbsensors;
    this.maxRange = maxRange;
    this.radius = radius;
    this.type = type;
    // reserve to avoid gc.
    t3d = new Transform3D();
    //t3d_2 = new Transform3D();
    pickSegment = new PickSegment();
    pickCylinder= new PickCylinderRay();
    cylinderDirection = new Vector3d(0.0,0.5,0.0);
    cylinderRadius = maxRange+radius;
    cylinderStart = new Point3d(0f,0f,0.f);
    start = new Point3d();
    end = new Point3d();

    if (type == TYPE_BUMPER)
    color = new Color3f(1.0f, 0f, 0f);
    else
    color = new Color3f(1.0f, 0.5f, 0.25f);

    measurements = new double[nbsensors];
    hits = new boolean[nbsensors];
    for (int i=0;i< nbsensors;i++){
    measurements[i]= Double.POSITIVE_INFINITY;
    hits[i] = false;
    }
    oneHasHit =false;
    create3D();

    }
    private void create3D() {
    super.create3D(true);
    // construct sensor body - a line for each individual sensor ray.
    Point3d[] coords = new Point3d[nbSensors*2];
    for (int i=0;i< nbSensors;i++){
    Point3d start = new Point3d(positions[i]);
    coords[i*2]=start;
    Point3d end = new Point3d(start);
    Point3d direction = new Point3d(directions[i]);
    if (((flags & FLAG_SHOW_FULL_SENSOR_RAY) ==0) && (type != TYPE_BUMPER))
    direction.scale(0.05f); // just a small ray
    end.add(direction);
    coords[i*2+1]=end;

    }
    LineArray line = new LineArray(coords.length,GeometryArray.COORDINATES );
    line.setCoordinates( 0, coords );

    lors de l'exécution de mon code les erreurs sont mentionnés en rouge souligné



    merci d'avance

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    333
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 333
    Points : 295
    Points
    295
    Par défaut
    c'est normal que tu n'initialises pas ???

    sinon utilise la balise CODE stp (le #)

Discussions similaires

  1. illegal digit '9' for base '8'???????
    Par d-a-v-e dans le forum C++
    Réponses: 2
    Dernier message: 20/02/2006, 15h52
  2. Réponses: 4
    Dernier message: 17/01/2006, 18h56
  3. [c++] Your client has issued a malformed or illegal request.
    Par Guillaume602 dans le forum Windows
    Réponses: 2
    Dernier message: 09/01/2006, 18h42
  4. Aide sur Warning: Illegal offset type in ...
    Par pounie dans le forum Langage
    Réponses: 5
    Dernier message: 03/01/2006, 13h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo