bool GlareSensor_Impl::setTransformation(const openstudio::Transformation& transformation) { Vector3d translation = transformation.translation(); this->setPositionXCoordinate(translation.x()); this->setPositionYCoordinate(translation.y()); this->setPositionZCoordinate(translation.z()); EulerAngles eulerAngles = transformation.eulerAngles(); setPsiRotationAroundXAxis(radToDeg(eulerAngles.psi())); setThetaRotationAroundYAxis(radToDeg(eulerAngles.theta())); setPhiRotationAroundZAxis(radToDeg(eulerAngles.phi())); return true; }
bool PlanarSurfaceGroup_Impl::setTransformation(const openstudio::Transformation& transformation) { EulerAngles eulerAngles = transformation.eulerAngles(); if ((eulerAngles.psi() != 0) || (eulerAngles.theta() != 0)){ return false; } double dORN = -radToDeg(eulerAngles.phi()); this->setDirectionofRelativeNorth(dORN, false); Vector3d translation = transformation.translation(); this->setXOrigin(translation.x(), false); this->setYOrigin(translation.y(), false); this->setZOrigin(translation.z(), false); this->emitChangeSignals(); return true; }
bool IlluminanceMap_Impl::setTransformation(const openstudio::Transformation& transformation) { bool test; Vector3d translation = transformation.translation(); this->setOriginXCoordinate(translation.x()); this->setOriginYCoordinate(translation.y()); this->setOriginZCoordinate(translation.z()); EulerAngles eulerAngles = transformation.eulerAngles(); test = this->setPsiRotationAroundXAxis(radToDeg(eulerAngles.psi())); OS_ASSERT(test); test = this->setThetaRotationAroundYAxis(radToDeg(eulerAngles.theta())); OS_ASSERT(test); test = this->setPhiRotationAroundZAxis(radToDeg(eulerAngles.phi())); OS_ASSERT(test); return true; }
bool InteriorPartitionSurfaceGroup_Impl::changeTransformation(const openstudio::Transformation& transformation) { Transformation oldTransformation = this->transformation(); if (!setTransformation(transformation)){ return false; } // go through and update all child points and transformations so that: // (Tnew^-1 * Told) * xold = childTransformation * xold = xnew Transformation childTransformation = transformation.inverse() * oldTransformation; for (InteriorPartitionSurface interiorPartitionSurface : this->interiorPartitionSurfaces()){ bool test = interiorPartitionSurface.setVertices(childTransformation * interiorPartitionSurface.vertices()); if(!test){ LOG(Error, "Could not transform vertices for InteriorPartitionSurface '" << interiorPartitionSurface.name().get() << "'."); } } return true; }