VTK  9.3.20240417
vtkCone.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
71 #ifndef vtkCone_h
72 #define vtkCone_h
73 
74 #include "vtkCommonDataModelModule.h" // For export macro
75 #include "vtkImplicitFunction.h"
76 
77 VTK_ABI_NAMESPACE_BEGIN
78 class VTKCOMMONDATAMODEL_EXPORT vtkCone : public vtkImplicitFunction
79 {
80 public:
84  static vtkCone* New();
85 
86  vtkTypeMacro(vtkCone, vtkImplicitFunction);
87  void PrintSelf(ostream& os, vtkIndent indent) override;
88 
90 
94  double EvaluateFunction(double x[3]) override;
96 
100  void EvaluateGradient(double x[3], double g[3]) override;
101 
103 
106  vtkSetClampMacro(Angle, double, 0.0, 89.0);
107  vtkGetMacro(Angle, double);
109 
110 protected:
112  ~vtkCone() override = default;
113 
114  double Angle;
115 
116 private:
117  vtkCone(const vtkCone&) = delete;
118  void operator=(const vtkCone&) = delete;
119 };
120 
121 VTK_ABI_NAMESPACE_END
122 #endif
implicit function for a cone
Definition: vtkCone.h:79
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
double Angle
Definition: vtkCone.h:114
void EvaluateGradient(double x[3], double g[3]) override
Evaluate cone normal.
static vtkCone * New()
Construct cone with angle of 45 degrees.
~vtkCone() override=default
double EvaluateFunction(double x[3]) override
Evaluate cone equation.
abstract interface for implicit functions
virtual double EvaluateFunction(double x[3])=0
Evaluate function at position x-y-z and return value.
a simple class to control print indentation
Definition: vtkIndent.h:108