//! Construct from the parent Archive instance
Pulsar::Integration::Meta::Meta (const Archive* parent)
{
  set_telescope( parent->get_telescope() );
  set_coordinates( parent->get_coordinates() );

  set_centre_frequency( parent->get_centre_frequency() );
  set_bandwidth( parent->get_bandwidth() );
  set_dispersion_measure( parent->get_dispersion_measure() );
  set_dedispersed( parent->get_dedispersed() );

  set_rotation_measure( parent->get_rotation_measure() );
  set_faraday_corrected( parent->get_faraday_corrected() );

  const AuxColdPlasma* aux = parent->get<AuxColdPlasma> ();
  if (aux)
  {
    set_auxiliary_dispersion_corrected (aux->get_dispersion_corrected());
    set_auxiliary_birefringence_corrected (aux->get_birefringence_corrected());
  }
  else
  {
    set_auxiliary_dispersion_corrected (false);
    set_auxiliary_birefringence_corrected (false);
  }

  set_state( parent->get_state() );
  set_basis( parent->get_basis() );
}
示例#2
0
Node3D::Node3D(int index, int symbol, QColor color, int size)
{
    set_index(index);
    set_coordinates(_random(), _random(), _random());
    set_size(1);
    set_marked(false);
    set_selected(false);
    set_label("");
}
示例#3
0
std::size_t grid::load(FILE* fp) {
	std::size_t cnt = 0;
	auto foo = std::fread;
	{
		static hpx::mutex mtx;
		std::lock_guard < hpx::mutex > lock(mtx);
		cnt += foo(&scaling_factor, sizeof(real), 1, fp) * sizeof(real);
		cnt += foo(&max_level, sizeof(integer), 1, fp) * sizeof(integer);
		cnt += foo(&Acons, sizeof(real), 1, fp) * sizeof(real);
		cnt += foo(&Bcons, sizeof(integer), 1, fp) * sizeof(integer);
	}
	cnt += foo(&is_leaf, sizeof(bool), 1, fp) * sizeof(bool);
	cnt += foo(&is_root, sizeof(bool), 1, fp) * sizeof(bool);

	allocate();

	for (integer f = 0; f != NF; ++f) {
		for (integer i = H_BW; i < H_NX - H_BW; ++i) {
			for (integer j = H_BW; j < H_NX - H_BW; ++j) {
				const integer iii = hindex(i, j, H_BW);
				cnt += foo(&(U[f][iii]), sizeof(real), INX, fp) * sizeof(real);
			}
		}
	}
	for (integer i = 0; i < G_NX; ++i) {
		for (integer j = 0; j < G_NX; ++j) {
			for (integer k = 0; k < G_NX; ++k) {
				const integer iii = gindex(i, j, k);
				cnt += foo(&(G[iii][0]), sizeof(real), NGF, fp) * sizeof(real);
			}
		}
	}
	cnt += foo(U_out.data(), sizeof(real), U_out.size(), fp) * sizeof(real);
	set_coordinates();
	return cnt;
}
BS_Camera::BS_Camera(float _coordinate_x, float _coordinate_y, float _coordinate_z)
{
    set_coordinates(_coordinate_x, _coordinate_y, _coordinate_z);
}
BS_Camera::BS_Camera()
{
    set_coordinates(0, 0, 0);
}
void BS_Camera::move_camera(float _coordinate_x, float _coordinate_y, float _coordinate_z)
{
    set_coordinates(_coordinate_x, _coordinate_y, _coordinate_z);
}
示例#7
0
void Node3D::set_z(double z)
{
    set_coordinates(m_z, z);
}
示例#8
0
void Node3D::set_y(double y)
{
    set_coordinates(m_y, y);
}
示例#9
0
void Node3D::set_x(double x)
{
    set_coordinates(x, m_y);
}
示例#10
0
int main()
{
  
	char keypress = start;
	int i,j;
	char str[15];
	int champion = 0;

	set_graphics(VGA_320X200X256);
  	set_coordinates(X_coord, Y_coord); //initialize bulb coordinates

	do{
		erase(1,1,400,220);

	  	header(8,5); //print menu

		level=1; //initialize level
		champion = 0; //falsify championhood
		
		keypress=(char)getch();
		erase(1,1,400,220); //erase menu

		if(keypress==start){
		do{

			if(keypress == start){
				setup_level(); 
				row=0;
				col=0;
				flips=0;

				//update level display
				erase(25,125,40,30);
				write_text("0",25,125,WHITE,0);

			}		
			else
				print_board(X_coord, Y_coord);

			do{

				if (keypress=(char)getch()){
				
					// update selected bulb
					if(keypress==right_key){
						oldrow = row;
						oldcol = col;
						col = (col + 1) % maxcol;
					}
					
					else if(keypress==left_key){
						oldrow = row;
						oldcol = col;
						if(col <= 0)
							col = maxcol - 1;
						else
							col--;
					}
					
					else if(keypress==up_key){
						oldrow = row;
						oldcol = col;keypress=(char)getch();
						if(row <= 0)
							row = maxrow - 1;
						else
							row--;
					}
					
					else if(keypress==down_key){
						oldrow = row;
						oldcol = col;
						row = (row + 1) % maxrow;
					}
					
					else if(keypress == flip){				
						flips++;
						erase(25,125,30,30);
						sprintf(str,"%d",flips);
					   	write_text(str,25,125,WHITE,0);
						
						// flip bulbs
					
						// selected bulb
						if(board[row][col] == son){
							board[row][col] = soff;
							remaining_bulb--;
							flip_fxn(row, col);
						}
						else{
							board[row][col] = son;
							remaining_bulb++;
							flip_fxn(row, col);
						}
						
						// top
						if(row -1 >= 0){
							if(board[row-1][col] == on){
								board[row-1][col] = off;
								remaining_bulb--;
								flip_fxn(row-1, col);
							}
							else{
								board[row-1][col] = on;
								remaining_bulb++;
								flip_fxn(row-1, col);
							}
						}
						
						// down
						if(row + 1 < maxrow){
							if(board[row+1][col] == on){
								board[row+1][col] = off;
								remaining_bulb--;
								flip_fxn(row+1, col);
							}
							else{
								board[row+1][col] = on;
								remaining_bulb++;
								flip_fxn(row+1, col);
							}
						}
						
						// left
						if(col -1 >= 0){
							if(board[row][col-1] == on){
								board[row][col-1] = off;
								remaining_bulb--;
								flip_fxn(row, col-1);
							}
							else{
								board[row][col-1] = on;
								remaining_bulb++;
								flip_fxn(row, col-1);
							}
						}
						
						// right
						if(col + 1 < maxcol){
							if(board[row][col+1] == on){
								board[row][col+1] = off;
								remaining_bulb--;
								flip_fxn(row, col+1);
							}
							else{
								board[row][col+1] = on;
								remaining_bulb++;
								flip_fxn(row, col+1);
							}
						}
						
					}
					
					if(remaining_bulb <= 0){

						level++; //update level
						if(level==max_level){ //finished all puzzles

							write_text("Congratulations!",89,160,YELLOW,0);
							write_text("You finished all levels.",65,170,YELLOW,0);
							write_text("(Press any key)",101, 180,YELLOW,0);
							keypress=(char)getch();
							erase(1,1,350,280); //clear screen
							champion=1; //player is now champion

						}else{ //finished a puzzle
							write_text("Congratulations!",89,160,WHITE,0);
							write_text("Press any key",101, 170,WHITE,0);
							keypress=(char)getch();
							erase(80,160,150,40); //erase congratulations
							keypress = start;
						}
						break;
					}
					
					// update the display of the selected and previously selected
					if(keypress==right_key || keypress==left_key || keypress==up_key || keypress==down_key){
						board[row][col] = board[row][col] == on? son: soff;
						board[oldrow][oldcol] = board[oldrow][oldcol] == son? on: off;					
						edit_board();
					}
				}			
		      		
			} while (keypress != quit && keypress != reset && champion!=1);
				//continue while player is not quitting, restarting or champion

			if(champion==1){keypress = yes;}
			else if(keypress == quit){
				//prompt confirmation then erase message
				write_text("Do you want to exit? y/n ",60,160,WHITE,0); 
				keypress=(char)getch();
				erase(60,160,220,40);			
			}
			else if(keypress == reset){
				//prompt confirmation then erase message
				write_text("Do you want to restart? y/n ",50,160,WHITE,0);
				keypress=(char)getch();
				if(keypress == yes) keypress = start;
				erase(50,160,260,40);			
			}
			
			

			} while (keypress != yes);
		}
	} while (keypress != quit_game);

	set_graphics(VGA_TEXT80X25X16);
	clrscr();
}