Function:xs2lpc

From S2PLOT

Revision as of 05:26, 22 November 2007; view current revision
←Older revision | Newer revision→
Jump to: navigation, search

xs2lpc

Link panel cameras together

Prototype

void xs2tp(int masterid, int slaveid);

Description

Link camera of panel with id "slaveid" to the camera of panel with id "masterid". This *cannot* be undone!

See Also

xs2apAdd a new panel
xs2cpSelect a panel for subsequent geometry calls
xs2mpModify location of existing panel
xs2tpToggle visibility of panel
xs2lpcLink panel cameras together

Code Example

#include <stdio.h>
#include <stdlib.h>
#include "s2plot.h"

/* Global variales used in callback */
int master_panel = 0;                   /* Default ID of main panel */
int slave_panel;                        /* ID of newly created panel */

void cb(double *t, int *kc)
{
   static int lkc = 0;                  /* Keep count of keypress state */
   if (*kc == 1) {
      xs2lpc(master_panel, slave_panel);        /* Link panels together */
   } else if ((*kc > 1) && (*kc != lkc)) {
      xs2tp(slave_panel);               /* Toggle panel visiblity */
   }

   lkc = *kc;                           /* Update count of keypress state */
}


int main(int argc, char *argv[])
{
   s2opend("/s2mono", argc, argv);              /* Open in mono mode */
   s2swin(-1.,1., -1.,1., -1.,1.);              /* Set the window coordinates */
   s2box("BCDET",0,0,"BCDET",0,0,"BCDET",0,0);  /* Draw coordinate box */

   xs2mp(master_panel, 0.0, 0.5, 0.5, 1.0);     /* Move to top left */

   slave_panel = xs2ap(0.5, 0.0, 1.0, 0.5);     /* Create panel in bottom right */
   xs2cp(slave_panel);                          /* Choose this panel */
   s2swin(-2.,2., -2.,2., -2.,2.);              /* Set the window coordinates */
   s2box("BCDE",0,0,"BCDE",0,0,"BCDE",0,0);     /* Draw coordinate box */

   xs2cp(master_panel);                         /* Go back to main panel */
   cs2scb(cb);                                  /* Install dynamic callback */

   fprintf(stderr,"Press <tab> to switch between panels\n");
   fprintf(stderr,"Press <spacebar> to link cameras together - cannot be undone\n");
   fprintf(stderr,"Futher presses of <spacebar> toggle panel visiblity\n");

   s2show(1);                                   /* Open the s2plot window */

   return 1;
}

Back to S2PLOT function list.


Personal tools