logo

     À propos

     Nouvelles

     Télécharger

     Utilisation

     FAQ

     Rétroaction

     English


Extensions


Outre les possibilités offertes par les normes VRML/ X3D, Démotride supporte plusieurs extensions pour mieux contrôler l'affichage et l'interaction avec la scène. Ces extensions sont:

  • Arguments de ligne de commande: support d'arguments de ligne de commande pour spécifier la taille de l'affichage.
    • demotride <nom_du_fichier> -f

      Lance Démotride en mode plein écran.

    • demotride <nom_du_fichier> -w dimX dimY posX posY

      Lance Démotride dans une fenêtre de dimension (dimX, dimY) dont le coin supérieur gauche est situé en (posX, posY).

Les autres extensions concernent les noeuds VRML et sont:

  • Sphere: ajout de deux champs pour choisir le type de sphère et spécifier le nombres de faces.
    • field SFInt32 minFaceCnt 72 #[8..10^6]

      Spécifie le nombre minimum garanti de faces sur la sphère créée.

    • field (custom) sphereType ISOCAHEDRON #[GLOBE, ISOCAHEDRON]

      Spécifie le type de géométrie employé pour créer la sphère. ISOCAHEDRON a un apparence plus régulière et possède une résolution plus uniforme quant à l'aspect de ses sommets et polygones constituants. Le type GLOBE est plus approprié pour la texture et requiert environ 8 fois moins de mémoire (au détriment d'un rendu plus lent).

  • Cone: ajout d'un champ pour spécifier le nombre de faces sur le côté du cône.
    • field SFInt32 sideCnt 16 #[4..400]

      Spécifie le nombre de triangles à utiliser pour créer le côté du cône. Ceux-ci sont les triangles avec 2 sommets à la base du cône et un à l'apex du cône.

  • Cylinder: ajout d'un champ pour spécifier le nombre de faces sur le côté du cylindre.
    • field SFInt32 sideCnt 16 #[4..400]

      Similaire à l'extension du cône excepté qu'il utilise des rectangles au lieu des triangles.

  • PointSet: ajout d'un champ pour spécifier la taille des points.
    • field SFFloat pointSize 2.0 #[min..max]

      L'étendue des valeurs valides dépend du système graphique utilisé mais est typiquement de [0.5..10.0].

  • IndexedLineSet: ajout de champs pour spécifier la largeur et l'apparence de la ligne (ex.: pointillée, continue, etc.).
    • field SFFloat lineWidth 1.0 [min..max]

      L'étendue des valeurs valides dépend du système graphique utilisé mais est typiquement de [0.5..10.0].

    • field SFInt32 lineStipplePattern 0xFFFF [0..0xFFFF]

      Spécifie un patron de 16-bit pour dessiner la ligne (chaque bit égal à 1 = 1 pixel de ligne dessiné).

    • field SFInt32 lineStippleFactor 1 [1..255]

      Spécifie un facteur d'échelle pour le patron.

  • NavigationInfo
    • Ajout d'une option pour spécifier le point de rotation de la scène lorsqu'on utilise le type de navigation EXAMINE.

      Par défaut, le centre de rotation est le centre de la boîte englobante du monde. Pour spécifier un centre de rotation différent, ajouter un triplet (x,y,z) au champ avatarSize.

    • Ajout des types de navigation appellés «GAZE» et «GAZEPLUS».

    • Ajout d'un champ permettant de contrôler la vitesse de rotation du point de vue pour la navigation qui n'est pas de type EXAMINE.

      exposedfield SFFloat rotationSpeed 1.0 ]0..∞[

    • Ajout d'un champ contrôlant la visibilité initiale du curseur lors du lancement de l'application.

      exposedfield SFBool showCursor TRUE

    • Ajout d'un champ qui spécifie si la touche 'c' contrôlant la visibilité du curseur est active ou non.

      exposedfield SFBool toggleCursor TRUE

  • KeySensor: nouveau noeud permettant de programmer l'interaction par clavier

      exposedfield      SFBool   enabled                TRUE     
      exposedfield      SFBool   eventsProcessed   FALSE  
      eventout            SFInt32   keyPress           
      eventout            SFInt32   keyRelease        

      Lorsque le champ eventsProcessed est égal à TRUE, l'interface clavier habituelle est désactivée (à l'exception de la touche d'échappement). Toutes les touches du clavier peuvent ainsi être programmées.Autrement, les touches habituelles de l'interface clavier sont traitées, en plus des touches programmées.

  • Anchor: ajouts permettant le lancement simultané de plusieurs hyperliens.
    • eventIn SFTime activate_url

      La réception d'un événement de type SFTime lancera l'hyperlien défini par le noeud Anchor.

    • exposedfield SFBool newWindow FALSE

      Lorsque assigné la valeur TRUE, le noeud Anchor ouvrira le lien à la scène .wrl dans une nouvelle fenêtre de Démotride sans écraser la scène actuelle.

    • exposedfield MFInt32 size 600 600

      Spécifie la taille x,y de la nouvelle fenêtre de Démotride qui servira à ouvrir le fichier *.wrl. Actif seulement lorsque newWindow est égal à TRUE.

    • exposedfield MFInt32 position 0 0

      Spécifie la position x,y du coin supérieur gauche de la nouvelle fenêtre de Démotride qui servira à ouvrir le fichier *.wrl. Actif seulement lorsque newWindow est TRUE.