Eigene Dateien/9.Semester/Visualisierung/LU/Volume_Renderer_dec05v2/Volume Renderer/ColorTransfer.cpp File Reference

#include "stdafx.h"
#include "ColorTransfer.h"
#include "find_roots.hpp"
#include <complex>

Functions

static void setColor (int aLowerMark, int anUpperMark)
static void setOpacity (int aLowerMark, int anUpperMark)
static void setSplineColors ()
static void setLinearColors ()
static void setSplineOpacity ()
static Float_Color getSplineInterpolatedColor (int aPosition)
static float getSplineInterpolatedOpacity (int aPosition)
static double getIntensityAtSplineTravelPosition (double aPos, int aBeforePrevNode, int aPrevNode, int aNextNode, int anAfterNextNode)
void ColorTransfer::init ()
void ColorTransfer::end ()
RGBAColor ColorTransfer::getIntensity (int anIntensity)
void ColorTransfer::removeColorMarker (int anIntensity)
void ColorTransfer::removeOpacityMarker (int anIntensity)
void ColorTransfer::addMarker (int anIntensity, Float_Color aColor)
void ColorTransfer::addMarker (int anIntensity, float anOpacity)
std::map< int, Float_Color > * ColorTransfer::getColorTransferPt ()
std::map< int, float > * ColorTransfer::getOpacityTransferPt ()
void ColorTransfer::useSpline (bool useSplines)
bool ColorTransfer::splineIsUsed ()
void ColorTransfer::useExactAlgorithm (bool useIt)

Variables

static std::map< int, Float_ColortheColorTransfer
static std::map< int, float > theOpacityTransfer
static RGBAColortheColors = NULL
static bool useSplineInterpolation = false
static bool useIntensitySearchPerStepSize = true
static int theAllowedIterations = 1000
 maximum iteration length for spline - intensity position search
static int theIterationNoToReduceStepSize = 25
 reduce the step legth (for intensity search) beginning at this iteration

Function Documentation

static double getIntensityAtSplineTravelPosition ( double  aPos,
int  aBeforePrevNode,
int  aPrevNode,
int  aNextNode,
int  anAfterNextNode 
) [static]

calculates the intensity at a given position using a catmull-rom spline

Parameters:
aPos the relative position between the two nodes
aBeforePrevNode the node before the previous node
aPrevNode the previous node
aNextNode the next node
anAfterNextNode the node after the next node
Returns:
the intensity at the given position

static Float_Color getSplineInterpolatedColor ( int  aPosition  )  [static]

calculates the color at a given intensity using a catmull-rom spline

Parameters:
aPosition the intinsity value to calculate the color for
Returns:
the computed color

static float getSplineInterpolatedOpacity ( int  aPosition  )  [static]

calculates the opacity at a given intensity using a catmull-rom spline

Parameters:
aPosition the intinsity value to calculate the opacity for
Returns:
the computed opacity

static void setColor ( int  aLowerMark,
int  anUpperMark 
) [static]

linearly computes all color values between given intensity values

Parameters:
aLowerMark the lower intensity value
anUpperMark the higher intensity value

static void setLinearColors (  )  [static]

computes all color values using linear interpolation

static void setOpacity ( int  aLowerMark,
int  anUpperMark 
) [static]

linearly computes all opacity values between given intensity values

Parameters:
aLowerMark the lower intensity value
anUpperMark the higher intensity value

static void setSplineColors (  )  [static]

computes all color values using catmull-rom splines

static void setSplineOpacity (  )  [static]


Variable Documentation

int theAllowedIterations = 1000 [static]

maximum iteration length for spline - intensity position search

RGBAColor* theColors = NULL [static]

std::map<int, Float_Color> theColorTransfer [static]

int theIterationNoToReduceStepSize = 25 [static]

reduce the step legth (for intensity search) beginning at this iteration

std::map<int, float> theOpacityTransfer [static]

bool useIntensitySearchPerStepSize = true [static]

bool useSplineInterpolation = false [static]


Generated on Wed Dec 6 11:27:26 2006 by  doxygen 1.4.7