Sha256: 46d3952b34bf063699ad5aa767353c4cd618bde33509b0b272dd761804dced1f

Contents?: true

Size: 1.42 KB

Versions: 9

Compression:

Stored size: 1.42 KB

Contents

// -*- c++ -*-
#pragma once
#ifndef __RAYS_POLYLINE_H__
#define __RAYS_POLYLINE_H__


#include <vector>
#include <xot/pimpl.h>
#include <rays/defs.h>
#include <rays/point.h>
#include <rays/bounds.h>


namespace Rays
{


	struct Color;
	class Polygon;


	class Polyline
	{

		public:

			typedef std::vector<Point> PointList;

			typedef PointList::const_iterator const_iterator;

			Polyline ();

			Polyline (
				const Point* points, size_t size, bool loop = false,
				const Color* colors = NULL, const Coord3* texcoords = NULL,
				bool hole = false);

			Polyline (
				const Point* points, size_t size, bool loop, bool fill,
				const Color* colors = NULL, const Coord3* texcoords = NULL,
				bool hole = false);

			~Polyline ();

			bool expand (
				Polygon* result,
				coord width,
				CapType cap       = CAP_DEFAULT,
				JoinType join     = JOIN_DEFAULT,
				coord miter_limit = JOIN_DEFAULT_MITER_LIMIT) const;

			Bounds bounds () const;

			bool loop () const;

			bool fill () const;

			bool hole () const;

			const Point* points () const;

			const Color* colors () const;

			const Coord3* texcoords () const;

			size_t size () const;

			bool empty () const;

			const_iterator begin () const;

			const_iterator end () const;

			const Point& operator [] (size_t index) const;

			operator bool () const;

			bool operator ! () const;

			struct Data;

			Xot::PSharedImpl<Data> self;

	};// Polyline


}// Rays


#endif//EOH

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
rays-0.3.4 include/rays/polyline.h
rays-0.3.3 include/rays/polyline.h
rays-0.3.2 include/rays/polyline.h
rays-0.3.1 include/rays/polyline.h
rays-0.3 include/rays/polyline.h
rays-0.2.1 include/rays/polyline.h
rays-0.2 include/rays/polyline.h
rays-0.1.49 include/rays/polyline.h
rays-0.1.48 include/rays/polyline.h