Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




MaxKit© ATL Manuel développeur - Edition 3.0

Franceza


MaxKit© ATL



Manuel développeur - Edition 3.0

Auteur : Olivier BOITEAU.

Informatique & Mer - Copyright 2001

Sommaire

I - Architecture générale de MaxKit©.

II - Description des objets ATL de MaxKit ©.

A ) Principe de fonctionnement.

B ) Rôle de chaque objet ATL

C ) Description exhaustive des objets.

III - Implémentation des modules de classe dans l'application pilote.

I - Architecture générale de MaxKit©.

Serveur Cartographique 333n1323d

 

II - Description des objets ATL de MaxKit ©.


A ) Principe de fonctionnement.

MaxKit© met au service du développeur une API permettant un pilotage complet des fonctionnalités du produit. La plupart des actions utilisateur sont ainsi automatisables depuis une application pilote externe.

L'utilisation des objets ATL préconisés par Microsoft© (Active Template Library) permet une grande souplesse et une réelle rapidité de développement. Une fois le produit installé sur votre PC, les objets ATL sont enregistrés dans la base de registres et par conséquent utilisables depuis n'importe quelle application gérant la technologie COM©.

B ) Rôle de chaque objet ATL.

Les objets ATL ont été crées selon différents domaines d'application. Ils sont au nombre de 8. En voici une première présentation :

L'objet « Application » : Il permet de gérer le serveur cartographique 333n1323d comme une application du système Windows©.On peut notamment lancer et fermer le serveur, mais aussi paramétrer les différentes propriétés liées à l'état de sa fenêtre mère (Visible, Minimise, Maximise, Avant-plan, Taille, Emplacement, Rangement des palettes).

L'objet « Register » : L'application pilote vient s 'enregistrer auprès du serveur cartographique 333n1323d . Cela lui permet de se faire appeler par ce serveur lors d' évènements de type utilisateur ou autres.

L'objet « Properties » : Il permet de paramétrer les préférences du serveur cartographique 333n1323d .

L'objet « Context » : Il permet de définir les variables d'environnement du serveur cartographique 333n1323d .

L'objet « Carto » : Il permet d'agir sur la partie affichage cartographique 333n1323d du serveur. On peut ainsi faire varier le centre, l'échelle, et le rectangle d'affichage de la carte contenue dans la fenêtre courante.

L'objet « Vecto » : Il permet d'agir sur la partie affichage vectoriel du serveur. Son rôle principal est de piloter le dessin des différents objets vectoriels (points, lignes, polygones, cercles, et textes) selon une position géographique 333n1323d et des attributs graphique 333n1323d s. On pourra par la suite demander la sélection sur carte d'un ou plusieurs de ces objets ou bien leur effacement. Il est également possible de fournir un commentaire pour chaque couple (X, Y) qui sera affiché sous forme de « bulle infos » sur la carte. Enfin, on peut décider de l'outil de dessin courant et du type de l'objet vectoriel. Ce qui facilite les opérations de saisies de la part de l'utilisateur.

L'objet « Layer » : Il permet de gérer les différentes couches vectorielles du serveur. Cela revient en fait à superposer des calques vectoriels par dessus la cartographie. Cet objet peut donc créer, ouvrir ou fermer un calque, mais également demander si un calque est présent ou non. Il peut les rendre visibles ou invisibles (objets masqués), et désigner le calque actif (prêt à recevoir les prochains objets vectoriels).

L'objet « EventsControl » : Il est spécifique aux applications pilotes Win32 qui ne peuvent pas être rappeler par des methodes COM (ex : exécutable généré par Windev). C'est alors à l'application elle-même de venir « spooler » l'évènement suivant et de récupérer les attributs correspondants.

C ) Description exhaustive des objets.

Objet « Application »

Propriétés

Valeur : True,  False.

Visible : Rend visible ou non le serveur.

Front : Place en avant ou arrière plan le serveur.

Minimize : Minimise ou non le serveur.

Maximize : Maximise ou non le serveur.

Méthodes

Retour : True,  False.

Quit(); Ferme le serveur.

ArrangePalettes(); Range les palettes dans la fenêtre.

GetPosWindow( Récupère la position de la fenêtre.

short *px,

short *py,

short *pnWidth,

short *pnHeight);

SetPosWindow(  Nouvelle position de la fenêtre.

short x,

short y,

short nWidth,

short nHeight);

Objet « Register » (inutile pour les applications Win32)

Propriétés

Valeur : NomApplication.NomObjet pour les applications ActiveX

NomApplication pour les applications Microsoft.

AppClsID : Active les notifications pour l'objet COM AppCls.

ObjClsID : Active les notifications pour l'objet COM ObjCls.

Objet « Properties »

Propriétés

Valeurs : Entier

DistanceUnit :  Choix de l'unité de distance.

(0 = Miles Nautiques, 1 = Mètres, 2 = Km/seconde, 3 = Miles US)

SpeedUnit :  Choix de l'unité de vitesse.

(0 = Noeud, 1 = Mètres/seconde, 2 = Km/heure, 3 = Miles/heure)

DepthUnit :  Choix de l'unité de profondeur.

(0 = Mètres, 1 = Pieds, 2 = Brasses)

VolumeUnit :  Choix de l'unité de volume.

(0 = Litre, 1 = Gallon, 2 = Gallon Canadien)

TemperatureUnit : Choix de l'unité de température.

(0 = Celcius, 1 = Fahrenheit)

Objet « Context »

Propriétés

Valeurs : Entier

GetCoordSys( Système de coordonnées géométriques courant.

BSTR *group,

BSTR *system,

BSTR *datum,

BSTR *unit)

NewCoordSys( Choix du système de coordonnées géométriques.

BSTR group,

BSTR system,

BSTR datum,

BSTR unit)

Group
System
Datum
Unit

MONDE

Latitude-Longitude

LAT-LONG

LAT-LONG

WGS84

METERS

FRANCE (Lambert)

Lambert Zone I

Lambert Zone II

Lambert Zone III

Lambert Zone IV

Lambert II Etendu

Lambert 93

FRANCE

FRANCE

FRANCE

FRANCE

FRANCE

FRANCE

LAMBERT I NORD

LAMBERT II CENTRE

LAMBERT III SUD

LAMBERT IV CORSE

LAMBERT II CARTO

LAMBERT 93

NTF-PARIS-BURSA

NTF-PARIS-BURSA

NTF-PARIS-BURSA

NTF-PARIS-BURSA

NTF-PARIS-BURSA

RGF93

METERS

METERS

METERS

METERS

METERS

METERS

DOM-TOM (UTM et Gauss)

Guadeloupe

Martinique

Guyane

Réunion

Réunion Gauss (de WGS84)

Réunion Gauss (vers WGS84)

UTM

UTM

UTM

UTM

FRANCE

FRANCE

UTM-20N

UTM-20N

UTM-22N

UTM-40S

GAUSS LABORDE REUNION

GAUSS LABORDE REUNION

GUADELOUPE

MARTINIQUE

GUYANE

RGR92

REUNION-BURSA

REUNION-BURSA-INV

METERS

METERS

METERS

METERS

METERS

METERS

SUISSE (Mercator)

Suisse

SUISSE

MN03

CH1903

METERS

Objet « Carto »

Propriétés

Valeurs : Entier (échelle), Double (coordonnées)

ChartScale : Choix de l'échelle de la carte.

0 = Scale500, 1 = Scale1000, 2 = Scale2500, 3 = Scale5000, 4 = Scale10000,

5 = Scale25000, 6 = Scale50000, 7 = Scale100000, 8 = Scale250000, 9 = Scale500000,

10 = Scale1M, 11 = Scale2M5, 12 = Scale5M, 13 = Scale10M, 14 = Scale25M,

15 = Scale50M, 16 = Scale100M, 17 = Scale250M )

ChartCenterX :Coordonnée X (selon la valeur Context.GeoCoordSys) de la carte au centre de la fenêtre courante.

ChartCenterY :Coordonnée Y (selon la valeur Context.GeoCoordSys) de la carte au centre de la fenêtre courante.

Maximize : Maximise ou non la fenêtre courante.

Méthodes

Retour : True,  False.

CenterChartWindow(  Centrer la carte.

double x, Identique à ChartCenterX.

double y, Identique à ChartCenterY.

short scale  -1 pour ne pas changer d'échelle.

BOOL adjust);  Recherche d'une carte sur zoom arrière.

FitChartWindow(  Cadrer la carte sur la fenêtre active.

double xmin,   Coin haut-gauche du cadre.

double ymax,

double xmax, Coin bas-droit du cadre.

double ymin,

BOOL adjust);  Recherche d'une carte sur zoom arrière.

ArrangePalettes();  Range les palettes dans la fenêtre active.

GetPosWindow(  Récupère la position de la fenêtre active.

short *px,

short *py,

short *pnWidth,

short *pnHeight);

SetPosWindow(  Nouvelle position de la fenêtre active.

short x,

short y,

short nWidth,

short nHeight);

Objet « Vecto »

Propriétés

Valeurs : Entier

Icon:  Numéro unique de l'icône courant dans la base de données des icônes.

Icône vide, >=100 : Icône utilisateur )

FillStyle: Style de remplissage courant.

( 0 = Vide, 1 = Plein, 2 = Point, 3 = Ligne Verticale, 4 = Ligne Horizontale,

5 = Ligne Diagonale, 6 = Grille )

LineStyle: Style de ligne courant.

(0 = Normal, 1 = Pointillé en épaisseur simple)

LineThickness: Epaisseur de ligne courant.

(Epaisseur 1 à 4 pixels : uniquement sur style de ligne normal)

RedColor:  Composante rouge de la couleur courante.

GreenColor: Composante verte de la couleur courante.

BlueColor: Composante bleu de la couleur courante.

ObjectType: Type de l'objet vectoriel courant.

(0 = Point, 1 = Ligne, 2 = Polygone, 3 = Cercle, 4 = Texte)

CurrentTool: Outil vectoriel courant.

(0 = Sélection, 1 = Dessin, 2 = PacMan, 3 = Ciseaux, 4 = Modification, 5 = Déplacement)

Edition 3.0

TextFont: Police de la fonte courante pour les objets texte.

(1 = Chicago, 2 = Geneva, 3 = NewYork, 4 = Monaco, 5 = Venise, 6 = London, 7 = Athens)

TextSize: Taille de la fonte courante pour les objets texte.

TextJustification: Justification pour les objets texte.

(0 = à Gauche, 1 = au Centre, 2 = à Droite)

TextHighlight: Active le mode sur-brillance pour les objets texte.

(Vrai / Faux)

Méthodes

Retour : True,  False.

AddPoint (  Dessine un point dans le layer courant.

double x, x , y Exprimé selon « Context.GeoCoordSys ».

double y,

BSTR label); Nom du point (maximum 8 caractères).

AddPolyline ( Dessine le point suivant d'une polyligne.

double x,

double y,

BSTR label,

BOOL end); Vrai pour le dernier point de la polyligne.

AddPolygone ( Dessine le point suivant d'un polygone.

double x,

double y,

BSTR label,

BOOL end); Vrai pour le dernier point du polygone.

AddCircle ( Dessine un cercle dans le layer courant.

double x,

double y,

long radius, Rayon du cercle.

BSTR label);

AddTexte ( Place du texte dans le layer courant.

double x,

double y,

BSTR text);

SetPointComment ( Place le commentaire du point (bulle info).

double x,

double y,

BSTR comment); Toutes les lignes doivent se terminer par ' \r'

GetPointComment ( Récupère le commentaire du point.

double x,

double y,

BSTR *comment); 

SelectObject ( Sélectionne un objet en entier.

double x, x, y désigne un des points de l'objet.

double y);

Refresh ();  Rafraîchit la couche vectorielle à l'écran.

A faire après chaque séquence de dessin.

ClearAll (); Efface tous les objets de tous les calques visible.

Edition 3.0

Add3DPoint ( 

double x,

double y,

double z,  Valeur de Profondeur/Altitude.

BSTR label,

BSTR comment);  Commentaire (256 caractères maximum).

Add3DPolyline (

double x,

double y,

double z,

BSTR label,

BSTR comment,

BOOL end);

Add3DPolygone (

double x,

double y,

double z,

BSTR label,

BSTR comment,

BOOL end);

Add3DCircle (

double x,

double y,

double z,

long radius,

BSTR label,

BSTR comment);

Add3DTexte (

double x,

double y,

double z,

BSTR text,

BSTR comment);

Objet « Layer »

Méthodes

Retour : True,  False.

New(BSTR LayerName) Ouvre un nouveau calque ou l'active s'il est déjà ouvert.

IsOpen(  Vérifie si un calque est ouvert.

BSTR LayerName,

BOOL* pRet);

Close(BSTR LayerName);  Ferme un calque.

SetActive(BSTR LayerName); Active un calque.

SetVisible(  Rend visible / invisible un calque.

BSTR LayerName,

BOOL Visible);

Objet « EventsControl »

Propriétés

Valeurs : Entier

Event :  Evènement courant généré par le serveur.

Aucun évènement, 1 = Sélection d'un objet 2 = Demande d'infos sur un objet,

3 = Ajout d'un objet , 4 = Fin d'ajout pour objets à plusieurs points,

5 = Modification d'un objet , 6 = Destruction d'un objet, 7 = Déplacement d'un objet

XPos : Position X (exprimé selon « Context.GeoCoordSys »)

YPos : Position Y (exprimé selon « Context.GeoCoordSys »)

newXPos :  Nouvelle position X (modifications et déplacements d'objets).

newYPos :  Nouvelle position Y (modifications et déplacements d'objets).

ObjectType : Type de l'objet concerné.

(0 = Point, 1 = Ligne, 2 = Polygone, 3 = Cercle, 4 = Texte)

ObjectLayer : Nom de la couche vectorielle de l'objet concerné.

ObjectText : Libellé pour les objets de type « Texte ».

ObjectRadius : Rayon pour les objets de type « Cercle ».

GlobalObject : Objet concerné dans sa globalité. (Vrai / Faux

III - Implémentation des modules de classe dans l'application pilote.

Remarques :

Ces modules de classes sont à déclarés par les applications pilotes qui vont pouvoir être compilées en exécutable « ActiveX ». Ces modules seront vus par le serveur cartographique 333n1323d comme des objet ATL qu'il pourra déclarer et utiliser à sa guise.

Pour les applications Microsoft (Excel, Access), toutes les méthodes ou propriétés décrites ci-dessous ne sont plus à regrouper dans des modules, mais peuvent être écrites dans le code lié à une forme ou à un formulaire (VBScript).

Pour les autres applications Win32, ces modules et fonctions sont inutilisables. Elles doivent récupérer les évènements générés par le serveur cartographique 333n1323d par l'intermédiaire de l'objet ATL « EventsControl ». Nous ne sommes plus ici dans des mécanismes de « CallBack » (2 premières remarques), mais dans un mécanisme de « Spooling ».

Module « AppClasse»

Méthode

Quit (); On vient de quitter le serveur cartographique 333n1323d

Remarque : Ce message est sensé ne plus parvenir à l'application pilote puisque qu'à partir de la version 7.7 du serveur cartographique 333n1323d , on interdit à l'utilisateur de faire « quitter » si ce serveur a été lancé en mode pilotage.

Module « ObjClasse»

Méthodes

Selection( On vient de sélectionner un objet

double X,  X,Y exprimé selon « Context.GeoCoordSys »

double Y,

short Type,  0:Pt, 1:Ligne Polygone, 3:Cercle, 4:Texte.

BSTR Layer); Nom de la couche qui contient l'objet.

View ( On vient de demander des infos sur un objet.

double X,

double Y,

short Type,

BSTR Layer);

Add ( On vient de dessiner un objet

double X,

double Y,

short Type,

BSTR Layer,

long Radius, Rayon pour les objets « cercle »

BSTR Text);  Libellé pour les objets « texte ».

AddEnd( Fin du dessin d'un objet (lignes et polygones)

double X,

double Y,

short Type,

BSTR Layer);

Modif ( On vient de modifier un objet

double X,

double Y,

short Type,

BSTR Layer,

double newX, newX, newY: Nouvelles coordonnées du Point.

double newY);  (exprimé selon « Context.GeoCoordSys »

Remove(  On vient de supprimer un objet.

double X,

double Y,

short Type,

BSTR Layer,

BOOL All); Concerne la globalité de l'objet.(vrai/faux)

Move ( On vient de déplacer un objet

double X,

double Y,

short Type,

BSTR Layer,

double newX,

double newY,

BOOL All);


Document Info


Accesari: 1245
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )