Simulacrum  1.2
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Friends | List of all members
Simulacrum::SSlicer Class Reference

#include <slicer.h>

Inheritance diagram for Simulacrum::SSlicer:
Inheritance graph
Collaboration diagram for Simulacrum::SSlicer:
Collaboration graph

Public Types

typedef std::function< void(SSlicer *, const SCoordinate::Precision xx, const SCoordinate::Precision yy, const SPoint &, const SVector &, unsigned, SElem &, SElem &)> linereduction_t
 
- Public Types inherited from Simulacrum::SConnectable
typedef unsigned ssignal_t
 
typedef bool sdepth_t
 

Public Member Functions

 SSlicer ()
 
 SSlicer (SSpace &)
 
 SSlicer (const SSlicer &)
 
virtual ~SSlicer ()
 
virtual SSpace * New () override
 
bool resize (const SCoordinate &) override
 
SElem::DataSource SElemData (const SCoordinate &) override
 
SElem::DataSource SElemData_Passive (const SCoordinate &) override
 
void SElemInto (const SCoordinate &, SElem &target) override
 
SElem::Ptr getNativeSElem () override
 
SElem * getNativeSElemP () override
 
void setNativeSElemType (SElem *) override
 
virtual SElemSet & selemDataStore () override
 
virtual std::vector< DataContext * > & selemDataContexts () override
 
const SCoordinate & extent () const override
 
void reset () override
 
virtual bool sconnect (SConnectable &) override
 
virtual bool sdisconnect (SConnectable &) override
 
virtual void sconfigure (const std::string &) override
 
virtual SCoordinate toSourceCoords (const SCoordinate &) const override
 
virtual bool fromSourceCoords (const SCoordinate &sourcecoord, SCoordinate &localcoord) const override
 
bool isOnSlice (const SVector &sourcepos) const
 
void setPlane (const SPoint &orig, const SVector &xvec, const SVector &yvec)
 
SPlane getPlane () const
 
SVector getXAxis () const
 
SVector getYAxis () const
 
void setThickness (unsigned)
 
void setReductionFunction (linereduction_t)
 
unsigned thickness () const
 
float thicknessSpacing () const
 
void sliceForwards ()
 
void sliceBackwards ()
 
void setFrontSlice ()
 
unsigned slice () const
 
unsigned depth () const
 
bool setSlice (unsigned)
 
SCoordinate coordinateSuffix () const
 
void setCoordinateSuffix (const SCoordinate &)
 
virtual void refresh (SConnectable::sdepth_t) override
 
SSpace & getSourceSSpace () override
 
void copyInto (SSpace &, bool withimagedata=true) override
 
void get2DRGBAInto (SSpace &target, unsigned short downsample=0, bool mergecontexts=true, float opacity=0.3, SCoordinate *cropb=nullptr, SCoordinate *crope=nullptr, SCoordinate::Precision zoffet=-1) override
 
void lock () override
 
bool try_lock () override
 
void unlock () override
 
void wait () override
 
bool sliceable ()
 
void MaxIPGrey (const SCoordinate::Precision xx, const SCoordinate::Precision yy, const SPoint &, const SVector &, unsigned, SElem &, SElem &)
 
void MinIPGrey (const SCoordinate::Precision xx, const SCoordinate::Precision yy, const SPoint &, const SVector &, unsigned, SElem &, SElem &)
 
void AVGIPGrey (const SCoordinate::Precision xx, const SCoordinate::Precision yy, const SPoint &, const SVector &, unsigned, SElem &, SElem &)
 
void FirstOverGrey (const SCoordinate::Precision xx, const SCoordinate::Precision yy, const SPoint &, const SVector &, unsigned, SElem &, SElem &, SElem::Precision, bool, SPoint &)
 
SPtr< SSpaceIterator > getFastNativeIterator () override
 
SSpaceIterator * getFastNativeIteratorP () override
 
virtual const SVector & spacing () const override
 
virtual void setSpacing (const SVector &) override
 
virtual std::string spacingUnits (long long int index=0) const override
 
virtual void setSpacingUnits (const std::string &, long long int index=0) override
 
virtual NNode & informationNode () override
 
virtual void setName (const std::string &) override
 
virtual const std::string & getName () const override
 
virtual GPLUT & LUT () override
 
virtual void setActiveContext (CONTEXTS_t) override
 
virtual CONTEXTS_t activeContext () const override
 
virtual CONTEXTS_t contexts () const override
 
virtual CONTEXTS_t newContext () override
 
virtual void removeContext (CONTEXTS_t) override
 
virtual SVector toGlobalSpace (const SVector &) override
 
virtual SVector fromGlobalSpace (const SVector &) override
 
virtual void setToGlobalSpaceFunction (std::function< SVector(SSpace *, const SVector &)>) override
 
virtual void setFromGlobalSpaceFunction (std::function< SVector(SSpace *, const SVector &)>) override
 
virtual std::string globalSpaceID () const override
 
virtual void setGlobalSpaceID (const std::string &) override
 
virtual std::string vectorMeaning (const SVector &, bool strict=true) const override
 
virtual SVector meaningVector (const std::string &) const override
 
virtual void assignVectorMeaning (const SVector &, const std::string &) override
 
virtual void resetMeaningVectors () override
 
- Public Member Functions inherited from Simulacrum::SSpace
 SSpace ()
 
 SSpace (const SCoordinate &)
 
 SSpace (SSpace &)
 
 SSpace (const SSpace &)
 
virtual ~SSpace ()
 
virtual SElemSet::Size calcIndex (const SCoordinate &) const
 
virtual int concatenate (std::vector< SSpace * > &)
 
virtual SSpace & operator= (SSpace &)
 
virtual SSpace & operator= (const SSpace &)
 
virtual SElem::DataSource operator[] (const SCoordinate &)
 
virtual void lockNativeSElemType (bool)
 
virtual bool nativeSElemTypeLocked ()
 
const SCoordinate * extentP () const
 
bool reinterpretExtent (const SCoordinate &)
 
virtual void promoteExtent ()
 
GPLUT * LUTP ()
 
SElemSet * selemDataStoreP ()
 
std::vector< DataContext * > * selemDataContextsP ()
 
virtual void applyLUT ()
 
void autoLUT (int percentile=90, long long int width=-1, long long int center=-1, const std::vector< std::pair< float, float > > *histogram=nullptr)
 
virtual bool postLoadConfig ()
 
NNode * informationNodeP ()
 
const SVector * spacingP () const
 
- Public Member Functions inherited from Simulacrum::SConnectable
 SConnectable ()
 
virtual ~SConnectable ()
 
void emitRefresh (sdepth_t)
 
virtual void signal (ssignal_t, void *=nullptr)
 
void emitSignal (ssignal_t, void *=nullptr)
 
virtual void progress (int)
 
virtual bool sconnect (SConnectable &, bool delondiscon)
 
virtual void disconnectSources ()
 
virtual void disconnectListeners ()
 
virtual void disconnectListeners_Refresh ()
 
virtual bool isConnected (SConnectable &) const
 
virtual bool isConnected (SConnectable *) const
 
virtual SConnectable & end ()
 
virtual SConnectable & penum ()
 
virtual SConnectable & pred ()
 
virtual SConnectable & succ ()
 
virtual void deleteOnDisconnect (bool)
 
virtual bool deleteOnDisconnect ()
 
const std::map< std::string, double > & parameters ()
 
const std::map< std::string, std::string > & properties ()
 
bool hasProperty (const std::string &) const
 
bool hasParameter (const std::string &) const
 
void setProperty (const std::string &, const std::string &)
 
void setParameter (const std::string &, double)
 
std::string getProperty (const std::string &) const
 
double getParameter (const std::string &) const
 
- Public Member Functions inherited from Simulacrum::SLockable
virtual void refIncr ()
 
virtual void refDecr ()
 
virtual int refCount ()
 
 SLockable ()
 
 SLockable (const SLockable &)
 
virtual ~SLockable ()
 

Static Public Member Functions

static SElem::Precision triLinearInterpolateIntensity (SSpace &source, const SVector &coords)
 

Protected Member Functions

void getRGBAScanlinesInto (SSpace *target, SCoordinate::Precision startrow, SCoordinate::Precision endrow, SCoordinate::Precision width, unsigned short step, bool mergecontexts, float opacity, SCoordinate::Precision startcol=0, SCoordinate::Precision endcol=0, SCoordinate::Precision=0) override
 
- Protected Member Functions inherited from Simulacrum::SConnectable
virtual bool addListener (SConnectable &)
 
virtual bool removeListener (SConnectable &)
 
virtual bool addTarget (SConnectable &)
 
virtual bool removeTarget (SConnectable &)
 

Friends

class SSliceIteratorNativeFast
 

Member Typedef Documentation

◆ linereduction_t

typedef std::function<void(SSlicer*, const SCoordinate::Precision xx, const SCoordinate::Precision yy, const SPoint&,const SVector&, unsigned, SElem&,SElem&)> Simulacrum::SSlicer::linereduction_t

Constructor & Destructor Documentation

◆ SSlicer() [1/3]

SSlicer::SSlicer ( )

◆ SSlicer() [2/3]

SSlicer::SSlicer ( SSpace &  source)

◆ SSlicer() [3/3]

SSlicer::SSlicer ( const SSlicer &  target)

◆ ~SSlicer()

SSlicer::~SSlicer ( )
virtual

Member Function Documentation

◆ activeContext()

CONTEXTS_t SSlicer::activeContext ( ) const
overridevirtual

Reimplemented from Simulacrum::SSpace.

◆ assignVectorMeaning()

void SSlicer::assignVectorMeaning ( const SVector &  ,
const std::string &   
)
overridevirtual

Reimplemented from Simulacrum::SSpace.

◆ AVGIPGrey()

void SSlicer::AVGIPGrey ( const SCoordinate::Precision  xx,
const SCoordinate::Precision  yy,
const SPoint &  sourcep,
const SVector &  dir,
unsigned  depth,
SElem &  sourcepox,
SElem &  targetpox 
)

◆ contexts()

CONTEXTS_t SSlicer::contexts ( ) const
overridevirtual

Reimplemented from Simulacrum::SSpace.

◆ coordinateSuffix()

SCoordinate SSlicer::coordinateSuffix ( ) const

◆ copyInto()

void SSlicer::copyInto ( SSpace &  target,
bool  withimagedata = true 
)
overridevirtual

Reimplemented from Simulacrum::SSpace.

◆ depth()

unsigned SSlicer::depth ( ) const

◆ extent()

const SCoordinate & SSlicer::extent ( ) const
overridevirtual

Reimplemented from Simulacrum::SSpace.

◆ FirstOverGrey()

void SSlicer::FirstOverGrey ( const SCoordinate::Precision  xx,
const SCoordinate::Precision  yy,
const SPoint &  sourcep,
const SVector &  dir,
unsigned  depth,
SElem &  sourcepox,
SElem &  targetpox,
SElem::Precision  zerolevel,
bool  doshade,
SPoint &  lightsrc 
)

◆ fromGlobalSpace()

SVector SSlicer::fromGlobalSpace ( const SVector &  srccoord)
overridevirtual

Reimplemented from Simulacrum::SSpace.

◆ fromSourceCoords()

bool SSlicer::fromSourceCoords ( const SCoordinate &  sourcecoord,
SCoordinate &  localcoord 
) const
overridevirtual

Reimplemented from Simulacrum::SSpace.

◆ get2DRGBAInto()

void SSlicer::get2DRGBAInto ( SSpace &  target,
unsigned short  downsample = 0,
bool  mergecontexts = true,
float  opacity = 0.3,
SCoordinate *  cropb = nullptr,
SCoordinate *  crope = nullptr,
SCoordinate::Precision  zoffet = -1 
)
overridevirtual

Reimplemented from Simulacrum::SSpace.

◆ getFastNativeIterator()

SPtr< SSpaceIterator > SSlicer::getFastNativeIterator ( )
overridevirtual

Reimplemented from Simulacrum::SSpace.

◆ getFastNativeIteratorP()

SSpaceIterator * SSlicer::getFastNativeIteratorP ( )
overridevirtual

Reimplemented from Simulacrum::SSpace.

◆ getName()

const std::string & SSlicer::getName ( ) const
overridevirtual

Reimplemented from Simulacrum::SConnectable.

◆ getNativeSElem()

SElem::Ptr SSlicer::getNativeSElem ( )
overridevirtual

Reimplemented from Simulacrum::SSpace.

◆ getNativeSElemP()

SElem * SSlicer::getNativeSElemP ( )
overridevirtual

Reimplemented from Simulacrum::SSpace.

◆ getPlane()

SPlane SSlicer::getPlane ( ) const

◆ getRGBAScanlinesInto()

void SSlicer::getRGBAScanlinesInto ( SSpace *  target,
SCoordinate::Precision  startrow,
SCoordinate::Precision  endrow,
SCoordinate::Precision  width,
unsigned short  step,
bool  mergecontexts,
float  opacity,
SCoordinate::Precision  startcol = 0,
SCoordinate::Precision  endcol = 0,
SCoordinate::Precision  = 0 
)
overrideprotectedvirtual

Reimplemented from Simulacrum::SSpace.

◆ getSourceSSpace()

SSpace & SSlicer::getSourceSSpace ( )
overridevirtual

Reimplemented from Simulacrum::SSpace.

◆ getXAxis()

SVector SSlicer::getXAxis ( ) const

◆ getYAxis()

SVector SSlicer::getYAxis ( ) const

◆ globalSpaceID()

std::string SSlicer::globalSpaceID ( ) const
overridevirtual

Reimplemented from Simulacrum::SSpace.

◆ informationNode()

NNode & SSlicer::informationNode ( )
overridevirtual

Reimplemented from Simulacrum::SSpace.

◆ isOnSlice()

bool SSlicer::isOnSlice ( const SVector &  sourcepos) const

◆ lock()

void SSlicer::lock ( )
overridevirtual

Reimplemented from Simulacrum::SLockable.

◆ LUT()

GPLUT & SSlicer::LUT ( )
overridevirtual

Reimplemented from Simulacrum::SSpace.

◆ MaxIPGrey()

void SSlicer::MaxIPGrey ( const SCoordinate::Precision  xx,
const SCoordinate::Precision  yy,
const SPoint &  sourcep,
const SVector &  dir,
unsigned  depth,
SElem &  sourcepox,
SElem &  targetpox 
)

◆ meaningVector()

SVector SSlicer::meaningVector ( const std::string &  meaning) const
overridevirtual

Reimplemented from Simulacrum::SSpace.

◆ MinIPGrey()

void SSlicer::MinIPGrey ( const SCoordinate::Precision  xx,
const SCoordinate::Precision  yy,
const SPoint &  sourcep,
const SVector &  dir,
unsigned  depth,
SElem &  sourcepox,
SElem &  targetpox 
)

◆ New()

SSpace * SSlicer::New ( )
overridevirtual

Reimplemented from Simulacrum::SSpace.

◆ newContext()

CONTEXTS_t SSlicer::newContext ( )
overridevirtual

Reimplemented from Simulacrum::SSpace.

◆ refresh()

void SSlicer::refresh ( SConnectable::sdepth_t  deep)
overridevirtual

Reimplemented from Simulacrum::SConnectable.

◆ removeContext()

void SSlicer::removeContext ( CONTEXTS_t  removecon)
overridevirtual

Reimplemented from Simulacrum::SSpace.

◆ reset()

void SSlicer::reset ( )
overridevirtual

Reimplemented from Simulacrum::SSpace.

◆ resetMeaningVectors()

void SSlicer::resetMeaningVectors ( )
overridevirtual

Reimplemented from Simulacrum::SSpace.

◆ resize()

bool SSlicer::resize ( const SCoordinate &  targsize)
overridevirtual

Reimplemented from Simulacrum::SSpace.

◆ sconfigure()

void SSlicer::sconfigure ( const std::string &  configtr)
overridevirtual

Reimplemented from Simulacrum::SConnectable.

◆ sconnect()

bool SSlicer::sconnect ( SConnectable &  targ)
overridevirtual

Reimplemented from Simulacrum::SConnectable.

◆ sdisconnect()

bool SSlicer::sdisconnect ( SConnectable &  targ)
overridevirtual

Reimplemented from Simulacrum::SConnectable.

◆ SElemData()

SElem::DataSource SSlicer::SElemData ( const SCoordinate &  reqcoord)
overridevirtual

Reimplemented from Simulacrum::SSpace.

◆ SElemData_Passive()

SElem::DataSource SSlicer::SElemData_Passive ( const SCoordinate &  reqcoord)
overridevirtual

Reimplemented from Simulacrum::SSpace.

◆ selemDataContexts()

std::vector< DataContext * > & SSlicer::selemDataContexts ( )
overridevirtual

Reimplemented from Simulacrum::SSpace.

◆ selemDataStore()

SElemSet & SSlicer::selemDataStore ( )
overridevirtual

Reimplemented from Simulacrum::SSpace.

◆ SElemInto()

void SSlicer::SElemInto ( const SCoordinate &  reqcoord,
SElem &  target 
)
overridevirtual

Reimplemented from Simulacrum::SSpace.

◆ setActiveContext()

void SSlicer::setActiveContext ( CONTEXTS_t  ncon)
overridevirtual

Reimplemented from Simulacrum::SSpace.

◆ setCoordinateSuffix()

void SSlicer::setCoordinateSuffix ( const SCoordinate &  newsuff)

◆ setFromGlobalSpaceFunction()

void SSlicer::setFromGlobalSpaceFunction ( std::function< SVector(SSpace *, const SVector &)>  )
overridevirtual

Reimplemented from Simulacrum::SSpace.

◆ setFrontSlice()

void SSlicer::setFrontSlice ( )

◆ setGlobalSpaceID()

void SSlicer::setGlobalSpaceID ( const std::string &  )
overridevirtual

Reimplemented from Simulacrum::SSpace.

◆ setName()

void SSlicer::setName ( const std::string &  nname)
overridevirtual

Reimplemented from Simulacrum::SConnectable.

◆ setNativeSElemType()

void SSlicer::setNativeSElemType ( SElem *  newpox)
overridevirtual

Reimplemented from Simulacrum::SSpace.

◆ setPlane()

void SSlicer::setPlane ( const SPoint &  orig,
const SVector &  xvec,
const SVector &  yvec 
)

◆ setReductionFunction()

void SSlicer::setReductionFunction ( linereduction_t  newredfunc)

◆ setSlice()

bool SSlicer::setSlice ( unsigned  nslice)

◆ setSpacing()

void SSlicer::setSpacing ( const SVector &  )
overridevirtual

Reimplemented from Simulacrum::SSpace.

◆ setSpacingUnits()

void SSlicer::setSpacingUnits ( const std::string &  ,
long long int  index = 0 
)
overridevirtual

Reimplemented from Simulacrum::SSpace.

◆ setThickness()

void SSlicer::setThickness ( unsigned  nthickness)

◆ setToGlobalSpaceFunction()

void SSlicer::setToGlobalSpaceFunction ( std::function< SVector(SSpace *, const SVector &)>  )
overridevirtual

Reimplemented from Simulacrum::SSpace.

◆ slice()

unsigned SSlicer::slice ( ) const

◆ sliceable()

bool SSlicer::sliceable ( )

◆ sliceBackwards()

void SSlicer::sliceBackwards ( )

◆ sliceForwards()

void SSlicer::sliceForwards ( )

◆ spacing()

const SVector & SSlicer::spacing ( ) const
overridevirtual

Reimplemented from Simulacrum::SSpace.

◆ spacingUnits()

std::string SSlicer::spacingUnits ( long long int  index = 0) const
overridevirtual

Reimplemented from Simulacrum::SSpace.

◆ thickness()

unsigned SSlicer::thickness ( ) const

◆ thicknessSpacing()

float SSlicer::thicknessSpacing ( ) const

◆ toGlobalSpace()

SVector SSlicer::toGlobalSpace ( const SVector &  srccoord)
overridevirtual

Reimplemented from Simulacrum::SSpace.

◆ toSourceCoords()

SCoordinate SSlicer::toSourceCoords ( const SCoordinate &  reqcoord) const
overridevirtual

Reimplemented from Simulacrum::SSpace.

◆ triLinearInterpolateIntensity()

SElem::Precision SSlicer::triLinearInterpolateIntensity ( SSpace &  source,
const SVector &  coords 
)
static

◆ try_lock()

bool SSlicer::try_lock ( )
overridevirtual

Reimplemented from Simulacrum::SLockable.

◆ unlock()

void SSlicer::unlock ( )
overridevirtual

Reimplemented from Simulacrum::SLockable.

◆ vectorMeaning()

std::string SSlicer::vectorMeaning ( const SVector &  avect,
bool  strict = true 
) const
overridevirtual

Reimplemented from Simulacrum::SSpace.

◆ wait()

void SSlicer::wait ( )
overridevirtual

Reimplemented from Simulacrum::SLockable.

Friends And Related Function Documentation

◆ SSliceIteratorNativeFast

friend class SSliceIteratorNativeFast
friend

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