/*========================================================================= * * Copyright NumFOCUS * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * https://www.apache.org/licenses/LICENSE-2.0.txt * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * *=========================================================================*/ #ifndef itkContourSpatialObjectPoint_hxx #define itkContourSpatialObjectPoint_hxx namespace itk { template ContourSpatialObjectPoint::ContourSpatialObjectPoint() { m_NormalInObjectSpace.Fill(0); m_PickedPointInObjectSpace.Fill(0); } template ContourSpatialObjectPoint::ContourSpatialObjectPoint(const ContourSpatialObjectPoint & other) : Superclass(other) { this->m_NormalInObjectSpace = other.GetNormalInObjectSpace(); this->m_PickedPointInObjectSpace = other.GetPickedPointInObjectSpace(); } template void ContourSpatialObjectPoint::SetPickedPointInObjectSpace(const PointType & point) { m_PickedPointInObjectSpace = point; } template auto ContourSpatialObjectPoint::GetPickedPointInObjectSpace() const -> const PointType & { return m_PickedPointInObjectSpace; } template void ContourSpatialObjectPoint::SetNormalInObjectSpace(const CovariantVectorType & normal) { m_NormalInObjectSpace = normal; } template auto ContourSpatialObjectPoint::GetNormalInObjectSpace() const -> const CovariantVectorType & { return m_NormalInObjectSpace; } template auto ContourSpatialObjectPoint::operator=(const ContourSpatialObjectPoint & rhs) -> Self & { if (this != &rhs) { Superclass::operator=(rhs); this->m_NormalInObjectSpace = rhs.GetNormalInObjectSpace(); this->m_PickedPointInObjectSpace = rhs.GetPickedPointInObjectSpace(); } return *this; } template void ContourSpatialObjectPoint::PrintSelf(std::ostream & os, Indent indent) const { Superclass::PrintSelf(os, indent); os << indent << "PickedPointInObjectSpace: " << m_PickedPointInObjectSpace << std::endl; os << indent << "NormalInObjectSpace: " << static_cast::PrintType>(m_NormalInObjectSpace) << std::endl; } } // end namespace itk #endif