Documentation


animal::octree::SFVec3fCellConstrained Class Reference

#include <SFVec3fCellConstrained.h>

List of all members.

Public Member Functions

 SFVec3fCellConstrained (X3DTK::SFVec3f *q, Cell *cell, int vertexID, X3DTK::SFVec3f normal)
 SFVec3fCellConstrained (X3DTK::SFVec3f *q, Cell *cell, Vec3d params, int vertexID, Vec3d normal)
 ~SFVec3fCellConstrained ()
FloatingPointType getAlpha () const
FloatingPointType getBeta () const
FloatingPointType getGamma () const
Vec3d getLocalParams () const
void setParams (const Vec3d params)
 Set the {alpha,beta,gamma} parameters.

void updatePosition (PositionMethod method)
Vec3d computePosition (PositionMethod method) const
 Return the position given the method.

std::vector< Vec3dcomputeDerivative () const
X3DTK::SFVec3f * getSFVec3f () const
CellgetCell () const
Vec3d getParameters (unsigned short vId) const
void clearRelativeWeights ()
 Clear the relative parameters field.

void setRelativeWeight (ConstrainedVertex *cv, FloatingPointType w)
 Set the relative weight of the vertex cv.

const FloatingPointType getRelativeWeight (ConstrainedVertex *cv) const
 Get the relative weight for the vertex cv.

void clearRelativePositions ()
void setRelativePosition (ConstrainedVertex *cv, Vec3d Q)
const Vec3d getRelativePosition (ConstrainedVertex *cv) const
void updateSkinningInformations (CellInfluenceData &influence)
 Function used to update the vertex information given the CellInfluenceData.

Vec3d getInitNormal () const
Vec3d getInitNormalParameters (unsigned short vId) const
void clearInitNormalRelativeWeights ()
void setInitNormalRelativeWeight (ConstrainedVertex *cv, FloatingPointType w)
const FloatingPointType getInitNormalRelativeWeight (ConstrainedVertex *cv) const
int getVertexID () const
void setVertexID (int id)

Static Public Member Functions

FloatingPointType computeWeight (Vec3d w, PositionMethod method)
 Return the weight computed given the method.

void globalLinearUpdatePositions (Cell *cStart)
 This function is used for the GLOBAL_LIBEAR method.

Vec3d translateParameters (Cell *cStart, Vec3d params, Cell *cDest, unsigned short vId)
 Translates the parameters given by params expressed in the cell cstart from the first vertex.


Private Member Functions

void computeParameters ()
 Compute the {alpha,beta,gamma} parameters in the cell.


Private Attributes

FloatingPointType _alpha
FloatingPointType _beta
FloatingPointType _gamma
X3DTK::SFVec3f * _vec
Cell_cell
std::map< ConstrainedVertex *,
Vec3d
_relativePositions
std::map< ConstrainedVertex *,
FloatingPointType
_relativeWeights
Vec3d _normal
FloatingPointType _alphaNormal
FloatingPointType _betaNormal
FloatingPointType _gammaNormal
std::map< ConstrainedVertex *,
FloatingPointType
_initNormalRelativeWeights
int _vertexID


Constructor & Destructor Documentation

animal::octree::SFVec3fCellConstrained::SFVec3fCellConstrained X3DTK::SFVec3f *  q,
Cell cell,
int  vertexID,
X3DTK::SFVec3f  normal
 

Definition at line 44 of file SFVec3fCellConstrained.cpp.

References _alphaNormal, _betaNormal, _gammaNormal, _normal, animal::octree::Cell, computeParameters(), computeWeight(), getParameters(), animal::octree::LINEAR, setRelativePosition(), setRelativeWeight(), and animal::octree::Vec3d.

animal::octree::SFVec3fCellConstrained::SFVec3fCellConstrained X3DTK::SFVec3f *  q,
Cell cell,
Vec3d  params,
int  vertexID,
Vec3d  normal
 

Definition at line 64 of file SFVec3fCellConstrained.cpp.

References _alphaNormal, _betaNormal, _gammaNormal, animal::octree::Cell, and animal::octree::Vec3d.

animal::octree::SFVec3fCellConstrained::~SFVec3fCellConstrained  ) 
 

Definition at line 76 of file SFVec3fCellConstrained.cpp.


Member Function Documentation

void animal::octree::SFVec3fCellConstrained::clearInitNormalRelativeWeights  )  [inline]
 

Definition at line 142 of file SFVec3fCellConstrained.h.

References _initNormalRelativeWeights.

void animal::octree::SFVec3fCellConstrained::clearRelativePositions  )  [inline]
 

Definition at line 104 of file SFVec3fCellConstrained.h.

References _relativePositions.

Referenced by updateSkinningInformations().

void animal::octree::SFVec3fCellConstrained::clearRelativeWeights  )  [inline]
 

Clear the relative parameters field.

Definition at line 88 of file SFVec3fCellConstrained.h.

References _relativeWeights.

Referenced by updateSkinningInformations().

std::vector< Vec3d > animal::octree::SFVec3fCellConstrained::computeDerivative  )  const
 

Definition at line 310 of file SFVec3fCellConstrained.cpp.

References computePosition(), animal::octree::FloatingPointType, animal::octree::LOCAL_SKINNING, setParams(), updateSkinningInformations(), and animal::octree::Vec3d.

Referenced by animal::octree::Octree::subdivideDeformed().

void animal::octree::SFVec3fCellConstrained::computeParameters  )  [private]
 

Compute the {alpha,beta,gamma} parameters in the cell.

Precondition:
the cell is undeformed

Definition at line 113 of file SFVec3fCellConstrained.cpp.

References _vec, animal::octree::Vec3< DataType >::norm(), and animal::octree::Vec3d.

Referenced by SFVec3fCellConstrained().

Vec3d animal::octree::SFVec3fCellConstrained::computePosition PositionMethod  method  )  const
 

Return the position given the method.

Referenced by computeDerivative(), and animal::octree::Octree::subdivideDeformed().

FloatingPointType animal::octree::SFVec3fCellConstrained::computeWeight Vec3d  w,
PositionMethod  method
[static]
 

Return the weight computed given the method.

Referenced by animal::octree::Octree::directManipulation(), SFVec3fCellConstrained(), and updateSkinningInformations().

FloatingPointType animal::octree::SFVec3fCellConstrained::getAlpha  )  const [inline]
 

Definition at line 38 of file SFVec3fCellConstrained.h.

References animal::octree::FloatingPointType.

FloatingPointType animal::octree::SFVec3fCellConstrained::getBeta  )  const [inline]
 

Definition at line 39 of file SFVec3fCellConstrained.h.

References animal::octree::FloatingPointType.

Cell* animal::octree::SFVec3fCellConstrained::getCell  )  const [inline]
 

Returns:
the cell it's part of

Definition at line 72 of file SFVec3fCellConstrained.h.

References animal::octree::Cell.

Referenced by animal::octree::Octree::directManipulation().

FloatingPointType animal::octree::SFVec3fCellConstrained::getGamma  )  const [inline]
 

Definition at line 40 of file SFVec3fCellConstrained.h.

References animal::octree::FloatingPointType.

Vec3d animal::octree::SFVec3fCellConstrained::getInitNormal  )  const [inline]
 

Definition at line 140 of file SFVec3fCellConstrained.h.

References _normal, and animal::octree::Vec3d.

Vec3d animal::octree::SFVec3fCellConstrained::getInitNormalParameters unsigned short  vId  )  const
 

Definition at line 533 of file SFVec3fCellConstrained.cpp.

References _alphaNormal, _betaNormal, _gammaNormal, LINEARFACTORALPHA, LINEARFACTORBETA, LINEARFACTORGAMMA, Require, and animal::octree::Vec3d.

const FloatingPointType animal::octree::SFVec3fCellConstrained::getInitNormalRelativeWeight ConstrainedVertex cv  )  const [inline]
 

Definition at line 144 of file SFVec3fCellConstrained.h.

References _initNormalRelativeWeights, animal::octree::FloatingPointType, and Require.

Vec3d animal::octree::SFVec3fCellConstrained::getLocalParams  )  const [inline]
 

Definition at line 41 of file SFVec3fCellConstrained.h.

References animal::octree::Vec3d.

Referenced by animal::octree::Octree::directManipulation(), and updateSkinningInformations().

Vec3d animal::octree::SFVec3fCellConstrained::getParameters unsigned short  vId  )  const
 

Returns:
the parameters given the vId vertex id in the cell Here we're using LINEARFACTOR{ALPHA,BETA,GAMMA} to find the parameters they're [ {alpha,1-alpha}, {beta,1-beta}, {gamma,1-gamma} ]
Precondition:
vId in [0..7]

Definition at line 449 of file SFVec3fCellConstrained.cpp.

References LINEARFACTORALPHA, LINEARFACTORBETA, LINEARFACTORGAMMA, Require, and animal::octree::Vec3d.

Referenced by animal::octree::Octree::directManipulation(), SFVec3fCellConstrained(), and updateSkinningInformations().

const Vec3d animal::octree::SFVec3fCellConstrained::getRelativePosition ConstrainedVertex cv  )  const [inline]
 

Definition at line 107 of file SFVec3fCellConstrained.h.

References _relativePositions, Require, and animal::octree::Vec3d.

Referenced by animal::octree::Octree::directManipulation(), and X3DTK::X3D::DeformableOctreeNode::drawCellsPoints().

const FloatingPointType animal::octree::SFVec3fCellConstrained::getRelativeWeight ConstrainedVertex cv  )  const [inline]
 

Get the relative weight for the vertex cv.

Returns:
the relative weight for the given vertex
Parameters:
the vertex
Precondition:
the weight has been set

Definition at line 101 of file SFVec3fCellConstrained.h.

References _relativeWeights, animal::octree::FloatingPointType, and Require.

Referenced by animal::octree::Octree::directManipulation(), and X3DTK::X3D::DeformableOctreeNode::drawCellsPoints().

X3DTK::SFVec3f* animal::octree::SFVec3fCellConstrained::getSFVec3f  )  const [inline]
 

Returns:
the pointer to the SFVec3f used by X3DTK

Definition at line 67 of file SFVec3fCellConstrained.h.

References _vec.

Referenced by animal::octree::Octree::directManipulation(), animal::octree::ManipulatedMeshVertex::draw(), X3DTK::X3D::DeformableOctreeNode::drawCellsPoints(), and X3DTK::X3D::DeformableOctreeNode::slotButtonDirectManipulation().

int animal::octree::SFVec3fCellConstrained::getVertexID  )  const [inline]
 

Definition at line 148 of file SFVec3fCellConstrained.h.

References _vertexID.

void animal::octree::SFVec3fCellConstrained::globalLinearUpdatePositions Cell cStart  )  [static]
 

This function is used for the GLOBAL_LIBEAR method.

Definition at line 491 of file SFVec3fCellConstrained.cpp.

References animal::octree::Cell, animal::octree::ConstrainedVertex::connectedCell(), animal::octree::FloatingPointType, animal::octree::ConstrainedVertex::getDelta(), animal::octree::ConstrainedVertex::getDepth(), animal::octree::ConstrainedVertex::isFree(), LINEARFACTORALPHA, LINEARFACTORBETA, LINEARFACTORGAMMA, animal::octree::ConstrainedVertex::nConnectedCells(), animal::octree::OctreeDataPoints, animal::octree::ConstrainedVertex::setDelta(), and animal::octree::Vec3d.

void animal::octree::SFVec3fCellConstrained::setInitNormalRelativeWeight ConstrainedVertex cv,
FloatingPointType  w
[inline]
 

Definition at line 143 of file SFVec3fCellConstrained.h.

References _initNormalRelativeWeights, and animal::octree::FloatingPointType.

void animal::octree::SFVec3fCellConstrained::setParams const Vec3d  params  ) 
 

Set the {alpha,beta,gamma} parameters.

Parameters:
the parameters

Definition at line 80 of file SFVec3fCellConstrained.cpp.

References animal::octree::Vec3d.

Referenced by computeDerivative(), and animal::octree::Octree::subdivideDeformed().

void animal::octree::SFVec3fCellConstrained::setRelativePosition ConstrainedVertex cv,
Vec3d  Q
[inline]
 

Definition at line 105 of file SFVec3fCellConstrained.h.

References _relativePositions, and animal::octree::Vec3d.

Referenced by SFVec3fCellConstrained(), and updateSkinningInformations().

void animal::octree::SFVec3fCellConstrained::setRelativeWeight ConstrainedVertex cv,
FloatingPointType  w
[inline]
 

Set the relative weight of the vertex cv.

Parameters:
a pointer to a Vertex
the associated weight

Definition at line 94 of file SFVec3fCellConstrained.h.

References _relativeWeights, and animal::octree::FloatingPointType.

Referenced by SFVec3fCellConstrained(), and updateSkinningInformations().

void animal::octree::SFVec3fCellConstrained::setVertexID int  id  )  [inline]
 

Definition at line 149 of file SFVec3fCellConstrained.h.

References _vertexID.

Vec3d animal::octree::SFVec3fCellConstrained::translateParameters Cell cStart,
Vec3d  params,
Cell cDest,
unsigned short  vId
[static]
 

Translates the parameters given by params expressed in the cell cstart from the first vertex.

Parameters:
the starting cell
the parameters in cstart->vertex(0)
the cell in which we want to have the parameters
the ID of the vertex in the cell

Definition at line 547 of file SFVec3fCellConstrained.cpp.

References animal::octree::Cell, LINEARFACTORALPHA, LINEARFACTORBETA, LINEARFACTORGAMMA, and animal::octree::Vec3d.

Referenced by updateSkinningInformations().

void animal::octree::SFVec3fCellConstrained::updatePosition PositionMethod  method  ) 
 

void animal::octree::SFVec3fCellConstrained::updateSkinningInformations CellInfluenceData influence  ) 
 

Function used to update the vertex information given the CellInfluenceData.

Definition at line 456 of file SFVec3fCellConstrained.cpp.

References animal::octree::Cell, clearRelativePositions(), clearRelativeWeights(), computeWeight(), animal::octree::FloatingPointType, getLocalParams(), getParameters(), animal::octree::CellInfluenceData::influenceMaps, animal::octree::LINEAR, animal::octree::LOCAL_SKINNING, animal::octree::CellInfluenceData::parents, setRelativePosition(), setRelativeWeight(), translateParameters(), animal::octree::Vec3d, animal::octree::CellInfluenceData::vertices, and animal::octree::CellInfluenceData::verticesId.

Referenced by computeDerivative(), and animal::octree::Octree::subdivideDeformed().


Member Data Documentation

FloatingPointType animal::octree::SFVec3fCellConstrained::_alpha [private]
 

Definition at line 152 of file SFVec3fCellConstrained.h.

FloatingPointType animal::octree::SFVec3fCellConstrained::_alphaNormal [private]
 

Definition at line 163 of file SFVec3fCellConstrained.h.

Referenced by getInitNormalParameters(), and SFVec3fCellConstrained().

FloatingPointType animal::octree::SFVec3fCellConstrained::_beta [private]
 

Definition at line 152 of file SFVec3fCellConstrained.h.

FloatingPointType animal::octree::SFVec3fCellConstrained::_betaNormal [private]
 

Definition at line 163 of file SFVec3fCellConstrained.h.

Referenced by getInitNormalParameters(), and SFVec3fCellConstrained().

Cell* animal::octree::SFVec3fCellConstrained::_cell [private]
 

Definition at line 154 of file SFVec3fCellConstrained.h.

FloatingPointType animal::octree::SFVec3fCellConstrained::_gamma [private]
 

Definition at line 152 of file SFVec3fCellConstrained.h.

FloatingPointType animal::octree::SFVec3fCellConstrained::_gammaNormal [private]
 

Definition at line 163 of file SFVec3fCellConstrained.h.

Referenced by getInitNormalParameters(), and SFVec3fCellConstrained().

std::map<ConstrainedVertex*,FloatingPointType> animal::octree::SFVec3fCellConstrained::_initNormalRelativeWeights [private]
 

Definition at line 164 of file SFVec3fCellConstrained.h.

Referenced by clearInitNormalRelativeWeights(), getInitNormalRelativeWeight(), and setInitNormalRelativeWeight().

Vec3d animal::octree::SFVec3fCellConstrained::_normal [private]
 

Definition at line 162 of file SFVec3fCellConstrained.h.

Referenced by getInitNormal(), and SFVec3fCellConstrained().

std::map<ConstrainedVertex*,Vec3d> animal::octree::SFVec3fCellConstrained::_relativePositions [private]
 

Definition at line 157 of file SFVec3fCellConstrained.h.

Referenced by clearRelativePositions(), getRelativePosition(), and setRelativePosition().

std::map<ConstrainedVertex*,FloatingPointType> animal::octree::SFVec3fCellConstrained::_relativeWeights [private]
 

Definition at line 158 of file SFVec3fCellConstrained.h.

Referenced by clearRelativeWeights(), getRelativeWeight(), and setRelativeWeight().

X3DTK::SFVec3f* animal::octree::SFVec3fCellConstrained::_vec [private]
 

Definition at line 153 of file SFVec3fCellConstrained.h.

Referenced by computeParameters(), and getSFVec3f().

int animal::octree::SFVec3fCellConstrained::_vertexID [private]
 

Definition at line 167 of file SFVec3fCellConstrained.h.

Referenced by getVertexID(), and setVertexID().


The documentation for this class was generated from the following files:
Generated on Thu Dec 23 13:52:33 2004 by doxygen 1.3.6