OpenWalnut
1.5.0dev
|
OpenWalnut module that subdivides a triangle mesh in more points resulting a smoother surface. More...
#include <WMButterfly.h>
Public Member Functions | |
WMButterfly () | |
Creates the module for subdividing a triangle mesh using Butterfly subdivision. More... | |
virtual | ~WMButterfly () |
Destroys this module. More... | |
virtual const std::string | getName () const |
Gives back the name of this module. More... | |
virtual const std::string | getDescription () const |
Gives back a description of this module. More... | |
virtual std::shared_ptr< WModule > | factory () const |
Due to the prototype design pattern used to build modules, this method returns a new instance of this method. More... | |
virtual const char ** | getXPMIcon () const |
Get the icon for this module in XPM format. More... | |
Public Member Functions inherited from WModule | |
WModule () | |
Constructs a new WModule instance. More... | |
virtual | ~WModule () |
Destructor. More... | |
const InputConnectorList & | getInputConnectors () const |
Gives back input connectors. More... | |
std::shared_ptr< WModuleInputConnector > | getInputConnector (std::string name) |
Finds the named connector for the module. More... | |
std::shared_ptr< WModuleInputConnector > | findInputConnector (std::string name) |
Finds the named connector for the module. More... | |
const OutputConnectorList & | getOutputConnectors () const |
Gives back output connectors. More... | |
std::shared_ptr< WModuleOutputConnector > | getOutputConnector (std::string name) |
Finds the named connector for the module. More... | |
std::shared_ptr< WModuleOutputConnector > | findOutputConnector (std::string name) |
Finds the named connector for the module. More... | |
std::shared_ptr< WModuleConnector > | getConnector (std::string name) |
Finds the named connector for the module. More... | |
std::shared_ptr< WModuleConnector > | findConnector (std::string name) |
Finds the named connector for the module. More... | |
std::shared_ptr< WProperties > | getProperties () const |
Return a pointer to the properties object of the module. More... | |
std::shared_ptr< WProperties > | getInformationProperties () const |
Return a pointer to the information properties object of the module. More... | |
const WBoolFlag & | isInitialized () const |
Determines whether the module instance is properly initialized. More... | |
const WBoolFlag & | isUseable () const |
Checks whether the module instance is ready to be used. More... | |
const WBoolFlag & | isAssociated () const |
Checks whether this module is associated with an container. More... | |
const WBoolFlag & | isReady () const |
Checks whether this module is ready. More... | |
const WBoolFlag & | isReadyOrCrashed () const |
This is the logical or of isReady and isCrashed. More... | |
const WBoolFlag & | isRunning () const |
Returns a flag denoting whether the thread currently is running or nor. More... | |
void | waitRestored () |
This method waits for the module to be restored completely. More... | |
bool | isRestoreNeeded () const |
Check whether this module is in restore mode. More... | |
void | setRestoreNeeded (bool restore=true) |
Change the restore mode. More... | |
void | reportRestoreComplete () |
Called by loaders to tell the module that loading has been completed. More... | |
std::shared_ptr< WModuleContainer > | getAssociatedContainer () const |
The container this module is associated with. More... | |
virtual boost::signals2::connection | subscribeSignal (MODULE_SIGNAL signal, t_ModuleGenericSignalHandlerType notifier) |
Connects a specified notify function with a signal this module instance is offering. More... | |
virtual boost::signals2::connection | subscribeSignal (MODULE_SIGNAL signal, t_ModuleErrorSignalHandlerType notifier) |
Connects a specified notify function with a signal this module instance is offering. More... | |
virtual std::shared_ptr< WProgressCombiner > | getRootProgressCombiner () |
Gets the modules base progress. More... | |
virtual MODULE_TYPE | getType () const |
Gets the type of the module. More... | |
void | disconnect () |
Completely disconnects all connected connectors of this module. More... | |
WCombinerTypes::WDisconnectList | getPossibleDisconnections () |
Gives a list of all WDisconnectCombiners possible. More... | |
boost::filesystem::path | getLocalPath () const |
Returns the local path of the module. More... | |
boost::filesystem::path | getLibPath () const |
Returns the absolute path to the library containing this module. More... | |
std::string | getPackageName () const |
Returns the name of the package the module belongs to, The package name basically is the name of the library containing this and maybe other modules. More... | |
bool | isDeprecated () const |
Checks whether the module was marked as deprecated. More... | |
std::string | getDeprecationMessage () const |
Queries the deprecation message of a module if specified. More... | |
virtual WModuleMetaInformation::ConstSPtr | getMetaInformation () const |
The meta information of this module. More... | |
const std::string & | getUUID () const |
Get the UUID of the module instance. More... | |
WPropString | getRuntimeName () const |
Returns the name the user has given this module. More... | |
const WRequirement * | checkRequirements () const |
This method checks whether all the requirements of the module are complied. More... | |
virtual boost::signals2::connection | subscribeSignal (THREAD_SIGNAL signal, t_ThreadErrorSignalHandlerType notifier) |
Connects a specified notify function with a signal this thread instance is offering. More... | |
Public Member Functions inherited from WThreadedRunner | |
WThreadedRunner () | |
Default constructor. More... | |
virtual | ~WThreadedRunner () |
Destructor. More... | |
virtual void | run () |
Run thread. More... | |
void | run (THREADFUNCTION f) |
Run thread. More... | |
void | wait (bool requestFinish=false) |
Wait for the thread to be finished. More... | |
virtual void | requestStop () |
This method's purpose is to request a stop without waiting for it. More... | |
virtual boost::signals2::connection | subscribeSignal (THREAD_SIGNAL signal, t_ThreadErrorSignalHandlerType notifier) |
Connects a specified notify function with a signal this thread instance is offering. More... | |
const WBoolFlag & | isCrashed () const |
Checks whether this thread has been crashed. More... | |
const std::string & | getCrashMessage () const |
Get the message of the exception finally causing the crash. More... | |
void | setThreadName (std::string name) |
Set the name of the thread. More... | |
std::string | getThreadName () const |
Returns the current thread name. More... | |
Public Member Functions inherited from WPrototyped | |
WPrototyped () | |
Default constructor. More... | |
virtual | ~WPrototyped () |
Destructor. More... | |
template<typename T > | |
bool | isA () |
Checks whether the actual prototype has the specified runtime type. More... | |
Protected Member Functions | |
virtual void | moduleMain () |
Entry point after loading the module. More... | |
virtual void | connectors () |
Initialize the connectors this module is using. More... | |
virtual void | properties () |
Initialize the properties for this module. More... | |
virtual void | requirements () |
Initialize requirements for this module. More... | |
Protected Member Functions inherited from WModule | |
void | threadMain () |
Thread entry point. More... | |
virtual void | onThreadException (const WException &e) |
This method is called if an exception was caught, which came from the custom thread code. More... | |
void | setAssociatedContainer (std::shared_ptr< WModuleContainer > container) |
Sets the container this module is associated with. More... | |
virtual std::string | deprecated () const |
This function allows module programmers to mark their modules deprecated in a user-friendly way. More... | |
void | initialize () |
Manages initialization. More... | |
virtual void | cleanup () |
Called whenever the module should shutdown. More... | |
void | addConnector (std::shared_ptr< WModuleInputConnector > con) |
Adds the specified connector to the list of inputs. More... | |
void | addConnector (std::shared_ptr< WModuleOutputConnector > con) |
Adds the specified connector to the list of outputs. More... | |
void | removeConnectors () |
Removes all connectors properly. More... | |
virtual void | activate () |
Callback for m_active. More... | |
virtual const t_GenericSignalHandlerType | getSignalHandler (MODULE_CONNECTOR_SIGNAL signal) |
Gives the signal handler function responsible for a given signal. More... | |
virtual void | notifyConnectionEstablished (std::shared_ptr< WModuleConnector > here, std::shared_ptr< WModuleConnector > there) |
Gets called whenever a connector gets connected to the specified input. More... | |
virtual void | notifyConnectionClosed (std::shared_ptr< WModuleConnector > here, std::shared_ptr< WModuleConnector > there) |
Gets called whenever a connection between a remote and local connector gets closed. More... | |
virtual void | notifyDataChange (std::shared_ptr< WModuleConnector > input, std::shared_ptr< WModuleConnector > output) |
Gets called when the data on one input connector changed. More... | |
void | ready () |
Call this whenever your module is ready and can react on property changes. More... | |
wlog::WStreamedLogger | infoLog () const |
Logger instance for comfortable info logging. More... | |
wlog::WStreamedLogger | debugLog () const |
Logger instance for comfortable debug logging. More... | |
wlog::WStreamedLogger | warnLog () const |
Logger instance for comfortable warning- logs. More... | |
wlog::WStreamedLogger | errorLog () const |
Logger instance for comfortable error logging. More... | |
void | setLocalPath (boost::filesystem::path path) |
Sets the local module path. More... | |
void | setLibPath (boost::filesystem::path path) |
Set the path to the library which contains this module. More... | |
void | setPackageName (std::string name) |
Set the package name. More... | |
Protected Member Functions inherited from WThreadedRunner | |
virtual void | notifyStop () |
Gets called when the thread should be stopped. More... | |
void | yield () const |
Give remaining execution timeslice to another thread. More... | |
void | sleep (const int32_t t) const |
Sets thread asleep. More... | |
void | msleep (const int32_t t) const |
Sets thread asleep. More... | |
void | waitForStop () |
Let the thread sleep until a stop request was given. More... | |
void | handleDeadlyException (const WException &e, std::string sender="WThreadedRunner") |
Handle the specified exception which was not caught in the thread, which basically means the thread has crashed. More... | |
Private Member Functions | |
float | getMaxLineLength (std::shared_ptr< WTriangleMesh > inputMesh) |
Returns the biggest length of a neighbour relationship. More... | |
Private Attributes | |
std::shared_ptr< WModuleInputData< WTriangleMesh > > | m_input |
Input connector for scalar data. More... | |
std::shared_ptr< WModuleOutputData< WTriangleMesh > > | m_output |
Output connector provided by this module. More... | |
std::shared_ptr< WTriangleMesh > | m_oldInterpolatedMesh |
Holder for the current triangle mesh that grants that there's always a valid data output at the end. More... | |
osg::ref_ptr< WGEManagedGroupNode > | m_rootNode |
The OSG root node for this module. More... | |
std::shared_ptr< WCondition > | m_propCondition |
Needed for recreating the geometry, incase when resolution changes. More... | |
WPropDouble | m_butterflySettingW |
The general Butterfly Subdivision setting w that affects the subdivision. More... | |
WPropInt | m_iterations |
The iteration count of the Butterfly subdivision to attempt. More... | |
WPropDouble | m_maxTriangles10n |
Maximal allowed triangle count after Butterfly subdivision. More... | |
WPropInt | m_maxTriangles |
Maximal allowed triangle count after Butterfly subdivision. More... | |
WPropInt | m_cpuThreads |
CPU thread count setting for multithreading support. More... | |
WPropDouble | m_minTransformationAngle |
Angle setting which both angles at the subdivided line ends should be at least as big as this value. More... | |
WPropDouble | m_maxTransformationAngle |
Angle setting which both angles at the subdivided line ends should be not bigger than this value. More... | |
WPropDouble | m_minQuotient |
Maximum factor which the following lines should differ to show a valid subdivision. More... | |
WPropDouble | m_minAmountOfMax |
Factor for multiplying the maximal distance to a neighbour within the Butterfly stencil. More... | |
WPropDouble | m_minAmountOfAverage |
Factor for multiplying the average distance to a neighbour within the Butterfly stencil. More... | |
WPropDouble | m_minSubdividedLineLength |
The minimal subdividable line length. More... | |
WPropDouble | m_minSubdividedLineLengthMultiplierPerIteration |
The factor where the minimal subdivided line length is multiplied by in each Subdivision iteration step. More... | |
WPropDouble | m_minNeighbourTriangleAngle |
The Minimal allowed angle between two Subdivided line ends. More... | |
WPropDouble | m_maxNeighbourTriangleAngle |
A subdivision is marked as invalid if the angle between any neighbor triangle line is above that angle. More... | |
WPropDouble | m_maxNeighbourTriangleAngleLengthRatio |
This settings extends If the line length is smaller than the subdividable line by this ratio, then it won't be marked as invalid. More... | |
WPropDouble | m_maxAmountOfMaxForVertexJoin |
The Factor for comparison to the maximal length of a triangle. More... | |
WPropDouble | m_maxNeighbourTriangleAngleTriangleFlip |
The Minimal allowed angle which fits in both vertices at a subdividable line end. More... | |
std::shared_ptr< WTriangleMesh > | m_mesh |
Triangle mesh which will be assigned to the Butterfly subdivision instance. More... | |
butterfly::WButterflyFactory * | m_butterfly |
Butterfly subdivision instance. More... | |
Additional Inherited Members | |
Public Types inherited from WModule | |
typedef std::vector< std::shared_ptr< WModuleInputConnector > > | InputConnectorList |
The type for the list of input connectors. More... | |
typedef std::vector< std::shared_ptr< WModuleOutputConnector > > | OutputConnectorList |
The type for the list of output connectors. More... | |
typedef std::shared_ptr< WModule > | SPtr |
Shared pointer to a WModule. More... | |
typedef std::shared_ptr< const WModule > | ConstSPtr |
Shared pointer to a const WModule. More... | |
Public Types inherited from WThreadedRunner | |
typedef std::shared_ptr< WThreadedRunner > | SPtr |
Abbreviation to a shared_ptr to this type. More... | |
typedef std::shared_ptr< const WThreadedRunner > | ConstSPtr |
Abbreviation to a const shared_ptr to this type. More... | |
typedef boost::function< void(void) > | THREADFUNCTION |
Type used for simple thread functions. More... | |
Static Public Member Functions inherited from WModule | |
static SPtr | findByUUID (std::string uuid) |
Find a module instance by UUID. More... | |
Static Public Member Functions inherited from WThreadedRunner | |
static void | setThisThreadName (std::string name) |
Static function to set the name of the calling thread. More... | |
Protected Types inherited from WModule | |
typedef std::vector< WRequirement * > | Requirements |
The type of the requirement list. More... | |
Protected Attributes inherited from WModule | |
std::shared_ptr< WProperties > | m_properties |
The property object for the module. More... | |
std::shared_ptr< WProperties > | m_infoProperties |
The property object for the module containing only module whose purpose is "PV_PURPOSE_INFORMNATION". More... | |
std::shared_ptr< WProgressCombiner > | m_progress |
Progress indicator used as parent for all progress' of this module. More... | |
WBoolFlag | m_initialized |
True if everything is initialized and ready to be used. More... | |
WBoolFlag | m_isAssociated |
True if container got associated with this flag. More... | |
WBoolFlag | m_isUsable |
True if associated && initialized. More... | |
WBoolFlag | m_isReady |
True if ready() was called. More... | |
WBoolFlag | m_isReadyOrCrashed |
It is true whenever m_isReady or WThreadedRunner::m_isCrashed is true. More... | |
WBoolFlag | m_isRunning |
True if the module currently is running. More... | |
WBoolFlag | m_isLoadFinished |
Flag to denote whether the module container and the project loader have finished their work. More... | |
bool | m_restoreMode |
Flag denoting the current restore mode. More... | |
std::shared_ptr< WProgress > | m_readyProgress |
Progress indicator for the "ready" state. More... | |
WConditionSet | m_moduleState |
The internal state of the module. More... | |
std::shared_ptr< WModuleContainer > | m_container |
The container this module belongs to. More... | |
InputConnectorList | m_inputConnectors |
Set of input connectors associated with this module. More... | |
OutputConnectorList | m_outputConnectors |
Set of output connectors associated with this module. More... | |
WPropBool | m_active |
True whenever the module should be active. More... | |
WPropString | m_runtimeName |
This property holds a user specified name for the current module instance. More... | |
boost::filesystem::path | m_localPath |
The path where the module binary resides in. More... | |
boost::filesystem::path | m_libPath |
The absolute path to the library containing this module. More... | |
std::string | m_packageName |
The name of the lib/the package containing this module. More... | |
Requirements | m_requirements |
The list of requirements. More... | |
Protected Attributes inherited from WThreadedRunner | |
boost::thread | m_thread |
Thread instance. More... | |
WBoolFlag | m_shutdownFlag |
Condition getting fired whenever the thread should quit. More... | |
WBoolFlag | m_isCrashed |
True whenever an exception is thrown during threadMain. More... | |
std::string | m_crashMessage |
The crash message. More... | |
OpenWalnut module that subdivides a triangle mesh in more points resulting a smoother surface.
Plugin Version: 0.9.0, Release Candidate 1 Date: 2013/08/23 23:32
Definition at line 57 of file WMButterfly.h.
WMButterfly::WMButterfly | ( | ) |
Creates the module for subdividing a triangle mesh using Butterfly subdivision.
Definition at line 56 of file WMButterfly.cpp.
Referenced by factory().
|
virtual |
Destroys this module.
Definition at line 63 of file WMButterfly.cpp.
|
protectedvirtual |
Initialize the connectors this module is using.
Plugin connectors.
Reimplemented from WModule.
Definition at line 89 of file WMButterfly.cpp.
References WModule::addConnector(), WModule::connectors(), WModuleInputData< T >::createAndAdd(), m_input, and m_output.
|
virtual |
Due to the prototype design pattern used to build modules, this method returns a new instance of this method.
NOTE: it should never be initialized or modified in some other way. A simple new instance is required.
Implements WModule.
Definition at line 67 of file WMButterfly.cpp.
References WMButterfly().
|
virtual |
Gives back a description of this module.
Implements WPrototyped.
Definition at line 82 of file WMButterfly.cpp.
|
private |
Returns the biggest length of a neighbour relationship.
inputMesh | Triangle mesh to analyze. |
Definition at line 313 of file WMButterfly.cpp.
Referenced by moduleMain().
|
virtual |
Gives back the name of this module.
Implements WPrototyped.
Definition at line 77 of file WMButterfly.cpp.
|
virtual |
Get the icon for this module in XPM format.
Reimplemented from WModule.
Definition at line 72 of file WMButterfly.cpp.
|
protectedvirtual |
Entry point after loading the module.
Main method which directs the input WTriangleMesh to the Butterfly Subdivision filter and puts out the result.
Runs in separate thread.
Implements WModule.
Definition at line 238 of file WMButterfly.cpp.
References WConditionSet::add(), WKernel::getGraphicsEngine(), getMaxLineLength(), WKernel::getRunningKernel(), butterfly::WButterflyFactory::getSubdividedMesh(), butterfly::WButterflyFactory::getValidator(), WModule::m_active, m_butterfly, m_butterflySettingW, m_cpuThreads, m_input, m_iterations, m_maxAmountOfMaxForVertexJoin, m_maxNeighbourTriangleAngle, m_maxNeighbourTriangleAngleLengthRatio, m_maxNeighbourTriangleAngleTriangleFlip, m_maxTransformationAngle, m_maxTriangles, m_maxTriangles10n, m_mesh, m_minAmountOfAverage, m_minAmountOfMax, m_minNeighbourTriangleAngle, m_minQuotient, m_minSubdividedLineLength, m_minSubdividedLineLengthMultiplierPerIteration, m_minTransformationAngle, WModule::m_moduleState, m_oldInterpolatedMesh, m_output, m_propCondition, m_rootNode, WThreadedRunner::m_shutdownFlag, WModule::ready(), butterfly::WButterflyFactory::setButterflySettingW(), butterfly::WButterflyFactory::setCpuThreadCount(), butterfly::WButterflyFactory::setIterationsSettings(), butterfly::WSubdivisionValidator::setMaxAmountOfMaxForVertexJoin(), butterfly::WSubdivisionValidator::setMaxNeighbourTriangleAngle(), butterfly::WSubdivisionValidator::setMaxNeighbourTriangleAngleTriangleFlip(), butterfly::WSubdivisionValidator::setMaxTransformationAngle(), butterfly::WSubdivisionValidator::setMinAmountOfAverage(), butterfly::WSubdivisionValidator::setMinAmountOfMax(), butterfly::WSubdivisionValidator::setMinLenghtsQuotient(), butterfly::WSubdivisionValidator::setMinMeighbourTriangleAngle(), butterfly::WSubdivisionValidator::setMinSubdividedLineLength(), butterfly::WSubdivisionValidator::setMinSubdividedLineLengthMultiplierPerIteration(), butterfly::WSubdivisionValidator::setMinTransformationAngle(), WConditionSet::setResetable(), and WConditionSet::wait().
|
protectedvirtual |
Initialize the properties for this module.
Properties panel.
Reimplemented from WModule.
Definition at line 103 of file WMButterfly.cpp.
References m_butterflySettingW, m_cpuThreads, m_iterations, m_maxAmountOfMaxForVertexJoin, m_maxNeighbourTriangleAngle, m_maxNeighbourTriangleAngleLengthRatio, m_maxNeighbourTriangleAngleTriangleFlip, m_maxTransformationAngle, m_maxTriangles, m_maxTriangles10n, m_minAmountOfAverage, m_minAmountOfMax, m_minNeighbourTriangleAngle, m_minQuotient, m_minSubdividedLineLength, m_minSubdividedLineLengthMultiplierPerIteration, m_minTransformationAngle, m_propCondition, WModule::m_properties, and WModule::properties().
|
protectedvirtual |
Initialize requirements for this module.
Reimplemented from WModule.
Definition at line 231 of file WMButterfly.cpp.
|
private |
Butterfly subdivision instance.
Definition at line 264 of file WMButterfly.h.
Referenced by moduleMain().
|
private |
The general Butterfly Subdivision setting w that affects the subdivision.
See the algorithm documentation for the exact meaning. It's usually chosen substantially small. The original authors used 0.0.
Definition at line 152 of file WMButterfly.h.
Referenced by moduleMain(), and properties().
|
private |
CPU thread count setting for multithreading support.
Definition at line 174 of file WMButterfly.h.
Referenced by moduleMain(), and properties().
|
private |
Input connector for scalar data.
Definition at line 127 of file WMButterfly.h.
Referenced by connectors(), and moduleMain().
|
private |
The iteration count of the Butterfly subdivision to attempt.
Definition at line 157 of file WMButterfly.h.
Referenced by moduleMain(), and properties().
|
private |
The Factor for comparison to the maximal length of a triangle.
Lines smaller than this force a joint of the corresponding two vertices. The triangle falls finally away.
Definition at line 246 of file WMButterfly.h.
Referenced by moduleMain(), and properties().
|
private |
A subdivision is marked as invalid if the angle between any neighbor triangle line is above that angle.
Definition at line 233 of file WMButterfly.h.
Referenced by moduleMain(), and properties().
|
private |
This settings extends If the line length is smaller than the subdividable line by this ratio, then it won't be marked as invalid.
Definition at line 240 of file WMButterfly.h.
Referenced by moduleMain(), and properties().
|
private |
The Minimal allowed angle which fits in both vertices at a subdividable line end.
An existing triangle where both angles fit in forces it to rotate it with the other triangle connected with that vertices araund the four vertices of that two triangles. There is no application if the final state would be also invalid.
Definition at line 254 of file WMButterfly.h.
Referenced by moduleMain(), and properties().
|
private |
Angle setting which both angles at the subdivided line ends should be not bigger than this value.
The regarded triangle consists of the two subdivided line end points and the new vertex.
Definition at line 188 of file WMButterfly.h.
Referenced by moduleMain(), and properties().
|
private |
Maximal allowed triangle count after Butterfly subdivision.
Subdivision stops at last subdivision step exceeding that triangle count.
Definition at line 169 of file WMButterfly.h.
Referenced by moduleMain(), and properties().
|
private |
Maximal allowed triangle count after Butterfly subdivision.
Subdivision stops at last subdivision step exceeding that triangle count. Due to usability the scale is exponential by 10^n.
Definition at line 163 of file WMButterfly.h.
Referenced by moduleMain(), and properties().
|
private |
Triangle mesh which will be assigned to the Butterfly subdivision instance.
Definition at line 259 of file WMButterfly.h.
Referenced by moduleMain().
|
private |
Factor for multiplying the average distance to a neighbour within the Butterfly stencil.
Lines are not subdivided being smaller than the average distance multiplied by it.
Definition at line 207 of file WMButterfly.h.
Referenced by moduleMain(), and properties().
|
private |
Factor for multiplying the maximal distance to a neighbour within the Butterfly stencil.
Lines are not subdivided being smaller than this distance multiplied by it.
Definition at line 201 of file WMButterfly.h.
Referenced by moduleMain(), and properties().
|
private |
The Minimal allowed angle between two Subdivided line ends.
If the two points have a triangle where the angle is at least in one triangle cutting that vertices amaller than this so the coordinates will be interpolated between the mean of the two neighbors and its Butterfly subdivision used one, weighted using the minimal transformation angle.
Definition at line 227 of file WMButterfly.h.
Referenced by moduleMain(), and properties().
|
private |
Maximum factor which the following lines should differ to show a valid subdivision.
Both lines are measured from the new subdivided point and end at the ends of the subdivided line end.
Definition at line 195 of file WMButterfly.h.
Referenced by moduleMain(), and properties().
|
private |
The minimal subdividable line length.
Lines of smaller distance than this are not subdivided.
Definition at line 213 of file WMButterfly.h.
Referenced by moduleMain(), and properties().
|
private |
The factor where the minimal subdivided line length is multiplied by in each Subdivision iteration step.
Definition at line 219 of file WMButterfly.h.
Referenced by moduleMain(), and properties().
|
private |
Angle setting which both angles at the subdivided line ends should be at least as big as this value.
The regarded triangle consists of the two subdivided line end points and the new vertex.
Definition at line 181 of file WMButterfly.h.
Referenced by moduleMain(), and properties().
|
private |
Holder for the current triangle mesh that grants that there's always a valid data output at the end.
The old data is deleted after the new one is applied. Deleting a triangle mesh that is attached at the output connector makes some plugins crash.
Definition at line 135 of file WMButterfly.h.
Referenced by moduleMain().
|
private |
Output connector provided by this module.
Definition at line 128 of file WMButterfly.h.
Referenced by connectors(), and moduleMain().
|
private |
Needed for recreating the geometry, incase when resolution changes.
Definition at line 145 of file WMButterfly.h.
Referenced by moduleMain(), and properties().
|
private |
The OSG root node for this module.
All other geodes or OSG nodes will be attached on this single node.
Definition at line 140 of file WMButterfly.h.
Referenced by moduleMain().