Ejemplo n.º 1
0
Ship::Ship(point originPoint, direction o, int l) 
{
	origin = originPoint;
	orientation = o;
	length = l;	
	lencopy = length;
	hits = 0;

	points.add(originPoint);
	if (orientation == HORIZONTAL)
	{
		while((lencopy - 1) > 0)
		{
			points.add((originPoint.getX() + 1), originPoint.getY)
			lencopy -= 1;
		}
	}
	else
	{
		while((lencopy - 1) > 0)
		{
			points.add(originPoint.getX(), (originPoint.getY()+1))
			lencopy -= 1;
		}
	}
}
Ejemplo n.º 2
0
/*cubeCol* joueur::getCube()
{
return &collision;
}*/
void joueur::miseAjour(point newPosition, uint16_t newAngleX, uint16_t newAngleY, uint8_t newGaz, uint8_t newAxeX, uint8_t newAxeY, float newVitesse)
{
if(newPosition.getX() > -251 && newPosition.getX() < 251 && newPosition.getY() > -251 && newPosition.getY() < 251 && newPosition.getZ() > -251 && newPosition.getZ() < 251)
{
position = newPosition;
}
if(newAngleX < 361)
{
angleX = newAngleX;
}
if(newAngleY < 361)
{
angleY = newAngleY;
}
if(newGaz == 0 || newGaz == 1)
{
gaz = newGaz;
}
if(newAxeX == 0 || newAxeX == 1 || newAxeX == 2 )
{
axeX = newAxeX;
}
if(newAxeY == 0 || newAxeY == 1 || newAxeY == 2 )
{
axeY = newAxeY;
}
if(newVitesse >= 0 && newVitesse <= vitesseMax)
{
vitesse = newVitesse;
}
}
Ejemplo n.º 3
0
void drawPoint(point p, double size) {
    glBegin(GL_POLYGON);
    glVertex2d(p.getX()-size, p.getY()-size);
    glVertex2d(p.getX()-size, p.getY()+size);
    glVertex2d(p.getX()+size, p.getY()+size);
    glVertex2d(p.getX()+size, p.getY()-size);
    glEnd();
}
Ejemplo n.º 4
0
void drawPoint(point p) {
    double size = 0.02*(1 - p.abs2());
    if (size * screenSize / 2 < 0.3) return;
    glBegin(GL_POLYGON);
    glVertex2d(p.getX()-size, p.getY()-size);
    glVertex2d(p.getX()-size, p.getY()+size);
    glVertex2d(p.getX()+size, p.getY()+size);
    glVertex2d(p.getX()+size, p.getY()-size);
    glEnd();
}
Ejemplo n.º 5
0
	void dx11render::renderLine(const point& begin, const point& end, const color& col)
	{
		if( m_device == NULL ) return;

		UINT viewportNumber = 1;

		D3D11_VIEWPORT vp;

		m_deviceContext->RSGetViewports( &viewportNumber, &vp );

		float xx0 = 2.0f * ( begin.getX() - 0.5f ) / vp.Width - 1.0f;
		float yy0 = 1.0f - 2.0f * ( begin.getY() - 0.5f ) / vp.Height;
		float xx1 = 2.0f * ( end.getX() - 0.5f ) / vp.Width - 1.0f;
		float yy1 = 1.0f - 2.0f * ( end.getY() - 0.5f ) / vp.Height;

		COLOR_VERTEX* v = NULL;
		D3D11_MAPPED_SUBRESOURCE mapData;
		if( FAILED( m_deviceContext->Map( m_pVertexBuffer, NULL, D3D11_MAP_WRITE_DISCARD, NULL, &mapData ) ) )
			return;

		v = ( COLOR_VERTEX* ) mapData.pData;

		v[0].Position.x = xx0;
		v[0].Position.y = yy0;
		v[0].Position.z = 0;
		v[0].Color = col.toD3DXCOLOR();

		v[1].Position.x = xx1;
		v[1].Position.y = yy1;
		v[1].Position.z = 0;
		v[1].Color = col.toD3DXCOLOR();

		m_deviceContext->Unmap( m_pVertexBuffer, NULL );
		m_deviceContext->IASetInputLayout( m_pInputLayout );

		UINT Stride = sizeof( COLOR_VERTEX );
		UINT Offset = 0;

		m_deviceContext->IASetVertexBuffers( 0, 1, &m_pVertexBuffer, &Stride, &Offset );
		m_deviceContext->IASetPrimitiveTopology( D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP );

		D3DX11_TECHNIQUE_DESC techDesc;

		if( FAILED( m_pTechnique->GetDesc( &techDesc ) ) )
		{
			return;
		}

		for( UINT p = 0; p < techDesc.Passes; ++p )
		{
			m_pTechnique->GetPassByIndex( p )->Apply( 0, m_deviceContext );
			m_deviceContext->Draw( 2, 0 );
		}
	}
Ejemplo n.º 6
0
bool validPosition(point p, int width, int height, Obstacle obstacles[], int numObstacles) {
    if(!((0<=p.getX()) && (p.getX()<width) && (0<=p.getY()) && (p.getY()<height))) {
        return false;
    }
    for(int i=0; i < numObstacles; i++) {
        Obstacle o = obstacles[i];
        if((o.x1 <= p.getX()) && (p.getX() <= o.x2) &&
                (o.y1 <= p.getY()) && (p.getY() <= o.y2)) {
            // cout << o.x1 << " " << p.getX() << " " << o.x2 << endl;
            // cout << o.y1 << " " << p.getY() << " " << o.y2 << endl;
            return false;

        }
    }
    return true;
}
Ejemplo n.º 7
0
	size dx11render::renderText(int flags, const font *fnt, const point& p, const color& col, const std::string &fmt)
	{
		auto f = reinterpret_cast<const dx11font*>(fnt);
		if (!f) return size::none;
		int rflags = FW1_RESTORESTATE;
		//convert render flags to lib flags
		if (flags & VCenter)
			rflags |= FW1_VCENTER;
		if (flags & Center)
			rflags |= FW1_CENTER;
		if (flags & LAlign)
			rflags |= FW1_LEFT;
		if (flags & RAlign)
			rflags |= FW1_RIGHT;
		if (flags & TAlign)
			rflags |= FW1_TOP;
		if (flags & BAlign)
			rflags |= FW1_BOTTOM;

		//TODO string convert
		wchar_t buf[1024];
		mbstowcs(buf, fmt.c_str(), fmt.length());
		buf[fmt.length()] = 0;
		if (f->getFontWrapper())
		{
			f->getFontWrapper()->DrawString(getDeviceContext(), buf, f->getSize(), (FLOAT)p.getX(), (FLOAT)p.getY(), col.toABGR(), rflags);
		}
		return size::none;
	}
		void update(point changeCell)
		{
			double dCell[] = {changeCell.getX(),changeCell.getY(),changeCell.getZ()};
			if(dCell[0] <= length && dCell[1] <= width && dCell[2] <= height)
			{
				//find the node in the k-tree with the same location
				Node *getN = mesh.search(mesh.getRoot(),dCell);
				//update everything else
				getN->cell=changeCell;
			}
		}
Ejemplo n.º 9
0
PlayerShip::PlayerShip(const point& origin, direction dir,
                       int len, Player *parent)
    : Ship(origin, dir, len)
{
    p = parent;

    co_x = origin.getX();
    co_y = origin.getY();
    length = len;
    d = dir;
}
Ejemplo n.º 10
0
bool databaseConnector::isAccessable( point& p ) {
    sql::ResultSet* res= stmt->executeQuery ( "SELECT count(id) FROM `polygon` WHERE contains(`polygon`,GeomFromText('POINT("+std::to_string ( p.getX() ) + ' ' + std::to_string ( p.getY() ) + ")'));" );
    if ( !res->next() ) {
        return false;
    }
    std::cout<<res->getInt ( 1 );
    bool returns = !res->getInt ( 1 );
    delete res;

    return returns;
}
polygon polygon::hasilGeser(point delta){
	return hasilGeser(delta.getX(), delta.getY());
}
Ejemplo n.º 12
0
bool point::operator==(const point p) const {
    if ((p.getX() == x_) && (p.getY() == y_)) return 1;
	return 0;
}
Ejemplo n.º 13
0
point::point(const point &point) : x_(point.getX()), y_(point.getY()) {
}
Ejemplo n.º 14
0
 bool operator== (const point &other) const {
     return (x == other.getX() &&
             y == other.getY());
 }
Ejemplo n.º 15
0
bool compare_x(const point& lhs, const point& rhs){
		return lhs.getX() <= rhs.getX();
}
Ejemplo n.º 16
0
double point::distance(point &p1){
    return sqrt(pow((x-p1.getX()),2) + pow((y-p1.getY()),2));
}
Ejemplo n.º 17
0
int dist(const point& lhs, const point& rhs){
		return (lhs.getX() - rhs.getX()) * (lhs.getX() - rhs.getX())  + (lhs.getY() - rhs.getY()) * (lhs.getY() - rhs.getY());
}
Ejemplo n.º 18
0
void databaseConnector::setPosition( const int& vehicleId,const point& position ) {
    stmt->executeUpdate ( "INSERT INTO `checkpoint` (`vehicle_id`, `time`, `position`) VALUES ('" + std::to_string ( vehicleId ) + "', CURRENT_TIMESTAMP, GeomFromText('POINT(" + std::to_string ( position.getX() ) + " " + std::to_string ( position.getY() ) + ")') );" );
}
Ejemplo n.º 19
0
void glVertex2dp(point p) {
    glVertex2d(p.getX(), p.getY());
}
Ejemplo n.º 20
0
void databaseConnector::setPosition( const std::string& vehicleName,const point& position) {
    stmt->executeUpdate ( "INSERT INTO `checkpoint` (`vehicle_id`, `time`, `position`) VALUES ((SELECT id FROM `vehicle` WHERE name = '" + vehicleName + "'), CURRENT_TIMESTAMP,  GeomFromText('POINT(" + std::to_string ( position.getX() ) + " " + std::to_string ( position.getY() ) + ")') );" );
}
Ejemplo n.º 21
0
double joueur::distance(point a)
{
double distanceXZ = sqrt(double(a.getX()*a.getX()) + double(a.getZ()*a.getZ()));
return sqrt(distanceXZ + double(a.getY() * a.getY()));
}