#include <vtkYoungsMaterialInterface.h>
Reconstructs material interfaces from a mesh containing mixed cells (where several materials are mixed) this implementation is based on the youngs algorithm, generalized to arbitrary cell types and works on both 2D and 3D meshes. the main advantage of the youngs algorithm is it guarantees the material volume correctness. for 2D meshes, the AxisSymetric flag allows to switch between a pure 2D (plannar) algorithm and an axis symetric 2D algorithm handling volumes of revolution.
Definition at line 41 of file vtkYoungsMaterialInterface.h.
Public Types | |
enum | { MAX_CELL_POINTS = 256 } |
typedef vtkMultiBlockDataSetAlgorithm | Superclass |
Public Member Functions | |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
void | PrintSelf (ostream &os, vtkIndent indent) |
virtual void | RemoveAllMaterials () |
virtual void | SetInverseNormal (int) |
virtual int | GetInverseNormal () |
virtual void | InverseNormalOn () |
virtual void | InverseNormalOff () |
virtual void | SetReverseMaterialOrder (int) |
virtual int | GetReverseMaterialOrder () |
virtual void | ReverseMaterialOrderOn () |
virtual void | ReverseMaterialOrderOff () |
virtual void | SetOnionPeel (int) |
virtual int | GetOnionPeel () |
virtual void | OnionPeelOn () |
virtual void | OnionPeelOff () |
virtual void | SetAxisSymetric (int) |
virtual int | GetAxisSymetric () |
virtual void | AxisSymetricOn () |
virtual void | AxisSymetricOff () |
virtual void | SetUseFractionAsDistance (int) |
virtual int | GetUseFractionAsDistance () |
virtual void | UseFractionAsDistanceOn () |
virtual void | UseFractionAsDistanceOff () |
virtual void | SetFillMaterial (int) |
virtual int | GetFillMaterial () |
virtual void | FillMaterialOn () |
virtual void | FillMaterialOff () |
virtual void | SetTwoMaterialsOptimization (int) |
virtual int | GetTwoMaterialsOptimization () |
virtual void | TwoMaterialsOptimizationOn () |
virtual void | TwoMaterialsOptimizationOff () |
virtual void | SetVolumeFractionRange (double, double) |
void | SetVolumeFractionRange (double[2]) |
virtual double * | GetVolumeFractionRange () |
virtual void | GetVolumeFractionRange (double data[2]) |
virtual void | SetNumberOfMaterials (int n) |
virtual int | GetNumberOfMaterials () |
virtual void | SetMaterialArrays (int i, const char *volumeFraction, const char *interfaceNormal, const char *materialOrdering) |
virtual void | SetMaterialVolumeFractionArray (int i, const char *volume) |
virtual void | SetMaterialNormalArray (int i, const char *normal) |
virtual void | SetMaterialOrderingArray (int i, const char *ordering) |
Static Public Member Functions | |
static vtkYoungsMaterialInterface * | New () |
static int | IsTypeOf (const char *type) |
static vtkYoungsMaterialInterface * | SafeDownCast (vtkObject *o) |
Protected Member Functions | |
vtkYoungsMaterialInterface () | |
~vtkYoungsMaterialInterface () | |
virtual int | FillInputPortInformation (int port, vtkInformation *info) |
virtual int | RequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) |
int | CellProduceInterface (int dim, int np, double fraction, double minFrac, double maxFrac) |
Protected Attributes | |
int | FillMaterial |
int | InverseNormal |
int | AxisSymetric |
int | OnionPeel |
int | ReverseMaterialOrder |
int | UseFractionAsDistance |
int | TwoMaterialsOptimization |
double | VolumeFractionRange [2] |
vtkYoungsMaterialInterfaceInternals * | Internals |
Reimplemented from vtkMultiBlockDataSetAlgorithm.
Definition at line 45 of file vtkYoungsMaterialInterface.h.
anonymous enum |
vtkYoungsMaterialInterface::vtkYoungsMaterialInterface | ( | ) | [protected] |
vtkYoungsMaterialInterface::~vtkYoungsMaterialInterface | ( | ) | [protected] |
static vtkYoungsMaterialInterface* vtkYoungsMaterialInterface::New | ( | ) | [static] |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
Reimplemented from vtkMultiBlockDataSetAlgorithm.
virtual const char* vtkYoungsMaterialInterface::GetClassName | ( | ) | [virtual] |
Reimplemented from vtkMultiBlockDataSetAlgorithm.
static int vtkYoungsMaterialInterface::IsTypeOf | ( | const char * | name | ) | [static] |
Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkMultiBlockDataSetAlgorithm.
virtual int vtkYoungsMaterialInterface::IsA | ( | const char * | name | ) | [virtual] |
Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkMultiBlockDataSetAlgorithm.
static vtkYoungsMaterialInterface* vtkYoungsMaterialInterface::SafeDownCast | ( | vtkObject * | o | ) | [static] |
Reimplemented from vtkMultiBlockDataSetAlgorithm.
void vtkYoungsMaterialInterface::PrintSelf | ( | ostream & | os, | |
vtkIndent | indent | |||
) | [virtual] |
Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from vtkMultiBlockDataSetAlgorithm.
virtual void vtkYoungsMaterialInterface::SetInverseNormal | ( | int | ) | [virtual] |
Set/Get wether the normal vector has to be flipped.
virtual int vtkYoungsMaterialInterface::GetInverseNormal | ( | ) | [virtual] |
Set/Get wether the normal vector has to be flipped.
virtual void vtkYoungsMaterialInterface::InverseNormalOn | ( | ) | [virtual] |
Set/Get wether the normal vector has to be flipped.
virtual void vtkYoungsMaterialInterface::InverseNormalOff | ( | ) | [virtual] |
Set/Get wether the normal vector has to be flipped.
virtual void vtkYoungsMaterialInterface::SetReverseMaterialOrder | ( | int | ) | [virtual] |
If this flag is on, material order in reversed. Otherwise, materials are sorted in ascending order depending on the given ordering array.
virtual int vtkYoungsMaterialInterface::GetReverseMaterialOrder | ( | ) | [virtual] |
If this flag is on, material order in reversed. Otherwise, materials are sorted in ascending order depending on the given ordering array.
virtual void vtkYoungsMaterialInterface::ReverseMaterialOrderOn | ( | ) | [virtual] |
If this flag is on, material order in reversed. Otherwise, materials are sorted in ascending order depending on the given ordering array.
virtual void vtkYoungsMaterialInterface::ReverseMaterialOrderOff | ( | ) | [virtual] |
If this flag is on, material order in reversed. Otherwise, materials are sorted in ascending order depending on the given ordering array.
virtual void vtkYoungsMaterialInterface::SetOnionPeel | ( | int | ) | [virtual] |
Set/Get OnionPeel flag. if this flag is on, the normal vector of the first material (which depends on material ordering) is used for all materials.
virtual int vtkYoungsMaterialInterface::GetOnionPeel | ( | ) | [virtual] |
Set/Get OnionPeel flag. if this flag is on, the normal vector of the first material (which depends on material ordering) is used for all materials.
virtual void vtkYoungsMaterialInterface::OnionPeelOn | ( | ) | [virtual] |
Set/Get OnionPeel flag. if this flag is on, the normal vector of the first material (which depends on material ordering) is used for all materials.
virtual void vtkYoungsMaterialInterface::OnionPeelOff | ( | ) | [virtual] |
Set/Get OnionPeel flag. if this flag is on, the normal vector of the first material (which depends on material ordering) is used for all materials.
virtual void vtkYoungsMaterialInterface::SetAxisSymetric | ( | int | ) | [virtual] |
Turns on/off AxisSymetric computation of 2D interfaces. in axis symetric mode, 2D meshes are understood as volumes of revolution.
virtual int vtkYoungsMaterialInterface::GetAxisSymetric | ( | ) | [virtual] |
Turns on/off AxisSymetric computation of 2D interfaces. in axis symetric mode, 2D meshes are understood as volumes of revolution.
virtual void vtkYoungsMaterialInterface::AxisSymetricOn | ( | ) | [virtual] |
Turns on/off AxisSymetric computation of 2D interfaces. in axis symetric mode, 2D meshes are understood as volumes of revolution.
virtual void vtkYoungsMaterialInterface::AxisSymetricOff | ( | ) | [virtual] |
Turns on/off AxisSymetric computation of 2D interfaces. in axis symetric mode, 2D meshes are understood as volumes of revolution.
virtual void vtkYoungsMaterialInterface::SetUseFractionAsDistance | ( | int | ) | [virtual] |
when UseFractionAsDistance is true, the volume fraction is interpreted as the distance of the cutting plane from the origin. in axis symetric mode, 2D meshes are understood as volumes of revolution.
virtual int vtkYoungsMaterialInterface::GetUseFractionAsDistance | ( | ) | [virtual] |
when UseFractionAsDistance is true, the volume fraction is interpreted as the distance of the cutting plane from the origin. in axis symetric mode, 2D meshes are understood as volumes of revolution.
virtual void vtkYoungsMaterialInterface::UseFractionAsDistanceOn | ( | ) | [virtual] |
when UseFractionAsDistance is true, the volume fraction is interpreted as the distance of the cutting plane from the origin. in axis symetric mode, 2D meshes are understood as volumes of revolution.
virtual void vtkYoungsMaterialInterface::UseFractionAsDistanceOff | ( | ) | [virtual] |
when UseFractionAsDistance is true, the volume fraction is interpreted as the distance of the cutting plane from the origin. in axis symetric mode, 2D meshes are understood as volumes of revolution.
virtual void vtkYoungsMaterialInterface::SetFillMaterial | ( | int | ) | [virtual] |
When FillMaterial is set to 1, the volume containing material is output and not only the interface surface.
virtual int vtkYoungsMaterialInterface::GetFillMaterial | ( | ) | [virtual] |
When FillMaterial is set to 1, the volume containing material is output and not only the interface surface.
virtual void vtkYoungsMaterialInterface::FillMaterialOn | ( | ) | [virtual] |
When FillMaterial is set to 1, the volume containing material is output and not only the interface surface.
virtual void vtkYoungsMaterialInterface::FillMaterialOff | ( | ) | [virtual] |
When FillMaterial is set to 1, the volume containing material is output and not only the interface surface.
virtual void vtkYoungsMaterialInterface::SetTwoMaterialsOptimization | ( | int | ) | [virtual] |
Triggers some additional optimizations for cells containing only two materials. This option might produce different result than expected if the sum of volume fractions is not 1.
virtual int vtkYoungsMaterialInterface::GetTwoMaterialsOptimization | ( | ) | [virtual] |
Triggers some additional optimizations for cells containing only two materials. This option might produce different result than expected if the sum of volume fractions is not 1.
virtual void vtkYoungsMaterialInterface::TwoMaterialsOptimizationOn | ( | ) | [virtual] |
Triggers some additional optimizations for cells containing only two materials. This option might produce different result than expected if the sum of volume fractions is not 1.
virtual void vtkYoungsMaterialInterface::TwoMaterialsOptimizationOff | ( | ) | [virtual] |
Triggers some additional optimizations for cells containing only two materials. This option might produce different result than expected if the sum of volume fractions is not 1.
virtual void vtkYoungsMaterialInterface::SetVolumeFractionRange | ( | double | , | |
double | ||||
) | [virtual] |
Set/Get minimum and maximum volume fraction value. if a material fills a volume above the minimum value, the material is considered to be void. if a material fills a volume fraction beyond the maximum value it is considered as filling the whole volume.
void vtkYoungsMaterialInterface::SetVolumeFractionRange | ( | double | [2] | ) |
Set/Get minimum and maximum volume fraction value. if a material fills a volume above the minimum value, the material is considered to be void. if a material fills a volume fraction beyond the maximum value it is considered as filling the whole volume.
virtual double* vtkYoungsMaterialInterface::GetVolumeFractionRange | ( | ) | [virtual] |
Set/Get minimum and maximum volume fraction value. if a material fills a volume above the minimum value, the material is considered to be void. if a material fills a volume fraction beyond the maximum value it is considered as filling the whole volume.
virtual void vtkYoungsMaterialInterface::GetVolumeFractionRange | ( | double | data[2] | ) | [virtual] |
Set/Get minimum and maximum volume fraction value. if a material fills a volume above the minimum value, the material is considered to be void. if a material fills a volume fraction beyond the maximum value it is considered as filling the whole volume.
virtual void vtkYoungsMaterialInterface::SetNumberOfMaterials | ( | int | n | ) | [virtual] |
Sets/Gets the number of materials.
virtual int vtkYoungsMaterialInterface::GetNumberOfMaterials | ( | ) | [virtual] |
Sets/Gets the number of materials.
virtual void vtkYoungsMaterialInterface::SetMaterialArrays | ( | int | i, | |
const char * | volumeFraction, | |||
const char * | interfaceNormal, | |||
const char * | materialOrdering | |||
) | [virtual] |
Set ith Material arrays to be used as volume fraction, interface normal and material ordering. Each parameter name a cell array.
virtual void vtkYoungsMaterialInterface::SetMaterialVolumeFractionArray | ( | int | i, | |
const char * | volume | |||
) | [virtual] |
Set ith Material arrays to be used as volume fraction, interface normal and material ordering. Each parameter name a cell array.
virtual void vtkYoungsMaterialInterface::SetMaterialNormalArray | ( | int | i, | |
const char * | normal | |||
) | [virtual] |
Set ith Material arrays to be used as volume fraction, interface normal and material ordering. Each parameter name a cell array.
virtual void vtkYoungsMaterialInterface::SetMaterialOrderingArray | ( | int | i, | |
const char * | ordering | |||
) | [virtual] |
Set ith Material arrays to be used as volume fraction, interface normal and material ordering. Each parameter name a cell array.
virtual void vtkYoungsMaterialInterface::RemoveAllMaterials | ( | ) | [virtual] |
Removes all meterials previously added.
virtual int vtkYoungsMaterialInterface::FillInputPortInformation | ( | int | port, | |
vtkInformation * | info | |||
) | [protected, virtual] |
Fill the input port information objects for this algorithm. This is invoked by the first call to GetInputPortInformation for each port so subclasses can specify what they can handle.
Reimplemented from vtkMultiBlockDataSetAlgorithm.
virtual int vtkYoungsMaterialInterface::RequestData | ( | vtkInformation * | , | |
vtkInformationVector ** | , | |||
vtkInformationVector * | ||||
) | [protected, virtual] |
This is called by the superclass. This is the method you should override.
Reimplemented from vtkMultiBlockDataSetAlgorithm.
int vtkYoungsMaterialInterface::CellProduceInterface | ( | int | dim, | |
int | np, | |||
double | fraction, | |||
double | minFrac, | |||
double | maxFrac | |||
) | [protected] |
int vtkYoungsMaterialInterface::FillMaterial [protected] |
Definition at line 152 of file vtkYoungsMaterialInterface.h.
int vtkYoungsMaterialInterface::InverseNormal [protected] |
Definition at line 153 of file vtkYoungsMaterialInterface.h.
int vtkYoungsMaterialInterface::AxisSymetric [protected] |
Definition at line 154 of file vtkYoungsMaterialInterface.h.
int vtkYoungsMaterialInterface::OnionPeel [protected] |
Definition at line 155 of file vtkYoungsMaterialInterface.h.
int vtkYoungsMaterialInterface::ReverseMaterialOrder [protected] |
Definition at line 156 of file vtkYoungsMaterialInterface.h.
int vtkYoungsMaterialInterface::UseFractionAsDistance [protected] |
Definition at line 157 of file vtkYoungsMaterialInterface.h.
int vtkYoungsMaterialInterface::TwoMaterialsOptimization [protected] |
Definition at line 158 of file vtkYoungsMaterialInterface.h.
double vtkYoungsMaterialInterface::VolumeFractionRange[2] [protected] |
Definition at line 159 of file vtkYoungsMaterialInterface.h.
vtkYoungsMaterialInterfaceInternals* vtkYoungsMaterialInterface::Internals [protected] |
Definition at line 161 of file vtkYoungsMaterialInterface.h.