Logo Search packages:      
Sourcecode: k3d version File versions

k3d Namespace Reference


Detailed Description

Namespace reserved for all public symbols in the K-3D libraries (K3DSDK, K3DUI, and K3DEMBED).


Classes

class  about_box
 Creates a modal "about" box that displays program version and copyright. More...
class  angle_axis
 Encapsulates an angle/axis representation of an object's orientation. More...
class  application_implementation
 Provides an implementation of k3d::iapplication for use by embedders. More...
class  application_plugin
 Context policy class for use with plugin_factory - creates an "application context" plugin that is not associated with any particular document. More...
class  application_window
 Wraps a GTK+ window that serves as the root of a multi-window (Gimp-like) graphical user interface. More...
class  auto_ptr
 Provides std::auto_ptr-like behavior, but uses the k3d::ideletable interface for object destruction. More...
class  basic_bitmap
 Encapsulates a bitmap image. More...
class  basic_hsv
 Encapsulates storage for an HSV color sample. More...
class  basic_luma
 Encapsulates storage for a luma color sample. More...
class  basic_rgb
 Encapsulates storage for an RGB color sample. More...
class  basic_rgba
 Encapsulates storage for an RGBA color sample. More...
class  bicubic_patch
 Encapsulates a bicubic patch. More...
class  bilinear_patch
 Encapsulates a bilinear patch. More...
class  bitmap_filter
class  bitmap_source
class  black_box_recorder
 Implements the black box recorder. More...
class  blobby
 Encapsulates a RenderMan blobby (implicit surface) primitive as a tree. More...
class  bounded
 Provides a boilerplate implementation of k3d::ibounding_box using parameterized inheritance. More...
class  bounding_box
 Convenience type for handling bounding boxes. More...
class  change_signal
 Signal policy for data objects that transmit a "data changed" event when their state changes. More...
class  clipboard
 Acts as a data source for the X primary selection. More...
class  color_bezier_channel_properties
 The main user interface for a bezier control channel object. More...
class  color_level_buf
 When attached to an output stream, prefixes every line of output with its log level (if any). More...
class  color_traits
 Describes traits of a type used as a sample within a color specification. More...
class  color_traits< boost::uint8_t >
 Specialization of color_traits for uint8_t samples. More...
class  color_traits< double >
 Specialization of color_traits for double samples. More...
class  color_traits< float >
 Specialization of color_traits for float samples. More...
class  color_traits< half >
 Specialization of color_traits for half samples. More...
class  color_value_properties
 Provides a UI for modifying a color value. More...
class  command_node
 Provides a default implementation of icommand_node. More...
class  command_node_inspector
 Provides an interactive UI for working with the hierarchyof k3d::icommand_node objects. More...
class  composition_t
class  computed_property
 Implementation of iproperty that can front for any function object. More...
class  constraint_t
class  cubic_curve
 Encapsulates a cubic curve. More...
class  cubic_curve_group
 Encapsulates a collection of cubic curves. More...
class  dag_window
class  data
 Host class for storing data using name, signal, undo, storage, and constraint policies. More...
class  data< boost::filesystem::path, name_policy, undo_policy, constraint_policy >
 A partial specialization of k3d::data for storing boost::filesystem::path objects. More...
struct  delete_object
 Use with std::for_each to destroy collections of objects stored by pointer. More...
class  demand_storage
 Read-only storage policy that stores a value by pointer, created on-demand. More...
class  dependencies
class  description_t
class  document_plugin
 Context policy class for use with plugin_factory - creates a "document context" plugin that is associated with a specific document. More...
class  document_t
class  document_window
 Implements a document's user interface. More...
class  document_windowPopulateUndoStack
 Populates the contents of the Undo Stack with a current list of Undo-able changes. More...
class  enumeration_t
class  euler_angles
 Encapsulates a set of Euler angles, including the order in which they should be applied. More...
class  face
 Encapsulates a polygonal face. More...
class  filter_by_level_buf
 When attached to an output stream, filters-out messages below the given level. More...
class  filter_selector
 Implements the application user interface. More...
class  fold_duplicates_buf
 When attached to an output stream, replaces duplicate lines of output with a message indicating the number of duplicates. More...
class  frames
 A utility class for working with ranges of numbered files. More...
class  hotkey
class  ianimation_render_engine
 Abstract interface implemented by render engines. More...
class  iapplication
 Abstract interface for the global K-3D Application object. More...
class  iapplication_plugin_factory
 Abstract factory interface for plugin objects. More...
class  ibezier_channel
 Abstract interface for a two-dimensional Bezier control spline. More...
class  ibezier_channel< void >
 Specialization of ibezier_channel for scalar channels. More...
class  ibitmap_read_format
 Abstract interface for objects capable of loading bitmaps from a filesystem. More...
class  ibitmap_sink
 Abstract interface for objects that can consume bitmap data. More...
class  ibitmap_source
 Abstract interface for objects that can act as a source of bitmapes. More...
class  ibitmap_write_format
 Abstract interface for objects capable of serializing k3dIBitmap objects. More...
class  ibounded
 Abstract interface for quickly determining the bounding box of objects that fill a 3D volume. More...
class  ichannel
 Abstract interface for an object encapsulating data that can change along an axis (usually time). More...
class  icommand_node
 Abstract interface for objects that can accept commands from external entities. More...
class  icommand_tree
 Abstract interface for a directed graph of icommand_tree objects. More...
class  iconstraint
 Abstract interface for a chain-of-responsibility constraint object. More...
class  idag
 Abstract interface for a Directed Acyclic Graph of dependencies between document plugin properties. More...
class  ideletable
 Abstract interface for objects that can be deleted. More...
class  idependencies
 Abstract interface that allows objects to register dependencies for serialization. More...
class  idocument
 Abstract interface for an open K-3D document. More...
class  idocument_plugin_factory
 Abstract factory interface for plugin objects. More...
class  ienumeration_property
 Abstract interface for discovering information about an enumerated property. More...
class  ifile_format
 Abstract interface for objects that can act as file format input/output filters. More...
class  igeometry_read_format
 Abstract interface for objects that can deserialize 3D object data formats. More...
class  igeometry_write_format
 Abstract interface implemented by objects that can serialize 3D object data. More...
class  ihandle
 Abstract interface for a "handle" object that can be "grabbed" with the mouse pointer. More...
class  ikeyboard
 High-level wrapper for keyboard functionality (bypasses the normal GTK+ event mechanism). More...
class  ilist_property
 Abstract interface for discovering information about a list property (a property for which there is a set of predefined values, but other values are allowed). More...
class  imaterial
 Abstract interface implemented by objects that can act as geometric surface materials. More...
class  imaterial_collection
 Abstract interface for collections of k3d::imaterial objects. More...
class  imeasurement_property
 Abstract interface for discovering information about a property that uses real-world units-of-measure. More...
class  imesh_sink
 Abstract interface for objects that can consume mesh data. More...
class  imesh_source
 Abstract interface for objects that can act as a source of meshes. More...
class  immutable_name
 Name policy for data objects whose name cannot be changed. More...
class  imouse_event_observer
 Abstract interface for objects that want to receive interactive user events. More...
class  initializer_t
struct  inserter_t
struct  interface_filter_t
 Defines a unary function object that "filters" based on an interface type. More...
struct  interface_list
 Used to create compile-type lists of interfaces (i.e. typelists - see Alexandrescu "Modern C++ Design"). More...
class  iobject
 Abstract interface which MUST be implemented by ALL K-3D document objects. More...
class  iobject_collection
 Abstract interface for a collection of K-3D objects. More...
class  iobject_property
 Abstract interface for discovering information about a property that references another object. More...
class  ioptions
 Abstract interface for global user options. More...
class  iorthographic
 Abstract interface encapsulating a standard orthographic transformation. More...
class  ipersistent
 Abstract interface implemented by objects that can be serialized to/from a K-3D document. More...
class  iperspective
 Abstract interface encapsulating a standard perspective (truncated pyramid, or frustum) transformation. More...
class  iplugin_factory
 Abstract factory interface for plugin objects. More...
class  iplugin_factory_collection
 Abstract factory interface for plugin objects. More...
class  iplugin_registry
 Abstract interface passed to plugin module entry points so they may register their plugin factories. More...
class  iprivate_user_interface
 Abstract interface implemented by plugins that provide their own UI. More...
class  iprojection
 Abstract interface encapsulating a 3D-to-2D viewing projection. More...
class  iproperty
 Abstract interface for a name-value pair with fixed type (note - if you want to write to a property, query for iwritable_property and be prepared for it to fail for read-only properties). More...
class  iproperty_collection
 Abstract interface for objects that can accept commands from external entities. More...
class  iproperty_group_collection
 Abstract interface for objects that can accept commands from external entities. More...
class  irender_farm
 Abstract interface that encapsulates a "render farm" capable of rendering jobs. More...
class  irender_frame
 Abstract interface encapsulating a single frame to be rendered. More...
class  irender_job
 Abstract interface encapsulating zero-or-more frames to be rendered. More...
class  iscript_engine
 Abstract interface implemented by objects that can execute scripts written in a specific scripting language. More...
class  iscript_property
 Abstract interface for properties that represent scripts (typically used to alter presentation). More...
class  iselectable
 Abstract interface for an object that supports a boolean "selected" state. More...
class  iselection
 Abstract interface for a collection of references to "selected" objects. More...
class  ishader_collection
 Abstract interface for a collection of RenderMan shaders. More...
class  isnap_target
 Abstract interface implemented by objects to which other objects can be interactively "snapped". More...
class  istate_change_set
 Abstract interface for an object that stores an atomic set of state changes that can be undone / redone. More...
class  istate_container
 Abstract interface for an object that stores state and can restore it on demand (memento design pattern). More...
class  istate_recorder
 Encapsulates functionality for recording undo/redo -able state changes. More...
class  istill_render_engine
 Abstract interface implemented by render engines. More...
class  itime_sink
 Abstract interface for objects that can consume time data. More...
class  itransform_sink
 Abstract interface for objects that can act as consumers of transformation data. More...
class  itransform_source
 Abstract interface for objects that can act as a source of transformation data. More...
class  iunknown
 Interface from which all other K-3D interfaces derive. More...
class  iuser_interface
 Abstract interface to common graphical-user-interface operations for use by objects. More...
class  iviewport
 Abstract interface for objects that can draw the document using OpenGL. More...
class  iviewport_host
 Abstract interface for objects that can host (provide position and projection information to) a viewport. More...
class  iwritable_property
 Abstract interface for a property that can be written (see iproperty if you need to read the value of a property). More...
class  key_modifiers
class  linear_curve
 Encapsulates a linear curve. More...
class  linear_curve_group
 Encapsulates a collection of linear curves. More...
class  local_storage
 Read-write storage policy that stores data by value. More...
class  material_collection
 Adds a boilerplate implementation of k3d::imaterial_collection to a base class, using the parameterized-inheritance idiom. More...
class  matrix3
 A 3x3 matrix. More...
class  matrix4
 A 4x4 matrix. More...
class  mesh
 Encapsulates a collection of geometry. More...
class  mesh_filter
class  mesh_source
class  method_call_t
class  mouse_event_observer
 Provides an implementation of imouse_event_observer. More...
class  name_t
class  no_constraint
 Policy for data objects whose values aren't constrained. More...
class  no_name
 Name policy for data objects that are unnamed. More...
class  no_signal
 Signal policy for data objects that does not notify observers when the data changes. More...
class  no_undo
 Undo policy for data objects that do not record undo/redo data as they are modified. More...
class  nucurve
 Encapsulates a NURBS curve - note: there is no equivalent RenderMan primitive, so these can't be rendered - take a look at cubic_curve, instead. More...
class  nucurve_group
 Encapsulates a collection of NURBS curves - note: there is no equivalent RenderMan primitive, so these can't be rendered - take a look at cubic_curve_group, instead. More...
class  null_interface
 Defines a null interface type for marking the ends of an interface list. More...
class  nupatch
 Encapsulates a NURBS patch. More...
class  object
 A default implementation of the k3d::iobject interface, for use as a base class for document plugins. More...
class  object_adaptor
 Wraps an instance of k3d::data<iobject::id_type>, keeping it current in the face of object deletions, etc. More...
class  object_value_t
class  options_dialog
 Provides a user interface for altering global user options. More...
class  options_window_geometry_store
 Implementation of window_geometry_store that persists geometry in user preferences. More...
class  persistent
 Provides a boilerplate implementation of an object that can be serialized. More...
class  plane
 Encapsulates a 3D plane surface. More...
class  plugin_factory
class  plugin_factory_collection
 Provides an implementation of iplugin_factory_collection that can load plugin factories from shared libraries. More...
class  point
 Encapsulates a point in 3D space. More...
class  point_group
 Encapsulates a group of rendered points. More...
class  polyhedron
 Encapsulates a manifold polyhedron composed of polygon faces. More...
class  precision_t
class  progress_timer
 Measures elapsed time using a high-resolution timer, printing the results to a stream on destruction. Intentionally modelled on boost::progress_timer. More...
class  property_collection
 Provides a default implementation of iproperty_collection. More...
class  property_group_collection
 Provides a default implementation of iproperty_group_collection. More...
class  quaternion
 Encapsulates a quaternion. More...
class  record_state_change_set
 RAII helper class that provides a return- and exception-safe way to record state changes for UNDO purposes. More...
class  rectangle
 A two-dimensional rectangle with left, right, top, bottom. More...
class  render_farm
class  reset_level_buf
 When attached to an output stream, resets the log level to "unknown" after every line of output. More...
class  scalar_bezier_channel_properties
 The main user interface for a bezier control channel object. More...
class  script_editor
 Provides a standard user interface for editing file-based scripts. More...
class  selectable
 Provides a boilerplate implementation of k3d::iselectable. More...
class  shader_collection
class  show_level_buf
 When attached to an output stream, prefixes every line of output with its log level (if any). More...
class  splash_box
 Creates a modal "splash" box that displays program version and copyright. More...
class  split_edge
 Encapsulates a split-edge data structure for representing topology information in a polygon mesh. More...
class  step_increment_t
class  syslog_buf
 When attached to an output stream, copies output to the system log. More...
class  tag_buf
 When attached to an output stream, prepends a string "tag" to the beginning of every line of output. More...
class  timer
 Measures elapsed time using a high-resolution timer. Intentionally modelled on boost::timer. More...
class  timestamp_buf
 When attached to an output stream, prefixes every line of output with a timestamp. More...
class  transformable
 Provides a boilerplate implementation of an object that has position, scale, and orientation. More...
class  tutorial_recorder
 Implements the application user interface. More...
class  units_t
class  user_options
 Provides an implementation of k3d::ioptions that serializes user options to disk as an XML document. More...
class  uuid
 Globally unique identifier used to identify plugin objects for instantiation. More...
class  value_t
class  values_t
class  vector2
 A two-dimensional vector. More...
class  vector3
 A three-dimensional vector. More...
class  vector4
 A four-dimensional vector. More...
class  wait_cursor
class  window_geometry_store
 Abstract interface for objects that can store/retrieve window geometry. More...
class  with_constraint
 Policy for data objects whose values are constrained by a chain of one-to-many iconstraint objects. More...
class  with_undo
 Undo policy for data objects that record undo/redo data as they are modified. More...

Namespaces

namespace  bitmap_preview
 Contains the standard K-3D bitmap preview widget plus helper objects.
namespace  button
 Contains the standard K-3D button widget plus helper objects.
namespace  channel
 Contains functions and classes used to make working with k3d::ichannel objects easier.
namespace  check_button
 Contains the standard K-3D check button widget plus helper objects.
namespace  chooser
 Contains the standard K-3D chooser widget plus helper objects.
namespace  classes
 Contains commonly-used plugin object class identifiers, so specific plugin objects can be instantiated.
namespace  color_chooser
 Contains the standard K-3D color-chooser widget plus helper objects.
namespace  combo_box
 Contains the standard K-3D combo-box widget plus helper objects.
namespace  constraint
 Contains constraint objects used with k3d::data and related objects.
namespace  dag_control
 Contains the K-3D DAG control plus helper objects for visualizing document objects and their DAG connections.
namespace  detail
 Contains private implementation details for the K-3D SDK.
namespace  edit_control
 Contains the standard K-3D text edit widget plus helper objects.
namespace  expression
 Contains a boost::spirit grammar and related objects for parsing numeric expressions.
namespace  implementation_private
 Contains private implementation objects not considered part of the public API.
namespace  marshaller
 Contains marshalling objects for use with libsigc++ signals.
namespace  measurement
 Contains objects for storing and converting real-world units-of-measure.
namespace  menu_item
 Contains the standard K-3D menu item widget plus helper objects.
namespace  object_chooser
 Contains the standard K-3D object selection widget plus helper objects.
namespace  path
 Contains functions that return operating system filepaths configured by the user at compile-time.
namespace  path_chooser
 Contains the standard K-3D filesystem path chooser widget plus helper objects.
namespace  persistence
 Contains functions and classes used to make object serialization & persistence easier.
namespace  property
 Contains functions and classes used to export easily-modifiable "properties" from objects.
namespace  ri
 Contains functions and classes used to generate RenderMan compatible descriptions of a document.
namespace  shader_arguments
 Contains the standard K-3D shader arguments widget plus helper objects.
namespace  shader_info
 Contains the standard K-3D shader information widget plus helper objects.
namespace  shader_selector
 Contains the standard K-3D shader selection widget plus helper objects.
namespace  spin_button
 Contains the standard K-3D spin button widget plus helper objects.
namespace  viewport
 Contains functions and classes used to generate realtime OpenGL views of a document.

Typedefs

typedef basic_bitmap< pixelbitmap
 We define the standard bitmap to be floating-point RGBA data.
typedef basic_rgb< double > color
 Convenience typedef for our "standard" color type.
typedef
iplugin_factory_collection::factories_t 
factories_t
 Convenience typedef.
typedef boost::tuple
< boost::multi_array< point *, 2 >
, boost::multi_array
< split_edge *, 3 >
, boost::multi_array< face *, 2 > > 
grid_results_t
 Defines a reference to polygonal grid data that maintains the topology in a convenient form.
typedef
iobject_collection::objects_t 
objects_t
 Defines a collection of objects.
typedef std::map< std::string,
boost::any > 
parameters_t
 Encapsulates a set of name-value pairs.
typedef basic_rgba< half > pixel
 We define the standard pixel to be floating-point RGBA data.
typedef unsigned long pixel_size_t
 Defines data measured in pixels.
typedef const uuid(* register_module_entry_point )()
 Defines the signature for the register_k3d_module function that must be exported by all plugin modules.
typedef void(* register_plugins_entry_point )(iplugin_registry &)
 Defines the signature for the register_k3d_plugins function that must be exported by all plugin modules.
typedef std::vector< vector2vector2Array
 An array of two-dimensional vectors.
typedef std::vector< vector3vector3Array
 An array of three-dimensional vectors.

Enumerations

enum  { VX, VY, VZ, VW }
 Axes array indices.
enum  { PA, PB, PC, PD }
 Plane array indices.
enum  axis { X, Y, Z }
 Enumerates standard axes.
enum  line_segment_intersection_type {
  SDP_NOINTERSECTION, SDP_EXTERIORINTERSECTION, SDP_INTERIORINTERSECTION, SDP_EXTERIORCOLINEARPOINT,
  SDP_INTERIORCOLINEARPOINT, SDP_INTERIORCOLINEARPOINTS, SDP_INTERIOREXTERIORCOLINEARPOINTS, SDP_EXTERIORCOLINEARPOINTSNOINTERSECTION,
  SDP_EXTERIORCOLINEARPOINTS, SDP_ERROR
}
 Enumerates the ways in which two line segments might (or might not) intersect.
enum  log_level_t {
  CRITICAL = 1, ERROR = 2, WARNING = 3, INFO = 4,
  DEBUG = 5
}
 Enumerates available log levels.
enum  signed_axis {
  NX, PX, NY, PY,
  NZ, PZ
}
 Enumerates signed axes.

Functions

grid_results_t add_grid (mesh &Mesh, polyhedron &Polyhedron, const unsigned long Rows, const unsigned long Columns, const bool StitchTop, const bool StitchSide)
 Creates data for a grid, optionally stitched along either or both axes (e.g. a cylinder or a torus).
void add_unit_cube (mesh &Mesh, polyhedron &Polyhedron)
 Creates data for a unit cube and appends it to the given Mesh & Polyhedron.
iapplicationapplication ()
 Returns the global application object.
double Area (const k3d::vector2 &Point1, const k3d::vector2 &Point2, const k3d::vector2 &Point3)
template<typename interface_t>
interface_t * auto_file_filter (const boost::filesystem::path &File)
 Attempts to find a new file format object that can read/write the given file (could return NULL).
const
ienumeration_property::values_t
axis_values ()
 Returns descriptions of the allowed axis values, for use with enumeration properties.
vector3 background_color (0.8, 0.8, 0.8)
double BernsteinBasis (const unsigned long Order, const unsigned long ControlPoint, const double Parameter)
 Returns a Bezier / Bernstein basis for the given order, control point number, and parameter value.
template<class Type>
Type Bezier (const std::vector< Type > &ControlPoints, const double Parameter)
 Computes a Bezier curve value with given order, control points, and parameter value.
template<int n, typename value_t, typename iterator_t>
value_t bezier (const iterator_t First, const iterator_t Last, const double t)
 Computes a Bezier curve value with given order, control points, and parameter value.
template<int n, typename value_t, typename iterator_t>
double bezier_function (const iterator_t First, const iterator_t Last, const double X, const double Hint, const double MaxError, const unsigned long MaxIterations, double &Error, unsigned long &Iterations)
 Treats a Bezier curve as a two-dimensional function, returning the curve value Y for a specific X (instead of using the curve parameter t, which is nonlinear).
bool big_endian ()
 Returns true if the architecture is big endian.
const bounding_box bounds (const mesh &Mesh)
 Returns a bounding-box containing every point in the given mesh.
void cancel_state_change_set (idocument &Document)
 Convenience function that cancels recording the current state change set.
template<typename bitmap_t, typename even_color_t, typename odd_color_t>
void checkerboard_fill (bitmap_t &Bitmap, const pixel_size_t CheckWidth, const pixel_size_t CheckHeight, const even_color_t EvenColor, const odd_color_t OddColor)
 Fills a bitmap with a checkerboard pattern with given check dimensions and colors.
template<class type>
type clamp (const type &x, const type &minval, const type &maxval)
 Clamps a value within the specified range (conforms to SL usage).
template<class Type>
Type Clamp (const Type &minval, const Type &Value, const Type &maxval)
 Clamps a value within the specified range.
void close_document (idocument &Document)
 Destroys a document, freeing all resources.
vector2 ClosestPoint (vector2 &Point, vector2Array &Array)
 Returns the array point closest to the given coordinate.
const std::string command_node_path (icommand_node &Node)
 Returns the location of a command node within the command tree as a filesystem-like absolute path.
bool compile_shader (const boost::filesystem::path &SourceFile, const std::string RenderEngineType, const std::string RenderEngine)
 Recompiles a shader from source iff it's out-of-date.
rectangle ConstrainProportions (const rectangle &Source, const rectangle &Destination)
 Returns the source rectangle, proportionately constrained to fit within the destination.
const bool contains_selection (const mesh &Mesh)
 Returns true iff the given mesh contains a selected object of any type.
const std::string control_close ("close")
const std::string control_colorchanged ("colorchanged")
const std::string control_colorselection ("colorselection")
const GdkModifierType convert (const key_modifiers Modifiers)
 Converts our native keyboard modifier type to GDK keyboard modifiers.
const key_modifiers convert (const GdkModifierType Modifiers)
 Converts GDK keyboard modifiers to our native keyboard modifier type.
template<typename InputIterator, typename OutputIterator, typename Predicate>
OutputIterator copy_if (InputIterator Begin, InputIterator End, OutputIterator DestBegin, Predicate P)
 copy_if() - as described in "Effective STL" ...
iunknowncreate_application_plugin (const std::string &PluginName)
 Creates an application object based on a plugin name (could return NULL if the name isn't found, or there's more than one plugin type with the same name, or it isn't an application plugin).
iunknowncreate_application_plugin (const uuid &ClassID)
 Creates an application plugin based on a specific class_id (could return NULL if the class_id isn't found, or isn't an application plugin).
iunknowncreate_application_plugin (iplugin_factory &Factory)
 Creates an application plugin from a plugin factory (could return NULL, if the factory isn't an application plugin factory).
void create_auto_object_dialog (k3d::iobject &Object)
void create_auto_tool_dialog (k3d::iobject &Object, iproperty &Output, iproperty &ToolInput, iproperty &ToolOutput, iproperty &Input)
void create_color_bezier_channel_properties (iobject &Object)
void create_connect_properties_dialog (idocument &Document, iobject *const SourceObject, iproperty *const SourceProperty, iobject *const DestinationObject, iproperty *const DestinationProperty)
 Creates a modeless dialog that can connect properties - note: any combination of parameters may be NULL.
idocumentcreate_document ()
 Factory function that creates a new document with (optional) template (could return NULL).
iobjectcreate_document_plugin (const std::string &PluginName, idocument &Document, const std::string &Name=std::string())
 Creates a document object based on a plugin name (could return NULL if the name isn't found, or there's more than one plugin type with the same name, or it isn't a document plugin).
iobjectcreate_document_plugin (const uuid &ClassID, idocument &Document, const std::string &Name=std::string())
 Creates a document plugin based on a specific class_id (could return NULL if the class_id isn't found, or isn't a document plugin).
iobjectcreate_document_plugin (iplugin_factory &Factory, idocument &Document, const std::string &Name=std::string())
 Creates a document plugin from a plugin factory (could return NULL, if the factory isn't a document plugin factory).
void create_scalar_bezier_channel_properties (iobject &Object)
std::auto_ptr< istate_change_setcreate_state_change_set ()
 Factory function for creating standard state change set objects.
void create_tutorial_menu (k3d::icommand_node &Parent)
 Displays a singleton tutorial menu dialog.
iuser_interfacecreate_user_interface (const bool BatchMode)
 Factory function for creating a concrete k3d::iuser_interface implementation.
std::ostream & critical (std::ostream &)
 iostream manipulator that indicates a critical error has occurred, from which the application cannot recover
vector3 current_time_color (0.0, 1.0, 0.0)
vector3 cursor_color (1.0, 0.0, 0.0)
std::ostream & debug (std::ostream &)
 iostream manipulator that indicates messages used for internal debugging by developers
void deep_copy (const mesh &Input, mesh &Output)
 Copies the input mesh into the output mesh.
const iselection::selection_t deep_selection (idag &Dag, const iselection::selection_t &Selection)
 Returns a "deepened" version of a selection (expands it to include the components of the objects within the selection).
iobjectdefault_material (k3d::idocument &Document)
 Returns the default material for application to new objects (could return NULL!).
template<class type>
type degrees (const type &radians)
 Converts radians to degrees.
void delete_objects (idocument &Document, const objects_t &Objects)
 Deletes a collection of objects, cleaning-up all references and resources (this operation is undo-able, if state change recording is in effect).
void deselect (idocument &Document, const iselection::selection_t &Selection)
 Deselects the given objects and notifies observers.
void deselect_all (idocument &Document)
 Deselects everything within the given document.
const boost::filesystem::path dialog_template_path ()
 Returns the root path to GTKML templates / external objects (such as pixmaps) ... note: set_dialog_template_path() must be called prior to calling this function.
void display_inline_script_editor (iproperty &Script, icommand_node &Parent, const std::string &ScriptName)
 Provides a standard user interface for editing in-memory scripts.
GtkTargetEntry & dnd_create_object_target ()
std::ostream & error (std::ostream &)
 iostream manipulator that indicates definite invalid input or unexpected behavior - the current operation will not succeed
void error_message (const std::string &Message, const std::string &Title)
 Convenience wrapper for calls to k3d::iuser_interface::error_message().
void execute_script (std::istream &Script, const std::string &ScriptName, const iscript_engine::context_t &Context, bool &Recognized, bool &Executed)
 Executes the contents of a stream as a script, attempting to automatically recognize the language.
void execute_script (const std::string &Script, const std::string &ScriptName, const iscript_engine::context_t &Context, bool &Recognized, bool &Executed)
 Executes the contents of a string as a script, attempting to automatically recognize the language.
bool execute_script (const std::string &Script, const std::string &ScriptName, const iscript_engine::context_t &Context, const uuid &Engine)
 Executes the contents of a string as a script, using a specific language.
bool export_file (idocument &Document, igeometry_write_format &FormatFilter, const boost::filesystem::path &FilePath)
 Exports document data to a file.
matrix3 extractRotation (const matrix4 &pose)
 Extracts rotation from a three-dimensional matrix.
vector3 extractScaling (const matrix4 &pose)
 Extracts scaling from a three-dimensional matrix.
vector3 extractTranslation (const matrix4 &pose)
 Extracts translation from a three-dimensional matrix.
double factorial (double N)
 Computes N!
const std::string file_extension (const boost::filesystem::path &filename)
 Returns a filename's extension in lower case (string beyond last period).
template<typename interface_t>
interface_t * file_filter (const std::string &FilterName)
 Returns a new file format object by name (could return NULL).
iobjectfind_object (iobject_collection &Objects, iproperty &Property)
 Returns the object that owns the given property (could return NULL).
iobjectfind_object (iobject_collection &Objects, const iobject::id_type ObjectID)
 Returns the object that matches the given id (could return NULL).
template<typename interface_t>
const objects_t find_objects (iobject_collection &Objects)
 Returns the set of objects that implement a specific interface type (could return empty set!).
const objects_t find_objects (iobject_collection &Objects, const std::string ObjectName)
 Returns the set of objects that match the given name (be prepared to handle zero, one, or many results).
const objects_t find_objects (iobject_collection &Objects, const uuid ClassID)
 Returns the set of objects that match a specific uuid (could return empty set!).
void finish_state_change_set (idocument &Document, const std::string &Label)
 Convenience function that finishes recording a state change set for undo/redo purposes.
template<class Type>
void for_each_path (const boost::filesystem::path &StartDirectory, Type &Functor, const bool recursive)
void formatted_replace (std::string &Text, const char Delimiter, const std::string &Specifier, const std::string &Replacement)
 Substitutes text into printf() style format specifiers.
template<class Type>
const Type from_string (const std::string Value, const Type &DefaultValue)
 Converts a string into any stream-serializeable type.
const rectangle frustum (-1, 1, 1,-1)
icommand_nodeget_command_node (icommand_node &Parent, const std::string &Child)
 Returns a command node relative to its parent (could return NULL).
icommand_nodeget_command_node (const std::string &Path)
 Returns a command node based on its absolute path (could return NULL).
idocumentget_document (icommand_node &Node)
 Returns the document (if any) that owns a command-node (could return NULL).
ipropertyget_end_time (idocument &Document)
 Returns the end time property for the given document (could return NULL).
bool get_file_path (const std::string &Type, const std::string &Prompt, const bool PromptOverwrite, const boost::filesystem::path &OldPath, boost::filesystem::path &Result)
 Convenience wrapper for calls to k3d::iuser_interface::get_file_path().
ipropertyget_frame_rate (idocument &Document)
 Returns the frame rate property for the given document (could return NULL).
boost::any get_internal_property_value (iunknown &Object, const std::string &Name)
 Returns the internal value of a property, regardless of any dependencies it may have.
iobjectget_object (icommand_node &Node)
 Returns the object (if any) that owns a command-node (could return NULL).
icommand_nodeget_parent (icommand_node &Node)
 Returns the parent command-node that owns the given command-node (note: the root node returns a reference to itself - don't use this function for walking the hierarchy!).
ipropertyget_property (iunknown &Object, const std::string &Name)
 Returns a property by name - could return NULL if a property with the given name isn't found (don't forget to check the property type!).
boost::any get_property_value (iunknown &Object, const std::string &Name)
 Returns the value of a property by name, transparently handling dependencies (such as channels, etc.) as needed.
boost::any get_property_value (idag &DAG, iproperty &Property)
 Returns the value of a property, transparently handling dependencies as needed.
ipropertyget_start_time (idocument &Document)
 Returns the start time property for the given document (could return NULL).
ipropertyget_time (idocument &Document)
 Returns the time property for the given document (could return NULL).
template<typename value_t>
ipropertyget_typed_property (iunknown &Object, const std::string &Name)
 Returns a property with the given name and type (could return NULL, if no match is found).
void getline (std::istream &Stream, std::string &LineBuffer)
 Extracts a line from a stream; handles Posix/DOS linebreaks.
void getline (std::istream &Stream, std::ostream &LineBuffer)
 Extracts a line from a stream; handles Posix/DOS linebreaks.
iunknownglGetName (GLuint *&Names)
void glLoadName (const iunknown *const Name)
void glPopName ()
void glPushName (const iunknown *const Name)
matrix3 identity2D ()
 Returns a two-dimensional identity matrix.
matrix4 identity3D ()
 Returns a three-dimensional identity matrix.
bool import_file (idocument &Document, igeometry_read_format &FormatFilter, const boost::filesystem::path &FilePath)
 Imports data into a document from a file.
std::ostream & info (std::ostream &)
 iostream manipulator that indicates an optional, informational message
template<typename data_t>
const initializer_t
< constraint_t< data_t > > 
init_constraint (iconstraint< data_t > *Constraint)
const initializer_t
< description_t > 
init_description (const char *const Description)
const initializer_t< document_t > init_document (idocument &Document)
const initializer_t
< enumeration_t > 
init_enumeration (const ienumeration_property::values_t &Values)
const initializer_t< name_t > init_name (const std::string &Name)
const initializer_t
< object_value_t > 
init_object_value (iobject *const Object)
const initializer_t< precision_t > init_precision (const unsigned int Precision)
const initializer_t
< step_increment_t > 
init_step_increment (const double StepIncrement)
const initializer_t< units_t > init_units (const std::type_info &Units)
template<typename data_t>
const initializer_t< value_t
< data_t > > 
init_value (const data_t &Value)
template<typename data_t>
const initializer_t< values_t
< data_t > > 
init_values (const data_t &Values)
template<typename container_t>
inserter_t< container_t > inserter (container_t &Container)
template<typename interface_t, typename functor_t>
struct interface_filter_t
< interface_t, functor_t > 
interface_filter (functor_t Functor)
 Utility function for creating interface_filter_t objects.
bool intersect_lines (const k3d::vector3 &P1, const k3d::vector3 &T1, const k3d::vector3 &P2, const k3d::vector3 &T2, k3d::vector3 &Result)
bool is_cyclic (idocument &Document, iproperty &Destination, iproperty *const Source)
 Returns true iff adding a dependency from the source property to the destination property would cause a cyclic dependency.
bool is_descendant (icommand_node &Parent, icommand_node &Descendant)
 Returns true iff Descendant is rooted at (or *is*) Parent.
bool is_solid (const polyhedron &Polyhedron)
 Returns true iff the given polyhedron is a solid volume (no holes!).
bool is_valid (const nupatch &Patch)
 Returns true iff the given NURBS patch contains valid data.
bool is_valid (const nucurve &Curve)
 Returns true iff the given NURBS curve contains valid data.
bool is_valid (const polyhedron &Polyhedron)
 Returns true iff the given polyhedron contains valid data.
bool IsInside (const vector2 Point, vector2Array Array)
 Tests to see if the point is "within" the area defined by the array of points.
void join_edges (split_edge &Edge1, split_edge &Edge2)
 Convenience function for setting two edges as companions.
ikeyboardkeyboard ()
 Provides singleton access to the global keyboard object.
bool LineIntersection (const vector2 &A1, const vector2 &A2, const vector2 &B1, const vector2 &B2, vector2 &Result)
 Calculates the intersection of two lines, specified by two contained points each.
line_segment_intersection_type LineSegmentIntersection (const vector2 &A1, const vector2 &A2, const vector2 &B1, const vector2 &B2)
 Determines whether two line segments intersect, and if so, how.
bool little_endian ()
 Returns true if the architecture is little endian.
void load_dag (idocument &Document, sdpxml::Element &XML)
 Deserializes document DAG information from an XML document.
template<typename container_t>
bool load_gtkml (sdpxml::Document &Document, const std::string &TemplateName, container_t &Target)
template<typename container_t>
bool load_gtkml (std::istream &Template, const std::string &TemplateName, container_t &Target)
 Given an input stream containing a GTKML template and an object deriving from sdpGtkObjectContainer, loads the template. Returns true on success, false on failure.
template<typename container_t>
bool load_gtkml (const boost::filesystem::path &Template, container_t &Target)
 Given the path to a GTKML template and an object deriving from sdpGtkObjectContainer, loads the template. Returns true on success, false on failure.
std::auto_ptr< sdpsl::shaderlookup_shader (const std::string ShaderName)
 Returns a shader by name (could return NULL).
template<typename IteratorType>
void loop_edges (IteratorType Begin, IteratorType End)
 Convenience function for joining a collection of edges into a closed loop.
template<typename container_t, typename value_t>
const container_t make_collection (const value_t &Value)
 Convenience function that returns a collection containing a single item.
const iselection::selection_t make_selection (iunknown &Object)
 Convenience function for turning a single selectable object into a selection set.
void message (const std::string &Message, const std::string &Title)
 Convenience wrapper for calls to k3d::iuser_interface::message().
template<typename ObjectType, typename ResultType>
method_call_t< ObjectType,
ResultType > 
method_call (ObjectType &Object, ResultType(ObjectType::*Method)())
template<class type>
type mix (const type &x, const type &y, const double alpha)
 Returns the linear interpolation of two values.
void mouse_to_camera_ray (k3dICamera &Camera, const vector2 MouseCoords, vector3 &RayDirection)
 Transform mouse coordinates to a normalized ray originating at the camera, within the camera's reference frame.
void mouse_to_world_ray (k3dICamera &Camera, const vector2 MouseCoords, vector3 &RayOrigin, vector3 &RayDirection)
 Transform mouse coordinates to a normalized ray originating at the camera, within the world reference frame.
double nanotime ()
 Retrieves current time in seconds using clock() for portable, but relatively inaccurate, timing.
const double noise (const vector3 &Pt)
const double noise (const double U, const double V)
const double noise (const double U)
vector3 normal (const face &Face)
 Calculates the normal for a face (returns a zero-length normal for degenerate cases).
vector3 normal (const split_edge *const Loop)
 Calculates the normal for an edge loop (returns a zero-length normal for degenerate cases).
vector3 normal_color (0.0, 0.0, 0.0)
template<typename T>
const T normalize (const T &Vector)
 Returns the normalized form of a vector ...
template<typename knots_t, typename weights_t, typename control_points_t>
void nurbs_arc (const k3d::vector3 &X, const k3d::vector3 &Y, const double StartAngle, const double EndAngle, const unsigned long Segments, knots_t &Knots, weights_t &Weights, control_points_t &ControlPoints)
const matrix4 object_to_object_matrix (iunknown &From, iunknown &To)
 Returns a complete, concatenated transformation matrix to transform from one object space to another. Uses identity matrices for non-transformable objects.
const matrix4 object_to_world_matrix (iunknown &Object)
 Returns a complete, concatenated, object-to-world transformation matrix for the given transformable object. Returns the identity matrix for non-transformable objects.
idocumentopen_document (const boost::filesystem::path &DocumentFile)
 Factory function that opens an existing document (could return NULL).
const key_modifiers operator & (const key_modifiers &LHS, const key_modifiers &RHS)
bool operator!= (const vector4 &a, const vector4 &b)
 Non-equality.
bool operator!= (const vector3 &a, const vector3 &b)
 Non-equality.
bool operator!= (const vector2 &a, const vector2 &b)
 Tests for non-equality.
bool operator!= (const angle_axis &a, const angle_axis &b)
 Non-equality test.
bool operator!= (const quaternion &q, const quaternion &r)
 Non-equality test.
bool operator!= (const matrix4 &a, const matrix4 &b)
 Non-equality.
bool operator!= (const matrix3 &a, const matrix3 &b)
 Non-equality.
double operator* (const vector4 &a, const vector4 &b)
 Returns the dot product of two vectors.
vector4 operator* (const double d, const vector4 &a)
 Multiplication by a constant.
vector4 operator* (const vector4 &a, const double d)
 Multiplication by a constant.
double operator* (const vector3 &a, const vector3 &b)
 Returns the dot product of two vectors.
vector3 operator* (const double d, const vector3 &a)
 Multiplication by a constant.
vector3 operator* (const vector3 &a, const double d)
 Multiplication by a constant.
double operator* (const vector2 &a, const vector2 &b)
 Returns the dot product of two vectors.
vector2 operator* (const double d, const vector2 &a)
 Multiplication by a constant.
vector2 operator* (const vector2 &a, const double d)
 Multiplication by a constant.
quaternion operator* (double f, const quaternion &q)
 Multiplication by a constant.
quaternion operator* (const quaternion &q, const double f)
 Multiplication by a constant.
quaternion operator* (const quaternion &q, const quaternion &r)
 Multiplication by a quaternion.
matrix4 operator* (const double d, const matrix4 &a)
 Multiplication by a constant.
matrix4 operator* (const matrix4 &a, const double d)
 Multiplication by a constant.
vector3 operator* (const matrix3 &a, const vector3 &v)
 Linear transformation.
matrix3 operator* (const double d, const matrix3 &a)
 Multiplication by a constant.
matrix3 operator* (const matrix3 &a, const double d)
 Multiplication by a constant.
matrix4 operator* (const matrix4 &a, const matrix4 &b)
 Matrix multiplication.
vector4 operator* (const vector4 &v, const matrix4 &a)
 Matrix multiplication.
vector4 operator* (const matrix4 &a, const vector4 &v)
 Matrix multiplication.
matrix3 operator* (const matrix3 &a, const matrix3 &b)
 Returns a matrix product.
vector3 operator* (const vector3 &v, const matrix4 &a)
 Matrix multiplication.
vector3 operator* (const matrix4 &a, const vector3 &v)
 Matrix multiplication.
vector2 operator* (const vector2 &v, const matrix3 &a)
 Multiplication by a matrix.
vector2 operator* (const matrix3 &a, const vector2 &v)
 Multiplication by a matrix.
vector4 operator+ (const vector4 &a, const vector4 &b)
 Addition.
vector3 operator+ (const vector3 &a, const vector3 &b)
 Addition.
vector2 operator+ (const vector2 &a, const vector2 &b)
 Addition.
template<typename lhs_t, typename rhs_t>
const initializer_t
< composition_t< lhs_t, rhs_t > > 
operator+ (const initializer_t< lhs_t > &LHS, const initializer_t< rhs_t > &RHS)
quaternion operator+ (const quaternion &q, const quaternion &r)
 Addition.
matrix4 operator+ (const matrix4 &a, const matrix4 &b)
 Addition.
matrix3 operator+ (const matrix3 &a, const matrix3 &b)
 Addition.
vector4 operator- (const vector4 &a, const vector4 &b)
 Subtraction.
vector4 operator- (const vector4 &v)
 Negation.
vector3 operator- (const vector3 &a, const vector3 &b)
 Subtraction.
vector3 operator- (const vector3 &v)
 Negation.
vector2 operator- (const vector2 &a, const vector2 &b)
 Subtraction.
vector2 operator- (const vector2 &v)
 Negation.
quaternion operator- (const quaternion &q)
quaternion operator- (const quaternion &q, const quaternion &r)
 Substraction.
quaternion operator- (quaternion &q)
 Negation.
matrix4 operator- (const matrix4 &a, const matrix4 &b)
 Subtraction.
matrix4 operator- (const matrix4 &a)
 Negation.
matrix3 operator- (const matrix3 &a, const matrix3 &b)
 Subtraction.
matrix3 operator- (const matrix3 &a)
 Negation.
vector4 operator/ (const vector4 &a, const double d)
 Division by a constant.
vector3 operator/ (const vector3 &a, const double d)
 Division by a constant.
vector2 operator/ (const vector2 &a, const double d)
 Division by a constant.
quaternion operator/ (const quaternion &q, const double f)
 Division by a constant.
quaternion operator/ (const quaternion &q, const quaternion &r)
 Division by a quaternion.
matrix4 operator/ (const matrix4 &a, const double d)
 Division by a constant.
matrix3 operator/ (const matrix3 &a, const double d)
 Division by a constant.
bool operator< (const k3d::vector3 &a, const k3d::vector3 &b)
bool operator< (const k3d::color &a, const k3d::color &b)
std::ostream & operator<< (std::ostream &Stream, const k3d::uuid &Value)
std::ostream & operator<< (std::ostream &Stream, const polyhedron::type_t &RHS)
std::ostream & operator<< (std::ostream &Stream, const k3d::key_modifiers &RHS)
std::ostream & operator<< (std::ostream &Stream, const plane &Arg)
 Output inserter.
std::ostream & operator<< (std::ostream &Stream, const rectangle &Arg)
 Output inserter.
std::ostream & operator<< (std::ostream &Stream, const bounding_box &RHS)
std::ostream & operator<< (std::ostream &Stream, const signed_axis &Value)
 Serialization.
std::ostream & operator<< (std::ostream &Stream, const axis &Value)
 Serialization.
std::ostream & operator<< (std::ostream &Stream, const euler_angles &Arg)
 Output inserter.
std::ostream & operator<< (std::ostream &Stream, const angle_axis &Arg)
 Output inserter.
std::ostream & operator<< (std::ostream &Stream, const quaternion &Arg)
 Output inserter.
std::ostream & operator<< (std::ostream &Stream, const matrix4 &Arg)
 Output inserter.
std::ostream & operator<< (std::ostream &Stream, const matrix3 &Arg)
 Output inserter.
bool operator== (const vector4 &a, const vector4 &b)
 Equality.
bool operator== (const vector3 &a, const vector3 &b)
 Equality.
bool operator== (const vector2 &a, const vector2 &b)
 Tests for equality.
bool operator== (const angle_axis &a, const angle_axis &b)
 Equality test.
bool operator== (const quaternion &q, const quaternion &r)
 Equality test.
bool operator== (const matrix4 &a, const matrix4 &b)
 Equality.
bool operator== (const matrix3 &a, const matrix3 &b)
 Equality.
std::istream & operator>> (std::istream &Stream, k3d::uuid &Value)
std::istream & operator>> (std::istream &Stream, polyhedron::type_t &RHS)
std::istream & operator>> (std::istream &Stream, k3d::key_modifiers &RHS)
std::istream & operator>> (std::istream &Stream, plane &Arg)
 Input extractor.
std::istream & operator>> (std::istream &Stream, rectangle &Arg)
 Input extractor.
std::istream & operator>> (std::istream &Stream, signed_axis &Value)
 Serialization.
std::istream & operator>> (std::istream &Stream, axis &Value)
 Serialization.
std::istream & operator>> (std::istream &Stream, euler_angles &Arg)
 Input extractor.
std::istream & operator>> (std::istream &Stream, angle_axis &Arg)
 Input extractor.
std::istream & operator>> (std::istream &Stream, quaternion &Arg)
 Input extractor.
std::istream & operator>> (std::istream &Stream, matrix4 &Arg)
 Input extractor.
std::istream & operator>> (std::istream &Stream, matrix3 &Arg)
 Input extractor.
vector3 operator^ (const vector3 &a, const vector3 &b)
 Returns the cross product of two vectors.
vector3 operator^ (const vector2 &a, const vector2 &b)
 Returns the cross product of two vectors.
const key_modifiers operator| (const key_modifiers &LHS, const key_modifiers &RHS)
matrix4 perspective3D (const double d)
 Returns a three-dimensional perspective matrix.
double pi ()
 Pi.
double pi_over_2 ()
 Pi divided-by two.
double pi_times_2 ()
 Pi times two.
bool PlaneLineIntersection (const plane &Plane, const vector3 LineOrigin, const vector3 LineDirection, vector3 &Result)
 Calculates the intersection of a plane with a line.
iplugin_factoryplugin (const uuid &ClassID)
 Returns the plugin that implements a specific class_id (could return NULL).
template<typename interface_t>
const factories_t plugins ()
 Returns the set of plugins that implement a specific interface type.
const
iplugin_factory_collection::factories_t 
plugins (const std::string PluginName)
 Returns the set of plugins that match the given plugin name (could potentially return more than one result - you should be prepared to handle this).
const boost::filesystem::path preferred_language_template (const boost::filesystem::path &Template)
 Given the path to a GTKML template, returns the path to a template written in the user's preferred language, if available. If not, returns the input path.
vector4 Product (const vector4 &a, const vector4 &b)
 Returns the element-by-element product of two vectors.
vector3 Product (const vector3 &a, const vector3 &b)
 Returns the term-by-term product of two vectors.
vector2 Product (const vector2 &a, const vector2 &b)
 Returns the term-by-term product of two vectors.
void push_opengl_matrix (const matrix4 &Matrix)
 Pushes a matrix onto the OpenGL matrix stack.
unsigned int query_message (const std::string &Message, const std::string &Title, const unsigned int DefaultButton, const std::vector< std::string > Buttons)
 Convenience wrapper for calls to k3d::iuser_interface::query_message().
template<class type>
type radians (const type &degrees)
 Converts degrees to radians.
iplugin_factoryrecognize_script_language (const std::string &Script)
 Attempts to determine which language a script is written in; could return 0 on failure.
void record_command (icommand_node &CommandNode, const icommand_node::command_t::type_t Type, const std::string &Command, const std::string &Arguments="")
 Records a command for use in a macro.
void register_application (k3d::iapplication &Application)
 Registers the global application object with the library - will throw if called more than once!
void release_mouse_focus (idocument &Document, iunknown &Object)
 Quietly releases mouse focus iff the provided object has it.
const std::string replace_all (const std::string &Search, const std::string &Replacement, const std::string &Source)
 Replaces all occurrences of the Search string within the Source string with the Replacement string.
const std::string right (const std::string &Text, std::string::size_type Count)
 Returns the rightmost N characters of the string.
matrix3 rotation2D (const vector2 &Center, const double Angle)
 Returns a two-dimensional rotation matrix.
matrix4 rotation3D (const matrix3 &m)
 Converts a 3x3 rotation matrix into 4x4.
quaternion rotation3D (const matrix4 &m)
 Returns a quaternion based on a three-dimensional rotation matrix.
matrix4 rotation3D (const quaternion &Quaternion)
 Returns a three-dimensional rotation matrix based on a quaternion.
matrix4 rotation3D (const vector3 &EulerAngles)
 Returns a three-dimensional rotation matrix based on a set of Euler angles.
matrix4 rotation3D (const angle_axis &AngleAxis)
 Returns a three-dimensional rotation matrix about an arbitrary axis.
matrix4 rotation3D (const double Angle, vector3 Axis)
 Returns a three-dimensional rotation matrix about an arbitrary axis.
double round (const double Value)
 Rounds a value to the closest integer.
void save_dag (idocument &Document, sdpxml::Element &XML)
 Serializes a document DAG to an XML document.
void save_state (std::ostream &Stream, const std::string &Serialized, const bool State, bool &AnySoFar)
template<typename source_t, typename destination_t>
void scale_bitmap (const source_t &Source, destination_t &Destination)
 Copies the source bitmap to the destination, scaling it to the destination dimensions.
matrix3 scaling2D (const vector2 &scaleVector)
 Returns a two-dimensional scaling matrix.
matrix4 scaling3D (const vector3 &scaleVector)
 Returns a three-dimensional scaling matrix.
template<class Type>
Type sdpMax (const Type &A, const Type &B)
 Returns the maximum of two values.
template<class Type>
Type sdpMin (const Type &A, const Type &B)
 Returns the minimum of two values.
void select (idocument &Document, const iselection::selection_t &Selection)
 Selects the given objects and notifies observers.
vector3 selected_color (1.0, 1.0, 1.0)
vector3 selector_color (0.215, 0.215, 0.8)
void set_dialog_template_path (const boost::filesystem::path &Path)
 Sets the root path to GTKML templates / external objects (such as pixmaps) ... note: must be called once-and-only-once, prior to any calls to dialog_template_path().
void set_mouse_focus (idocument &Document, iunknown &Object)
 Quietly attempts to set mouse focus for the provided object.
bool set_orientation (iunknown &Object, const angle_axis &Orientation)
 Sets an object's orientation (if possible).
bool set_position (iunknown &Object, const vector3 &Position)
 Sets an object's position (if possible).
bool set_property_value (iunknown &Object, const std::string Name, const boost::any &Value)
 Sets the value of a named property.
bool set_property_value (iproperty &Property, const boost::any &Value)
 Sets the value of a property.
bool set_scale (iunknown &Object, const vector3 &Scale)
 Sets an object's scale (if possible).
void set_tutorial_path (const boost::filesystem::path &Path)
 Sets the global path from which tutorials will be displayed.
matrix4 shearing3D (const double XY, const double XZ, const double YX, const double YZ, const double ZX, const double ZY)
void show_rename_object_dialog (iobject &Object)
 Creates a modeless dialog that can rename the given object.
template<class type>
double sign (const type &Arg)
 Returns the sign of an argument: -1 if negative, 0 if zero, +1 if positive.
const
ienumeration_property::values_t
signed_axis_values ()
 Returns descriptions of the allowed signed axis values, for use with enumeration properties.
quaternion Slerp (const quaternion &q1, const quaternion &q2, double t)
 Returns the spherical linear interpolation between two quaternions.
bool snap (idocument &Document, const double MaxDistance, const vector3 InputCoordinates, vector3 &SnapCoordinates, std::string &SnapDescription)
 "Snaps" a point against other snap targets in the document, returning true iff a snapped value was found
void start_state_change_set (idocument &Document)
 Convenience function that starts recording a state change set for undo/redo purposes.
template<typename type>
std::string string_cast (const type &RHS)
vector3 tangent_color (0.0, 0.0, 1.0)
template<class Type>
const std::string to_string (const Type &Value)
 Converts any stream-serializeable type into a string.
const vector2 transform_mouse_coordinates (k3dICamera &Camera, const vector2 MouseCoords, double Left, double Right, double Top, double Bottom, double scale)
 Transform mouse coordinates into some other reference frame with scaling.
const vector2 transform_mouse_coordinates (k3dICamera &Camera, const vector2 MouseCoords, double Left, double Right, double Top, double Bottom)
 Transform mouse coordinates into some other reference frame.
matrix3 translation2D (const vector2 &v)
 Returns a two-dimensional translation matrix.
matrix4 translation3D (const vector3 &v)
 Returns a three-dimensional translation matrix.
template<typename InputFaceIterator, typename OutputFaceIterator, typename OutputEdgeIterator, typename OutputPointIterator>
void triangulate (InputFaceIterator Begin, InputFaceIterator End, OutputFaceIterator OutputFaces, OutputEdgeIterator OutputEdges, OutputPointIterator OutputPoints)
 Decomposes a collection of faces into triangles.
const std::string trim (const std::string &Text)
 Trims whitespaces from both ends of the string.
const std::string trimleft (const std::string &Text)
 Trims beginning whitespaces from the string.
const std::string trimright (const std::string &Text)
 Trims trailing whitespaces from the string.
template<typename object_t>
void undoable_delete (object_t *const Object, k3d::idocument &Document)
 To make deletion of an object undoable / redoable, pass it to this function instead of calling operator delete.
template<typename object_t>
void undoable_new (object_t *const Object, k3d::idocument &Document)
 To make creation of an object undoable / redoable, pass it to this function after calling operator new.
const std::string unique_name (iobject_collection &Objects, const std::string &Name)
 Returns a unique object name based on the one supplied.
vector3 value_node_color (1.0, 1.0, 0.0)
vector4 vectorMax (const vector4 &a, const vector4 &b)
 Returns the element-by-element maximum of two vectors.
vector3 vectorMax (const vector3 &a, const vector3 &b)
 Returns the term-by-term maximum of two vectors.
vector2 vectorMax (const vector2 &a, const vector2 &b)
 Returns the term-by-term maximum of two vectors.
vector4 vectorMin (const vector4 &a, const vector4 &b)
 Returns the element-by-element minimum of two vectors.
vector3 vectorMin (const vector3 &a, const vector3 &b)
 Returns the term-by-term minimum of two vectors.
vector2 vectorMin (const vector2 &a, const vector2 &b)
 Returns the term-by-term minimum of two vectors.
const std::string version_string ()
 Returns the configured program version string (VERSION).
std::ostream & warning (std::ostream &)
 iostream manipulator that indicates possible invalid input or incorrect behavior - the current operation may not succeed
const vector3 world_position (iunknown &Object)
 Returns an object's position in world coordinates (returns the origin for non-transformable objects).
const matrix4 world_to_object_matrix (iunknown &Object)
 Returns a complete, concatenated, world-to-object transformation matrix for the given transformable object. Returns the identify matrix for non-transformable objects.

Variables

k3d::color background_color (0.8, 0.8, 0.8)
const std::string control_cursorx = "cursorx"
const std::string control_cycles = "cycles"
const std::string control_deleteselected = "deleteselected"
const std::string control_lbuttonclick = "lbuttonclick"
const std::string control_lbuttondoubleclick = "lbuttondoubleclick"
const std::string control_lbuttondown = "lbuttondown"
const std::string control_lbuttondrag = "lbuttondrag"
const std::string control_lbuttonenddrag = "lbuttonenddrag"
const std::string control_lbuttonstartdrag = "lbuttonstartdrag"
const std::string control_lrbuttondrag = "lrbuttondrag"
const std::string control_lrbuttonenddrag = "lrbuttonenddrag"
const std::string control_lrbuttonstartdrag = "lrbuttonstartdrag"
const std::string control_mbuttonclick = "mbuttonclick"
const std::string control_mbuttondoubleclick = "mbuttondoubleclick"
const std::string control_mbuttondrag = "mbuttondrag"
const std::string control_mbuttonenddrag = "mbuttonenddrag"
const std::string control_mbuttonstartdrag = "mbuttonstartdrag"
const std::string control_mirrorxchannel = "mirrorxchannel"
const std::string control_mirrorychannel = "mirrorychannel"
const std::string control_mousemove = "mousemove"
const std::string control_phase = "phase"
const std::string control_rbuttonclick = "rbuttonclick"
const std::string control_rbuttondoubleclick = "rbuttondoubleclick"
const std::string control_rbuttondrag = "rbuttondrag"
const std::string control_rbuttonenddrag = "rbuttonenddrag"
const std::string control_rbuttonstartdrag = "rbuttonstartdrag"
const std::string control_resetview = "resetview"
const std::string control_straightenchannel = "straightenchannel"
const std::string control_straightenselected = "straightenselected"
k3d::color current_time_color (0.0, 1.0, 0.0)
k3d::color cursor_color (1.0, 0.0, 0.0)
const k3d::rectangle frustum (-1, 1, 1,-1)
k3d::color normal_color (0.0, 0.0, 0.0)
k3d::color selected_color (1.0, 1.0, 1.0)
k3d::color selector_color (0.215, 0.215, 0.8)
k3d::color tangent_color (0.0, 0.0, 1.0)
k3d::color value_node_color (1.0, 1.0, 0.0)


Generated by  Doxygen 1.6.0   Back to index