# Home    # nevrax.com   
Nevrax
Nevrax.org
#News
#Mailing-list
#Documentation
#CVS
#Bugs
#License
Docs
 
Documentation  
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Search  

NL3D::CSegRemanence Class Reference

A segment (or a more complicated shape) that let a 'trace' when it is moved. More...

#include <seg_remanence.h>

Inheritance diagram for NL3D::CSegRemanence:

NL3D::CTransformShape NL3D::CTransform NL3D::IModel NL3D::ITransformable NLMISC::CRefCount NL3D::IAnimatable List of all members.

Public Types

enum  TAnimValues { OwnerBit = CTransformShape::AnimValueLast, AnimValueLast }
 Added values. More...


Public Methods

void render (IDriver *drv, CVertexBuffer &vb, CPrimitiveBlock &pb, CMaterial &mat)
void samplePos (float date)
void setupFromShape ()
 Setup from the shape (no effect if geometry described in the shape didn't change). More...

void setAnimatedMaterial (CAnimatedMaterial *mat)
 Set an animated material. More...

CAnimatedMaterialgetAnimatedMaterial () const
void registerToChannelMixer (CChannelMixer *chanMixer, const std::string &prefix)
 register transform channels (in global anim mode). More...

void clearAnimatedMatFlag ()
object
 CSegRemanence ()
 ~CSegRemanence ()
 CSegRemanence (CSegRemanence &other)
CSegRemanence & operator= (CSegRemanence &other)
From CTransformShape
virtual bool canStartStop ()
 Test if there is a start/stop caps in the objects (some fxs such as remanence). More...

virtual void start ()
virtual void stop ()
 Stop the fx and let it unroll. More...

virtual void stopNoUnroll ()
 Stop the fx with no unrolling. More...

virtual bool isStarted () const
bool isStopping () const
void restart ()

Static Public Methods

void registerBasic ()
 Call at the begining of the program, to register the model, and the basic observers. More...

IModelcreator ()
 to instanciate that model from a scene. More...


Private Types

typedef std::vector< CRibbonTRibbonVect

Private Methods

void updateOpacityFromShape ()
void copyFromOther (CSegRemanence &other)

Private Attributes

TRibbonVect _Ribbons
uint _NumSlice
uint _NumCorners
bool _Started
bool _Stopping
bool _Restarted
float _StartDate
float _CurrDate
float _UnrollRatio
CAnimatedMaterial_AniMat

Detailed Description

A segment (or a more complicated shape) that let a 'trace' when it is moved.

Can be used for fx of a sword stroke for example

Author:
Nicolas Vizerie , Nevrax France
Date:
2002

Definition at line 56 of file seg_remanence.h.


Member Typedef Documentation

typedef std::vector<CRibbon> NL3D::CSegRemanence::TRibbonVect [private]
 

Definition at line 137 of file seg_remanence.h.


Member Enumeration Documentation

enum NL3D::CSegRemanence::TAnimValues
 

Added values.

Enumeration values:
OwnerBit 
AnimValueLast 

Reimplemented from NL3D::ITransformable.

Definition at line 106 of file seg_remanence.h.


Constructor & Destructor Documentation

NL3D::CSegRemanence::CSegRemanence  
 

Definition at line 64 of file seg_remanence.cpp.

References AnimValueLast.

Referenced by creator.

NL3D::CSegRemanence::~CSegRemanence  
 

Definition at line 75 of file seg_remanence.cpp.

References _AniMat, NL3D::CTransform::_FatherSkeletonModel, and nlassert.

NL3D::CSegRemanence::CSegRemanence CSegRemanence &    other
 

Definition at line 89 of file seg_remanence.cpp.

References copyFromOther.


Member Function Documentation

virtual bool NL3D::CSegRemanence::canStartStop   [inline, virtual]
 

Test if there is a start/stop caps in the objects (some fxs such as remanence).

Reimplemented from NL3D::CTransformShape.

Definition at line 81 of file seg_remanence.h.

void NL3D::CSegRemanence::clearAnimatedMatFlag   [inline]
 

Definition at line 154 of file seg_remanence.h.

References OwnerBit.

void NL3D::CSegRemanence::copyFromOther CSegRemanence &    other [private]
 

Definition at line 106 of file seg_remanence.cpp.

References _AniMat, _CurrDate, _NumCorners, _NumSlice, _Restarted, _Ribbons, _StartDate, _Started, and _Stopping.

Referenced by CSegRemanence, and operator=.

IModel* NL3D::CSegRemanence::creator   [inline, static]
 

to instanciate that model from a scene.

Reimplemented from NL3D::CTransformShape.

Definition at line 69 of file seg_remanence.h.

References CSegRemanence, and NL3D::IModel::IModel.

CAnimatedMaterial* NL3D::CSegRemanence::getAnimatedMaterial   const [inline]
 

Definition at line 101 of file seg_remanence.h.

References _AniMat.

virtual bool NL3D::CSegRemanence::isStarted   const [inline, virtual]
 

Reimplemented from NL3D::CTransformShape.

Definition at line 89 of file seg_remanence.h.

References _Started.

bool NL3D::CSegRemanence::isStopping   const [inline]
 

Definition at line 91 of file seg_remanence.h.

References _Stopping.

CSegRemanence & NL3D::CSegRemanence::operator= CSegRemanence &    other
 

Definition at line 95 of file seg_remanence.cpp.

References copyFromOther, and NL3D::CTransformShape::CTransformShape.

void NL3D::CSegRemanence::registerBasic   [static]
 

Call at the begining of the program, to register the model, and the basic observers.

Reimplemented from NL3D::CTransformShape.

Definition at line 127 of file seg_remanence.cpp.

References NL3D::AnimDetailTravId, NL3D::SegRemanenceShapeId, and NL3D::TransformShapeId.

void NL3D::CSegRemanence::registerToChannelMixer CChannelMixer   chanMixer,
const std::string &    prefix
[virtual]
 

register transform channels (in global anim mode).

See also:
setChannelMixerOwnerShip

Reimplemented from NL3D::CTransform.

Definition at line 409 of file seg_remanence.cpp.

References _AniMat.

void NL3D::CSegRemanence::render IDriver   drv,
CVertexBuffer   vb,
CPrimitiveBlock   pb,
CMaterial   mat
 

Definition at line 136 of file seg_remanence.cpp.

References NL3D::CTransform::_HrcObs, _NumSlice, _Ribbons, _Started, _Stopping, _UnrollRatio, min, and NL3D::CTransformShape::Shape.

void NL3D::CSegRemanence::restart  
 

Definition at line 362 of file seg_remanence.cpp.

References _Restarted, _Started, _Stopping, _UnrollRatio, and NL3D::CTransformShape::Shape.

Referenced by start.

void NL3D::CSegRemanence::samplePos float    date
 

Definition at line 294 of file seg_remanence.cpp.

References _CurrDate, _Restarted, _Ribbons, _StartDate, NL3D::IModel::getObs, NL3D::HrcTravId, and NL3D::CTransformShape::Shape.

void NL3D::CSegRemanence::setAnimatedMaterial CAnimatedMaterial   mat
 

Set an animated material.

This is usually called by the 'shape' of this object at instanciation The material is owned by this object

Definition at line 400 of file seg_remanence.cpp.

References _AniMat, and OwnerBit.

void NL3D::CSegRemanence::setupFromShape  
 

Setup from the shape (no effect if geometry described in the shape didn't change).

Definition at line 252 of file seg_remanence.cpp.

References _NumCorners, _NumSlice, _Ribbons, NL3D::CTransformShape::Shape, and updateOpacityFromShape.

void NL3D::CSegRemanence::start   [virtual]
 

Reimplemented from NL3D::CTransformShape.

Definition at line 355 of file seg_remanence.cpp.

References _Started, _Stopping, and restart.

void NL3D::CSegRemanence::stop   [virtual]
 

Stop the fx and let it unroll.

Reimplemented from NL3D::CTransformShape.

Definition at line 379 of file seg_remanence.cpp.

References _Stopping.

void NL3D::CSegRemanence::stopNoUnroll   [virtual]
 

Stop the fx with no unrolling.

Definition at line 385 of file seg_remanence.cpp.

References _Restarted, _Started, and _Stopping.

void NL3D::CSegRemanence::updateOpacityFromShape   [private]
 

Definition at line 391 of file seg_remanence.cpp.

References NL3D::CTransform::setOpacity, NL3D::CTransform::setTransparency, and NL3D::CTransformShape::Shape.

Referenced by setupFromShape.


Member Data Documentation

CAnimatedMaterial* NL3D::CSegRemanence::_AniMat [private]
 

Definition at line 148 of file seg_remanence.h.

Referenced by copyFromOther, getAnimatedMaterial, registerToChannelMixer, setAnimatedMaterial, and ~CSegRemanence.

float NL3D::CSegRemanence::_CurrDate [private]
 

Definition at line 146 of file seg_remanence.h.

Referenced by copyFromOther, and samplePos.

uint NL3D::CSegRemanence::_NumCorners [private]
 

Definition at line 141 of file seg_remanence.h.

Referenced by copyFromOther, and setupFromShape.

uint NL3D::CSegRemanence::_NumSlice [private]
 

Definition at line 140 of file seg_remanence.h.

Referenced by copyFromOther, render, and setupFromShape.

bool NL3D::CSegRemanence::_Restarted [private]
 

Definition at line 144 of file seg_remanence.h.

Referenced by copyFromOther, restart, samplePos, and stopNoUnroll.

TRibbonVect NL3D::CSegRemanence::_Ribbons [private]
 

Definition at line 139 of file seg_remanence.h.

Referenced by copyFromOther, render, samplePos, and setupFromShape.

float NL3D::CSegRemanence::_StartDate [private]
 

Definition at line 145 of file seg_remanence.h.

Referenced by copyFromOther, and samplePos.

bool NL3D::CSegRemanence::_Started [private]
 

Definition at line 142 of file seg_remanence.h.

Referenced by copyFromOther, isStarted, render, restart, start, and stopNoUnroll.

bool NL3D::CSegRemanence::_Stopping [private]
 

Definition at line 143 of file seg_remanence.h.

Referenced by copyFromOther, isStopping, render, restart, start, stop, and stopNoUnroll.

float NL3D::CSegRemanence::_UnrollRatio [private]
 

Definition at line 147 of file seg_remanence.h.

Referenced by render, and restart.


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