vtkbone
vtkboneConstraintUtilities.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Copyright 2010-2016, Numerics88 Solutions Ltd.
4 http://www.numerics88.com/
5
6 Copyright (c) Eric Nodwell and Steven K. Boyd
7 See Copyright.txt for details.
8
9 This software is distributed WITHOUT ANY WARRANTY; without even
10 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11 PURPOSE. See the above copyright notice for more information.
12=========================================================================*/
13
24#ifndef __vtkboneConstraintUtilities_h
25#define __vtkboneConstraintUtilities_h
26
27#include "vtkObject.h"
28#include "vtkboneWin32Header.h"
29
30// forward declarations
35class vtkIdTypeArray;
36class vtkDataArray;
37
38class VTKBONE_EXPORT vtkboneConstraintUtilities : public vtkObject
39{
40public:
43 void PrintSelf(ostream& os, vtkIndent indent) override;
44
46
50 vtkIdTypeArray* nodeIds,
51 vtkDataArray* senses,
52 vtkDataArray* displacements,
53 const char* name);
55 vtkIdTypeArray* nodeIds,
56 int sense,
57 double displacement,
58 const char* name);
60 vtkIdType nodeId,
61 int sense,
62 double displacement,
63 const char* name);
65
67
71 static vtkboneConstraint* CreateFixedNodes(vtkIdTypeArray* ids, const char* name);
72 static vtkboneConstraint* CreateFixedNodes(vtkIdType id, const char* name);
74
76
83 vtkIdTypeArray* elementIds,
84 vtkDataArray* distributions,
85 vtkDataArray* senses,
86 vtkDataArray* forces,
87 const char* name);
89 vtkIdTypeArray* elementIds,
90 int distribution,
91 vtkDataArray* senses,
92 vtkDataArray* forces,
93 const char* name);
95 vtkIdTypeArray* elementIds,
96 int distribution,
97 int sense,
98 double force,
99 const char* name);
101 vtkIdType elementId,
102 int distribution,
103 int sense,
104 double force,
105 const char* name);
107
109
114 vtkboneConstraint* arg_constraint);
116 vtkboneConstraintCollection* arg_constraints);
120
122
126 vtkboneConstraint* arg_constraint,
127 double tol);
129 vtkboneConstraintCollection* arg_constraints,
130 double tol);
133 double tol);
135
137
141 vtkboneConstraint* arg_constraint,
142 double tol);
144 vtkboneConstraintCollection* arg_constraints,
145 double tol);
148 double tol);
150
152
161 vtkUnstructuredGrid* geometry,
162 vtkboneConstraint* arg_constraint);
164
166
176 vtkUnstructuredGrid* geometry,
177 vtkboneConstraintCollection* arg_constraints);
181
182protected:
185
186private:
187 vtkboneConstraintUtilities(const vtkboneConstraintUtilities&); // Not implemented.
188 void operator=(const vtkboneConstraintUtilities&); // Not implemented.
189};
190
191#endif
192
void operator=(const vtkObjectBase &)
maintain an unordered list of dataarray objects
Useful methods for creating and manipulating constraints.
static vtkboneConstraint * GatherNonzeroDisplacementConstraints(vtkboneConstraintCollection *arg_constraints, double tol)
static vtkboneConstraint * CreateBoundaryCondition(vtkIdType nodeId, int sense, double displacement, const char *name)
static vtkboneConstraint * CreateFixedNodes(vtkIdTypeArray *ids, const char *name)
static vtkboneConstraint * GatherNonzeroDisplacementConstraints(vtkboneConstraint *arg_constraint, double tol)
static vtkboneConstraint * CreateAppliedLoad(vtkIdTypeArray *elementIds, vtkDataArray *distributions, vtkDataArray *senses, vtkDataArray *forces, const char *name)
static vtkboneConstraint * GatherZeroValuedDisplacementConstraints(vtkboneFiniteElementModel *model, double tol)
static vtkboneConstraint * CreateBoundaryCondition(vtkIdTypeArray *nodeIds, vtkDataArray *senses, vtkDataArray *displacements, const char *name)
static vtkboneConstraint * DistributeConstraintToNodes(vtkUnstructuredGrid *geometry, vtkboneConstraint *arg_constraint)
static vtkboneConstraint * GatherZeroValuedDisplacementConstraints(vtkboneConstraint *arg_constraint, double tol)
static vtkboneConstraint * CreateAppliedLoad(vtkIdType elementId, int distribution, int sense, double force, const char *name)
static vtkboneConstraint * GatherDisplacementConstraints(vtkboneConstraint *arg_constraint)
static vtkboneConstraint * GatherDisplacementConstraints(vtkboneFiniteElementModel *model)
static vtkboneConstraint * GatherDisplacementConstraints(vtkboneConstraintCollection *arg_constraints)
static vtkboneConstraint * DistributeForceConstraintsToNodes(vtkUnstructuredGrid *geometry, vtkboneConstraintCollection *arg_constraints)
static vtkboneConstraint * CreateBoundaryCondition(vtkIdTypeArray *nodeIds, int sense, double displacement, const char *name)
static vtkboneConstraint * DistributeForceConstraintsToNodes(vtkboneFiniteElementModel *model)
void PrintSelf(ostream &os, vtkIndent indent) override
static vtkboneConstraint * CreateAppliedLoad(vtkIdTypeArray *elementIds, int distribution, int sense, double force, const char *name)
static vtkboneConstraintUtilities * New()
static vtkboneConstraint * GatherZeroValuedDisplacementConstraints(vtkboneConstraintCollection *arg_constraints, double tol)
static vtkboneConstraint * CreateFixedNodes(vtkIdType id, const char *name)
static vtkboneConstraint * CreateAppliedLoad(vtkIdTypeArray *elementIds, int distribution, vtkDataArray *senses, vtkDataArray *forces, const char *name)
static vtkboneConstraint * GatherNonzeroDisplacementConstraints(vtkboneFiniteElementModel *model, double tol)
a constraint for a finite element mesh
data model for finite element meshes
int vtkIdType