Free Electron
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
fe::ext::CurvaceousOp Class Reference

Operator to interactively alter curves. More...

#include <CurvaceousOp.h>

Inheritance diagram for fe::ext::CurvaceousOp:
Inheritance graph
[legend]

Public Member Functions

void initialize (void)
 
virtual void handleBind (sp< SignalerI > a_spSignalerI, sp< Layout > a_spLayout)
 
virtual void handle (Record &a_rSignal)
 
- Public Member Functions inherited from fe::ext::OperatorState
void initialize (void)
 
virtual BWORD saveState (String &rBuffer)
 
virtual BWORD undo (String a_change, sp< Counted > a_spCounted)
 
virtual BWORD redo (String a_change, sp< Counted > a_spCounted)
 
- Public Member Functions inherited from fe::ext::OperatorSurfaceCommon
virtual void setPlugin (OperatorPlugin *a_pPlugin)
 
void dirty (BWORD a_aggressive)
 
void setSharingName (String a_name)
 
String sharingName (void)
 
void changeSharing (BWORD a_include)
 
void selectNode (String a_selectName)
 
void select (void)
 
BWORD interrupted (void)
 
Real startFrame (Record &a_rSignal)
 
Real endFrame (Record &a_rSignal)
 
Real currentFrame (Record &a_rSignal)
 
void setCurrentFrame (Record &a_rSignal, Real a_frame)
 
Real currentTime (Record &a_rSignal)
 
sp< ComponentsurfaceOutput (Record &a_rSignal)
 
void setSurfaceOutput (Record &a_rSignal, sp< Component > a_spComponent)
 
sp< ComponentoutputDraw (Record &a_rSignal)
 
sp< ComponentguideDraw (Record &a_rSignal)
 
sp< ComponentbrushDraw (Record &a_rSignal)
 
sp< ComponentbrushOverlayDraw (Record &a_rSignal)
 
SpatialTransform cameraTransform (Record &a_rSignal)
 
SpatialVector rayOrigin (Record &a_rSignal)
 
SpatialVector rayDirection (Record &a_rSignal)
 
BWORD accessDraw (sp< DrawI > &a_rspDraw, Record &a_rSignal, Message a_message=e_error)
 
BWORD accessGuide (sp< DrawI > &a_rspDraw, Record &a_rSignal, Message a_message=e_error)
 
BWORD accessBrush (sp< DrawI > &a_rspDraw, Record &a_rSignal, Message a_message=e_error)
 
BWORD accessBrushOverlay (sp< DrawI > &a_rspDraw, Record &a_rSignal, Message a_message=e_error)
 
BWORD accessOutput (sp< SurfaceAccessibleI > &a_rspAccessible, Record &a_rSignal, Message a_message=e_error)
 
BWORD accessOutput (sp< SurfaceAccessorI > &a_rspAccessor, Record &a_rSignal, Element a_element, Attribute a_attribute, Message a_message=e_error, Creation a_create=e_createMissing)
 
BWORD accessOutput (sp< SurfaceAccessorI > &a_rspAccessor, Record &a_rSignal, Element a_element, String a_attrName, Message a_message=e_error, Creation a_create=e_createMissing)
 
BWORD accessOutput (sp< SurfaceI > &a_rspSurface, Record &a_rSignal, String a_primitiveGroup, Message a_message=e_error, I32 a_subIndex=-1)
 
BWORD accessOutput (sp< SurfaceI > &a_rspSurface, Record &a_rSignal, Message a_message=e_error, I32 a_subIndex=-1)
 
virtual I32 discardPattern (sp< SurfaceAccessibleI > &a_spAccessible, Element a_element, String a_pattern)
 
virtual BWORD discard (sp< SurfaceAccessibleI > &a_spAccessible, Element a_element, String a_attrName)
 
virtual BWORD discard (sp< SurfaceAccessibleI > &a_spAccessible, Element a_element, Attribute a_attribute)
 
virtual I32 deleteElements (sp< SurfaceAccessibleI > &a_spAccessible, Element a_element, String a_groupString, BWORD a_retainGroups=FALSE)
 
virtual I32 deleteElements (sp< SurfaceAccessibleI > &a_spAccessible, Element a_element, std::set< I32 > &a_rIntSet, BWORD a_retainGroups=FALSE)
 
BWORD access (sp< SurfaceI > &a_rspSurface, sp< SurfaceAccessibleI > &a_rspAccessible, String a_primitiveGroup, Message a_message=e_error, I32 a_subIndex=-1)
 
BWORD access (sp< SurfaceI > &a_rspSurface, sp< SurfaceAccessibleI > &a_rspAccessible, Message a_message=e_error, I32 a_subIndex=-1)
 
BWORD access (sp< SurfaceI > &a_rspSurface, String a_key, String a_primitiveGroup, Message a_message=e_error, I32 a_subIndex=-1)
 
BWORD access (sp< SurfaceI > &a_rspSurface, String a_key, Message a_message=e_error, I32 a_subIndex=-1)
 
BWORD access (sp< SurfaceAccessibleI > &a_rspAccessible, String a_key, Message a_message=e_error)
 
BWORD access (sp< SurfaceAccessorI > &a_rspAccessor, sp< SurfaceAccessibleI > &a_rspAccessible, String a_nodeName, Element a_element, Attribute a_attribute, Message a_message=e_error, Creation a_create=e_createMissing)
 
BWORD access (sp< SurfaceAccessorI > &a_rspAccessor, sp< SurfaceAccessibleI > &a_rspAccessible, String a_nodeName, Element a_element, String a_attrName, Message a_message=e_error, Creation a_create=e_createMissing)
 
BWORD access (sp< SurfaceAccessorI > &a_rspAccessor, sp< SurfaceAccessibleI > &a_rspAccessible, Element a_element, Attribute a_attribute, Message a_message=e_error, Creation a_create=e_createMissing)
 
BWORD access (sp< SurfaceAccessorI > &a_rspAccessor, sp< SurfaceAccessibleI > &a_rspAccessible, Element a_element, String a_attrName, Message a_message=e_error, Creation a_create=e_createMissing)
 
BWORD access (sp< SurfaceAccessorI > &a_rspAccessor, String a_key, Element a_element, Attribute a_attribute, Message a_message=e_error)
 
BWORD access (sp< SurfaceAccessorI > &a_rspAccessor, String a_key, Element a_element, String a_attrName, Message a_message=e_error)
 
BWORD isOutput (sp< SurfaceAccessibleI > &a_rspAccessible)
 
void setOutput (sp< SurfaceAccessibleI > &a_rspAccessible)
 
String generateSignature (sp< SurfaceAccessibleI > &a_rspAccessibleI)
 
- Public Member Functions inherited from fe::ext::OperateCommon
Record windowEvent (Record &a_rSignal)
 
- Public Member Functions inherited from fe::Catalog
sp< CatalogcatalogShallowCopy (void)
 Returns a mirror of the catalog. More...
 
sp< CatalogcatalogDeepCopy (void)
 Returns a duplicate of the catalog. More...
 
U32 catalogSize (void) const
 Returns the number of name keys. More...
 
String catalogKey (U32 index) const
 Returns a key by ordered index. More...
 
void catalogKeys (Array< String > &a_keys, String a_pattern=".*") const
 Returns keys in order of creation. More...
 
void catalogProperties (String a_name, Array< String > &a_properties) const
 Returns properties for a key. More...
 
BWORD cataloged (String a_name, String a_property="value") const
 Returns TRUE if the given property for the given name has been created. More...
 
BWORD catalogedAny (String a_name) const
 Returns TRUE if any property for the given name has been created. More...
 
void catalogClear (void)
 Remove all entries. More...
 
void catalogOverlay (sp< Catalog > a_spOtherCatalog, Array< String > *a_pTypeList=NULL, BWORD a_shallow=FALSE)
 Duplicates entries from another catalog. More...
 
sp< ComponentcatalogComponent (String implementation, String a_name, String a_property="value")
 Returns a component entry of the given property for the given name. More...
 
sp< ComponentcatalogComponent (sp< Component > a_spComponent, String a_name, String a_property="value")
 Returns a component entry of the given property for the given name. More...
 
InstancecatalogInstance (Instance &instance, String a_name, String a_property="value")
 Returns the literal Instance of the given property for the given name. More...
 
InstancecatalogInstance (String a_name, String a_property="value")
 Returns the literal Instance of the given property for the given name. More...
 
const fe_type_info & catalogTypeInfo (String a_name, String a_property="value") const
 Returns the type_info of the given property for the given name. More...
 
const String catalogTypeName (String a_name, String a_property="value") const
 Returns the type name of the given property, determined by the TypeMaster. More...
 
template<class T >
BWORD catalogTypeIs (String a_name, String a_property="value") const
 Returns TRUE if given catalog entry match the template type. More...
 
template<class T >
T & catalog (String a_name, String a_property="value")
 Returns existing catalog entry if already set or a default if not. More...
 
template<class T >
T & catalog (String a_name, String a_property, const T &a_default)
 Returns existing catalog entry if already set or default if not. More...
 
template<class T >
const T & catalogOrDefault (String a_name, String a_property, const T &a_default) const
 Returns existing catalog entry if already set or default if not. More...
 
template<class T >
const T & catalogOrDefault (String a_name, const T &a_default) const
 
String catalogValue (String a_name, String a_property="value") const
 Returns existing catalog entry, converted to a String. More...
 
I32 catalogBytes (String a_name, String a_property, Array< U8 > &a_rByteArray) const
 Converts a catalog entry, into raw binary. More...
 
BWORD catalogSet (String a_name, String a_property, String a_value)
 Sets the value for a catalog entry, converted to the existing type, from a given String. More...
 
BWORD catalogSet (String a_name, String a_value)
 
BWORD catalogSet (String a_name, String a_property, String a_type, String a_value, Instance **a_ppInstance=NULL)
 Sets the value for a catalog entry, converted to the existing type, from a given String. More...
 
BWORD catalogSet (String a_name, String a_property, String a_type, const U8 *a_pRawBytes, I32 a_byteCount, Instance **a_ppInstance=NULL)
 Sets the value for a catalog entry, using a raw byte block. More...
 
template<class T >
T & catalogOrException (String a_name, String a_property) const
 Returns an existing catalog entry, if it exists. More...
 
bool catalogLookup (const String a_name, String a_property, Instance &a_instance) const
 Gets the Instance of an existing catalog entry, if it exists. More...
 
bool catalogLookup (const String a_name, Instance &a_instance) const
 
void catalogMoveToEnd (String a_name)
 Move all properties for name to bottom. More...
 
void catalogRemove (String a_name)
 Remove all properties for a name. More...
 
void catalogRemove (String a_name, String a_property)
 Remove one property for a name. More...
 
void catalogDump (void) const
 Print a description of the catalog to the log. More...
 
sp< TypeMastertypeMaster (void) const
 
- Public Member Functions inherited from fe::Component
const Stringname (void) const
 Return the components chosen name. More...
 
const String verboseName (void) const
 Return the annotated chosen name. More...
 
void setName (const String &name)
 Rename the component to anything you want. More...
 
hp< Registryregistry (void) const
 Get the Registry that created this component. More...
 
void adjoin (sp< Component > spComponent)
 Tie this component's lifetime to another. More...
 
sp< Componentcreate (const String &implementation, BWORD quiet=FALSE) const
 Convienience function to registry()->create() More...
 
void disjoin (void)
 Untie component from Hub, if connected. More...
 
String factoryName (void)
 
void setLibrary (sp< Library > spLibrary)
 Store a reference to the library used to instantiate this component. More...
 
sp< Librarylibrary (void)
 Get the library that created the component. More...
 
void setFactoryIndex (I32 a_factoryIndex)
 Set the library's factory index. More...
 
I32 factoryIndex (void)
 Get the library's factory index. More...
 
void setSingleton (BWORD set)
 Specify whether component is a singleton. More...
 
BWORD isSingleton (void)
 Return whether component is a singleton. More...
 
virtual void acquire (void)
 Specialized reference increment. More...
 
virtual void release (void)
 Specialized reference decrement. More...
 
- Public Member Functions inherited from fe::Handled< Component >
const hp< Component > & getHandle (void) const
 Get a safe handle to this object. More...
 
- Public Member Functions inherited from fe::Protectable
virtual I32 protection (void) const
 
virtual void protect (void)
 
virtual void unprotect (void)
 
virtual Protectableclone (Protectable *pInstance=NULL)
 
- Public Member Functions inherited from fe::Counted
virtual void acquire (int &rCount)
 Increment the reference count (and get the count) More...
 
virtual void abandon (void)
 Decrement the reference count. More...
 
int count (void) const
 Return the count of references. More...
 
void setName (const String &)
 
void trackReference (void *pReference, String what)
 
void untrackReference (void *pReference)
 
void registerRegion (void *pT, U32 bytes)
 
- Public Member Functions inherited from fe::Initialized
void initializeAll (void)
 
void setActive (bool a_active)
 
- Public Member Functions inherited from fe::ext::HandlerI
virtual void handleSignal (Record &signal, sp< SignalerI > spSignalerI)
 

Protected Member Functions

virtual void setupState (void)
 
virtual BWORD loadState (const String &rBuffer)
 
- Protected Member Functions inherited from fe::ext::OperatorState
virtual BWORD anticipate (String a_change, sp< Counted > a_spCounted)
 
virtual BWORD resolve (String a_change, sp< Counted > a_spCounted)
 
BWORD pickToggle (I32 a_elementId)
 
Real picked (I32 a_elementId)
 
void pick (I32 a_primitiveId, I32 a_subIndex, Real a_weight)
 
void pick (I32 a_elementId, Real a_weight)
 
void updateIds (void)
 
I32 lookupIndex (I32 a_id)
 
I32 lookupId (I32 a_elementIndex)
 
- Protected Member Functions inherited from fe::ext::OperatorSurfaceCommon
BWORD determineNeighborhood (sp< SurfaceAccessibleI > &a_rspAccessible, Array< std::set< I32 > > &a_rPointFaces, Array< std::set< I32 > > &a_rPointNeighbors)
 
sp< CatalogduplicateCatalog (void)
 
virtual BWORD anticipate (String a_change)
 
virtual BWORD resolve (String a_change)
 
virtual BWORD resolve (void)
 
virtual BWORD chronicle (String a_change, sp< Counted > a_spOldCounted, sp< Counted > a_spNewCounted)
 
virtual BWORD chronicle (String a_change)
 
- Protected Member Functions inherited from fe::Handled< Component >
void abandonHandle (void)
 
- Protected Member Functions inherited from fe::Counted
int releaseInternal (void)
 Decrement the reference count. More...
 
void suppressReport (void)
 
- Protected Member Functions inherited from fe::Initialized
void addInitializer (InitializeFunction function)
 

Private Member Functions

void movePicked (const SpatialVector &a_rDelta)
 
void combPicked (const SpatialVector &a_rTarget, const SpatialVector &a_rDelta)
 

Private Attributes

sp< OperatorSurfaceIm_spLengthCorrect
 
sp< SurfaceIm_spOutput
 
sp< SurfaceIm_spDriver
 
sp< SurfaceAccessorIm_spInputIds
 
sp< SurfaceAccessorIm_spInputPoint
 
sp< SurfaceAccessorIm_spInputColor
 
sp< SurfaceAccessorIm_spInputRadius
 
sp< SurfaceAccessorIm_spOutputPoint
 
sp< SurfaceAccessorIm_spInputVertices
 
sp< SurfaceAccessorIm_spOutputVertices
 
sp< SurfaceAccessorIm_spOutputNormal
 
WindowEvent m_event
 
sp< DrawModem_spSolid
 
sp< DrawModem_spWideLine [5]
 
sp< RecordMap< I32 > > m_spEditMap
 
Accessor< SpatialVectorm_aOffset
 
Real m_frame
 
Real m_lastFrame
 
BWORD m_brushed
 
BWORD m_dragging
 
I32 m_pickId
 
I32 m_pickVertex
 
Real m_pickU
 
Real m_pickDistance
 
I32 m_lastX
 
I32 m_lastY
 

Additional Inherited Members

- Public Types inherited from fe::ext::OperatorSurfaceCommon
enum  Element {
  e_point =SurfaceAccessibleI::e_point,
  e_pointGroup =SurfaceAccessibleI::e_pointGroup,
  e_vertex =SurfaceAccessibleI::e_vertex,
  e_primitive =SurfaceAccessibleI::e_primitive,
  e_primitiveGroup =SurfaceAccessibleI::e_primitiveGroup,
  e_detail =SurfaceAccessibleI::e_detail
}
 
enum  Attribute {
  e_generic =SurfaceAccessibleI::e_generic,
  e_position =SurfaceAccessibleI::e_position,
  e_normal =SurfaceAccessibleI::e_normal,
  e_uv =SurfaceAccessibleI::e_uv,
  e_color =SurfaceAccessibleI::e_color,
  e_vertices =SurfaceAccessibleI::e_vertices,
  e_properties =SurfaceAccessibleI::e_properties
}
 
enum  Properties {
  e_openCurve =SurfaceAccessibleI::e_openCurve,
  e_countU =SurfaceAccessibleI::e_countU,
  e_countV =SurfaceAccessibleI::e_countV,
  e_wrappedU =SurfaceAccessibleI::e_wrappedU,
  e_wrappedV =SurfaceAccessibleI::e_wrappedV,
  e_depth =SurfaceAccessibleI::e_depth
}
 
enum  Message {
  e_quiet =SurfaceAccessibleI::e_quiet,
  e_warning =SurfaceAccessibleI::e_warning,
  e_error =SurfaceAccessibleI::e_error
}
 
enum  Creation {
  e_refuseMissing =SurfaceAccessibleI::e_refuseMissing,
  e_createMissing =SurfaceAccessibleI::e_createMissing
}
 
enum  AtomicChange {
  e_pointsOnly,
  e_pointsOfPrimitives,
  e_primitivesOnly,
  e_primitivesWithPoints
}
 
- Public Types inherited from fe::ext::OperateCommon
enum  CurveMode {
  e_null,
  e_lines,
  e_panels,
  e_cylinders,
  e_tube
}
 
- Static Public Member Functions inherited from fe::ext::OperatorSurfaceCommon
static String elementText (Element a_element)
 
static String elementText (SurfaceAccessibleI::Element a_element)
 
static String attributeText (Attribute a_attribute)
 
static String attributeText (SurfaceAccessibleI::Attribute a_attribute)
 
- Static Public Member Functions inherited from fe::ext::OperateCommon
static void drawLabel (sp< DrawI > a_spDrawI, const SpatialVector &a_location, String a_label, BWORD a_centered, U32 a_margin, const Color a_textColor, const Color *a_pBorderColor, const Color *a_pBackground)
 
static void drawIndicator (sp< DrawI > a_spDrawI, Box2i &a_box, BWORD a_vertical, BWORD a_reverse, Real a_value, Real a_loopValue, Real a_grain, I32 a_precision, I32 a_minChars, I32 a_maxChars, Real a_multiplication, const Color *a_pBrightColor, const Color *a_pDimColor, const Color *a_pBackground, const Color *a_pOdometerBG)
 
static void drawOdometer (sp< DrawI > a_spDrawI, SpatialVector a_location, Real a_value, I32 a_precision, I32 a_minChars, I32 a_maxChars, BWORD a_centered, U32 a_margin, const Color a_textColor, const Color *a_pBorderColor, const Color *a_pBackground)
 
static void drawPicker (sp< DrawI > a_spDrawI, const SpatialVector &a_point, const SpatialVector &a_up, const SpatialVector &a_normal, Real a_scale, I32 a_depth, const Color *a_pColor)
 
static void drawImpact (sp< DrawI > a_spDrawI, sp< SurfaceTriangles::Impact > a_spTriImpact, Real a_inset, const Color *a_pColor)
 
static void drawInsetTriangle (sp< DrawI > a_spDrawI, const SpatialVector &a_vertex0, const SpatialVector &a_vertex1, const SpatialVector &a_vertex2, Real a_inset, const Color *a_pColor)
 
static void highlightCurve (sp< ViewI > a_spView, sp< DrawI > a_spDraw, sp< SurfaceAccessorI > a_spVertices, I32 a_primitiveIndex, I32 a_vertexIndex, const Color *a_pLineColor, const Color *a_pPointColor, const Color *a_pPointHighlight)
 
static void drawDot (sp< ViewI > a_spView, sp< DrawI > a_spDraw, SpatialVector a_point, Real a_radius, const Color a_color)
 
static void drawSquare (sp< DrawI > &a_rspDraw, const SpatialVector &a_rPoint, Real a_rimSize, BWORD a_bevel, const Color &a_rColorCenter, const Color &a_rColorRim, const Color *a_pColorShadow, const Color *a_pColorSparkle)
 
static void drawTube (sp< DrawI > &a_rspDraw, const SpatialVector *a_point, const SpatialVector *a_normal, const Real *a_radius, U32 a_pointCount, CurveMode a_curveMode, BWORD a_multicolor, const Color *a_color, const SpatialVector &a_rTowardCamera)
 
static void drawTubeAxes (sp< DrawI > &a_rspDraw, const SpatialTransform &a_transform, Real a_scale, Real a_alpha, const Array< Real > &a_profile, CurveMode a_curveMode)
 
static void drawAnchor (sp< DrawI > &a_rspDraw, SpatialTransform a_transform, Real a_scale, U32 a_resolution, Color a_color)
 
static void drawCrossSection (sp< DrawI > &a_rspDraw, SpatialVector a_p0, SpatialVector a_p1, SpatialVector a_p2, SpatialVector a_planeCenter, SpatialVector a_planeNormal, Color a_color)
 
static void drawCrossSection (sp< DrawI > &a_rspDraw, sp< SurfaceAccessorI > a_spVertices, SpatialVector a_planeCenter, SpatialVector a_planeNormal, Color a_color)
 
static void drawOutline (sp< DrawI > a_spDrawI, sp< SurfaceAccessibleI > a_spSurfaceAccessibleI, String a_partAttr, String a_partName, SpatialVector a_cameraPos, Color a_color)
 
static void createEdges (sp< SurfaceAccessibleI > a_spSurfaceAccessibleI, String a_partAttr, std::map< U64, Edge > &a_rEdgeMap)
 
static void drawOutline (sp< DrawI > a_spDrawI, std::map< U64, Edge > &a_rEdgeMap, String a_partName, SpatialVector a_cameraPos, Color a_color)
 
static I32 nearestPointIndex (const sp< SurfaceAccessorI > a_spPrimitiveVertices, sp< SurfaceCurves::Impact > &a_rspCurveImpact)
 
static I32 nearestTriVertexIndex (sp< SurfaceTriangles::Impact > &a_rspTriImpact)
 
static I32 nearestPointIndex (sp< SurfaceTriangles::Impact > &a_rspTriImpact)
 
static SpatialVector nearestVertexPoint (sp< SurfaceTriangles::Impact > &a_rspTriImpact)
 
static Real nearestPointAlongCurve (const SpatialVector a_point, const sp< SurfaceAccessorI > a_spPrimitiveVertices, const I32 a_primitiveIndex)
 
static Real fractionAtLength (const sp< SurfaceAccessorI > a_spPrimitiveVertices, const I32 a_primitiveIndex, Real a_length)
 
static Real lengthAtFraction (const sp< SurfaceAccessorI > a_spPrimitiveVertices, const I32 a_primitiveIndex, Real a_fraction)
 
static SpatialVector evaluateAtFraction (const sp< SurfaceAccessorI > a_spPrimitiveVertices, const I32 a_primitiveIndex, Real a_fraction, U32 a_derivitive)
 
static Real flameProfile (Real a_peakOffset, Real a_fraction)
 
- Static Public Member Functions inherited from fe::Counted
static String reportTracker (void)
 
static U32 trackerCount (void)
 
- Protected Types inherited from fe::Initialized
typedef void(* InitializeFunction) (Initialized *)
 
- Protected Attributes inherited from fe::ext::OperatorState
sp< Scopem_spScope
 
sp< RecordGroupm_spState
 
Accessor< I32 > m_aIndex
 
Array< Pick > m_pickArray
 
- Protected Attributes inherited from fe::ext::OperatorSurfaceCommon
sp< SurfaceAccessibleI::ThreadingState > m_spThreadingState
 

Detailed Description

Operator to interactively alter curves.


The documentation for this class was generated from the following files: