Shape::Composer class reference
[Core module]

Declaration  

This class is flagged as experimental.

#include <Goptical/Shape/Composer>

namespace Goptical {
namespace Shape {
class Composer;
};
};

This class is a member of the Shape namespace.

Inheritance  


 
 

 
 


 
 

 
 


Description  

This class allows definition of a shape by composition of other shape models. Coordinate transforms and boolean operations can be performed on shapes.

This class is still experimental, 2d contour and 3d tessellation code doesn't give propser results.

Members  

See also the full member list section for this class.

Inherited members  

  • 12 members inherited from Base

Type  

Functions  

Members detail  

Composer()  

This constructor is flagged as experimental.

Attributes & add_shape(const const_ref<Base> &shape)  

This function is flagged as experimental.

Add a new shape to shape composer.

This function returns a reference to an Attributes object which may be modified to set shape transform and boolean operations.

The composed shape is the union between all shapes added with this function.

virtual Math::VectorPair2 get_bounding_box() const  

This virtual function is flagged as experimental.

This virtual function implements the get_bounding_box pure function declared in the Base base abstract class.

Documentation inherited from base class:

Get shape bounding box

virtual void get_contour(unsigned int contour, const Math::Vector2::put_delegate_t &f, double resolution) const  

This virtual function is flagged as experimental.

This virtual function implements the get_contour pure function declared in the Base base abstract class.

Documentation inherited from base class:

Get contour polygone points for specified contour id. First contour is always outter edge.

See also get_contour_count function.

virtual unsigned int get_contour_count() const  

This virtual function is flagged as experimental.

This virtual function implements the get_contour_count pure function declared in the Base base abstract class.

Documentation inherited from base class:

Get number of contours polygones. This function returns value is greater than 1 if shape has hole(s).

See also get_contour function.

virtual double get_hole_radius(const Math::Vector2 &dir) const  

This virtual function is flagged as experimental.

This virtual function overrides the get_hole_radius virtual function defined in the Base base abstract class.

Documentation inherited from base class:

Get distance between origin and nearest shape outter edge in specified direction

virtual double get_outter_radius(const Math::Vector2 &dir) const  

This virtual function is flagged as experimental.

This virtual function implements the get_outter_radius pure function declared in the Base base abstract class.

Documentation inherited from base class:

Get distance between origin and farthest shape edge in specified direction

virtual void get_pattern(const Math::Vector2::put_delegate_t &f, const Trace::Distribution &d, bool unobstructed) const  

This virtual function is flagged as experimental.

This virtual function overrides the get_pattern virtual function defined in the Base base abstract class.

Documentation inherited from base class:

Get points distributed on shape area with given pattern

virtual void get_triangles(const Math::Triangle<2>::put_delegate_t &f, double resolution) const  

This virtual function is flagged as experimental.

This virtual function implements the get_triangles pure function declared in the Base base abstract class.

Documentation inherited from base class:

Get shape teselation triangles

virtual bool inside(const Math::Vector2 &point) const  

This virtual function is flagged as experimental.

This virtual function implements the inside pure function declared in the Base base abstract class.

Documentation inherited from base class:

Check if the (x,y) 2d point is inside 2d shape area

virtual double max_radius() const  

This virtual function is flagged as experimental.

This virtual function implements the max_radius pure function declared in the Base base abstract class.

Documentation inherited from base class:

Get distance between origin and farthest shape edge

virtual double min_radius() const  

This virtual function is flagged as experimental.

This virtual function implements the min_radius pure function declared in the Base base abstract class.

Documentation inherited from base class:

Get distance between origin and nearest shape outter edge

void use_global_distribution(bool use_global)  

This function is flagged as experimental.

Set ray distribution behavior. Default is to perform individual ray distribution on each composer shape.

Global mode distributes rays over a circle with maximum shape radius, it may be used to ensure ray density is the same on each shape. Unobstructed ray tracing require global distribution too.

Valid XHTML 1.0 StrictGenerated by diaxen on Sun Jan 8 00:47:24 2012 using MkDoc