#include <vector.h>
Public Member Functions | |
Vector (float _x=0, float _y=0, float _z=0) | |
Vector (const Point &p) | |
Vector | operator+ (const Vector &v) const |
Vector & | operator+= (const Vector &v) |
Vector | operator- (const Vector &v) const |
Vector & | operator-= (const Vector &v) |
bool | operator== (const Vector &v) const |
Vector | operator* (float f) const |
Vector & | operator*= (float f) |
Vector | operator/ (float f) const |
Vector & | operator/= (float f) |
Vector | operator- () const |
float | operator[] (int i) const |
float & | operator[] (int i) |
float | LengthSquared () const |
float | Length () const |
Vector (const Normal &n) | |
Public Attributes | |
float | x |
float | y |
float | z |
Private Member Functions | |
template<class Archive > | |
void | serialize (Archive &ar, const unsigned int version) |
Friends | |
class | boost::serialization::access |
Definition at line 39 of file vector.h.
lux::Vector::Vector | ( | float | _x = 0 , |
|
float | _y = 0 , |
|||
float | _z = 0 | |||
) | [inline] |
Definition at line 43 of file vector.h.
Referenced by operator*(), operator+(), operator-(), and operator/().
lux::Vector::Vector | ( | const Point & | p | ) | [inline, explicit] |
Definition at line 104 of file core/geometry/point.h.
lux::Vector::Vector | ( | const Normal & | n | ) | [inline, explicit] |
float lux::Vector::Length | ( | ) | const [inline] |
Definition at line 99 of file vector.h.
References LengthSquared().
Referenced by lux::Quadrilateral::Area(), lux::MeshQuadrilateral::Area(), lux::MeshBaryTriangle::Area(), lux::Cloud::CloudShape(), lux::Torus::FindIntersection(), lux::MeshQuadrilateral::GetShadingGeometry(), lux::MeshBaryTriangle::GetShadingGeometry(), IsDegenerate(), lux::MeshQuadrilateral::IsDegenerate(), lux::MeshQuadrilateral::IsPlanar(), lux::PathIntegrator::Li(), lux::DistributedPath::LiInternal(), lux::Normalize(), lux::SunLight::Sample_L(), lux::VisibilityTester::SetSegment(), and lux::DensityRegion::Tau().
float lux::Vector::LengthSquared | ( | ) | const [inline] |
Definition at line 98 of file vector.h.
Referenced by lux::SkyLight::Le(), lux::InfiniteAreaLight::Le(), Length(), lux::Sphere::Pdf(), lux::SkyLight::Pdf(), lux::InfiniteAreaLight::Pdf(), lux::SpotLight::Sample_L(), lux::SkyLight::Sample_L(), and lux::InfiniteAreaLight::Sample_L().
Vector lux::Vector::operator* | ( | float | f | ) | const [inline] |
Vector& lux::Vector::operator*= | ( | float | f | ) | [inline] |
Vector lux::Vector::operator- | ( | ) | const [inline] |
Vector lux::Vector::operator/ | ( | float | f | ) | const [inline] |
Vector& lux::Vector::operator/= | ( | float | f | ) | [inline] |
bool lux::Vector::operator== | ( | const Vector & | v | ) | const [inline] |
float& lux::Vector::operator[] | ( | int | i | ) | [inline] |
float lux::Vector::operator[] | ( | int | i | ) | const [inline] |
void lux::Vector::serialize | ( | Archive & | ar, | |
const unsigned int | version | |||
) | [inline, private] |
float lux::Vector::x |
Definition at line 102 of file vector.h.
Referenced by lux::AbsDot(), lux::IdentityMapping3D::Apply3DTextureMappingOptions(), lux::UnsafeKdTreeAccel::buildTree(), lux::TaBRecKdTreeAccel::buildTree(), lux::Cloud::Cloud(), lux::MeshQuadrilateral::ComputeV11BarycentricCoords(), lux::CoordinateSystem(), lux::CosineSampleHemisphere(), lux::CosPhi(), lux::SpotLight::CreateLight(), lux::Cross(), lux::CylindricalMapping2D::cylinder(), lux::Anisotropic::D(), lux::Dot(), lux::MachineEpsilon::E(), SunBxDF::f(), SkyPortalBxDF::f(), SkyBxDF::f(), GonioBxDF::f(), PerspectiveBxDF::f(), lux::Lafortune::f(), InfinitePortalBxDF::f(), InfiniteBxDF::f(), lux::BVHAccel::FindBestSplit(), lux::RealisticCamera::GenerateRay(), lux::Ray::GetDirectionSigns(), lux::EnvironmentCamera::GetSamplePosition(), lux::UnsafeKdTreeAccel::Intersect(), lux::TaBRecKdTreeAccel::Intersect(), lux::Sphere::Intersect(), lux::Quadrilateral::Intersect(), lux::Paraboloid::Intersect(), lux::MeshWaldTriangle::Intersect(), lux::MeshQuadrilateral::Intersect(), lux::LensComponent::Intersect(), lux::Hyperboloid::Intersect(), lux::Cylinder::Intersect(), lux::Cone::Intersect(), lux::UnsafeKdTreeAccel::IntersectP(), lux::TaBRecKdTreeAccel::IntersectP(), lux::Sphere::IntersectP(), lux::Paraboloid::IntersectP(), lux::MeshWaldTriangle::IntersectP(), lux::LensComponent::IntersectP(), lux::Hyperboloid::IntersectP(), lux::Cylinder::IntersectP(), lux::Cone::IntersectP(), IsConvex(), lux::MeshQuadrilateral::IsConvex(), LengthSquared(), lux::BSDF::LocalToWorld(), MajorAxis(), lux::MeshQuadrilateral::MajorAxis(), lux::VerticalCrossMapping::Map(), lux::AngularMapping::Map(), lux::BBox::MaximumExtent(), operator*(), operator*=(), operator+(), lux::Point::operator+(), operator+=(), lux::Point::operator+=(), operator-(), lux::Point::operator-(), operator-=(), lux::Point::operator-=(), operator/(), operator/=(), lux::operator<<(), operator==(), operator[](), lux::BRDFToBTDF::otherHemisphere(), SunBxDF::Pdf(), SkyPortalBxDF::Pdf(), PerspectiveBxDF::Pdf(), lux::Lafortune::Pdf(), InfinitePortalBxDF::Pdf(), lux::Anisotropic::Pdf(), lux::ProjectionLight::Projection(), lux::Quaternion::Quaternion(), lux::SpecularTransmission::Sample_f(), lux::SpecularReflection::Sample_f(), SkyPortalBxDF::Sample_f(), lux::Lafortune::Sample_f(), InfinitePortalBxDF::Sample_f(), lux::Anisotropic::Sample_f(), lux::SkyLight::Sample_L(), lux::InfiniteAreaLight::Sample_L(), serialize(), lux::SphericalPhi(), lux::BBox::SurfaceArea(), lux::Quaternion::ToMatrix(), lux::ParamSet::ToString(), lux::Cloud::Turbulence(), and lux::BBox::Volume().
float lux::Vector::y |
Definition at line 102 of file vector.h.
Referenced by lux::AbsDot(), lux::IdentityMapping3D::Apply3DTextureMappingOptions(), lux::UnsafeKdTreeAccel::buildTree(), lux::TaBRecKdTreeAccel::buildTree(), lux::Cloud::Cloud(), lux::MeshQuadrilateral::ComputeV11BarycentricCoords(), lux::CoordinateSystem(), lux::CosineSampleHemisphere(), lux::SpotLight::CreateLight(), lux::Cross(), lux::CylindricalMapping2D::cylinder(), lux::Anisotropic::D(), lux::Dot(), lux::MachineEpsilon::E(), SunBxDF::f(), SkyPortalBxDF::f(), SkyBxDF::f(), GonioBxDF::f(), PerspectiveBxDF::f(), lux::Lafortune::f(), InfinitePortalBxDF::f(), InfiniteBxDF::f(), lux::BVHAccel::FindBestSplit(), lux::RealisticCamera::GenerateRay(), lux::Ray::GetDirectionSigns(), lux::EnvironmentCamera::GetSamplePosition(), lux::UnsafeKdTreeAccel::Intersect(), lux::TaBRecKdTreeAccel::Intersect(), lux::Sphere::Intersect(), lux::Quadrilateral::Intersect(), lux::Paraboloid::Intersect(), lux::MeshWaldTriangle::Intersect(), lux::MeshQuadrilateral::Intersect(), lux::LensComponent::Intersect(), lux::Hyperboloid::Intersect(), lux::Cylinder::Intersect(), lux::Cone::Intersect(), lux::UnsafeKdTreeAccel::IntersectP(), lux::TaBRecKdTreeAccel::IntersectP(), lux::Sphere::IntersectP(), lux::Paraboloid::IntersectP(), lux::MeshWaldTriangle::IntersectP(), lux::LensComponent::IntersectP(), lux::Hyperboloid::IntersectP(), lux::Cylinder::IntersectP(), lux::Cone::IntersectP(), LengthSquared(), lux::BSDF::LocalToWorld(), MajorAxis(), lux::MeshQuadrilateral::MajorAxis(), lux::VerticalCrossMapping::Map(), lux::AngularMapping::Map(), lux::BBox::MaximumExtent(), operator*(), operator*=(), operator+(), lux::Point::operator+(), operator+=(), lux::Point::operator+=(), operator-(), lux::Point::operator-(), operator-=(), lux::Point::operator-=(), operator/(), operator/=(), lux::operator<<(), operator==(), lux::BRDFToBTDF::otherHemisphere(), SunBxDF::Pdf(), SkyPortalBxDF::Pdf(), PerspectiveBxDF::Pdf(), lux::Lafortune::Pdf(), InfinitePortalBxDF::Pdf(), lux::Anisotropic::Pdf(), lux::ProjectionLight::Projection(), lux::Quaternion::Quaternion(), lux::SpecularTransmission::Sample_f(), lux::SpecularReflection::Sample_f(), SkyPortalBxDF::Sample_f(), PerspectiveBxDF::Sample_f(), lux::Lafortune::Sample_f(), InfinitePortalBxDF::Sample_f(), lux::Anisotropic::Sample_f(), lux::SkyLight::Sample_L(), lux::InfiniteAreaLight::Sample_L(), serialize(), lux::SinPhi(), lux::SphericalPhi(), lux::BBox::SurfaceArea(), lux::Quaternion::ToMatrix(), lux::ParamSet::ToString(), lux::Cloud::Turbulence(), and lux::BBox::Volume().
float lux::Vector::z |
Definition at line 102 of file vector.h.
Referenced by lux::AbsDot(), lux::IdentityMapping3D::Apply3DTextureMappingOptions(), lux::PerspectiveCamera::AutoFocus(), lux::UnsafeKdTreeAccel::buildTree(), lux::TaBRecKdTreeAccel::buildTree(), lux::Cloud::Cloud(), lux::MeshQuadrilateral::ComputeV11BarycentricCoords(), lux::CoordinateSystem(), lux::CosineSampleHemisphere(), lux::CosTheta(), lux::SpotLight::CreateLight(), lux::Cross(), lux::CylindricalMapping2D::cylinder(), lux::Dot(), lux::MachineEpsilon::E(), SunBxDF::f(), SkyPortalBxDF::f(), SkyBxDF::f(), GonioBxDF::f(), PerspectiveBxDF::f(), lux::Lafortune::f(), InfinitePortalBxDF::f(), InfiniteBxDF::f(), EnvironmentBxDF::f(), lux::BRDFToBTDF::f(), lux::BVHAccel::FindBestSplit(), lux::Torus::FindIntersection(), lux::RealisticCamera::GenerateRay(), lux::PerspectiveCamera::GenerateRay(), lux::OrthoCamera::GenerateRay(), lux::Ray::GetDirectionSigns(), lux::EnvironmentCamera::GetSamplePosition(), lux::UnsafeKdTreeAccel::Intersect(), lux::TaBRecKdTreeAccel::Intersect(), lux::Sphere::Intersect(), lux::Quadrilateral::Intersect(), lux::Paraboloid::Intersect(), lux::MeshWaldTriangle::Intersect(), lux::MeshQuadrilateral::Intersect(), lux::LensComponent::Intersect(), lux::Hyperboloid::Intersect(), lux::Disk::Intersect(), lux::Cone::Intersect(), lux::UnsafeKdTreeAccel::IntersectP(), lux::TaBRecKdTreeAccel::IntersectP(), lux::Sphere::IntersectP(), lux::Paraboloid::IntersectP(), lux::MeshWaldTriangle::IntersectP(), lux::LensComponent::IntersectP(), lux::Hyperboloid::IntersectP(), lux::Disk::IntersectP(), lux::Cone::IntersectP(), IsConvex(), lux::MeshQuadrilateral::IsConvex(), LengthSquared(), lux::BSDF::LocalToWorld(), MajorAxis(), lux::MeshQuadrilateral::MajorAxis(), lux::VerticalCrossMapping::Map(), lux::AngularMapping::Map(), lux::BBox::MaximumExtent(), operator*(), operator*=(), operator+(), lux::Point::operator+(), operator+=(), lux::Point::operator+=(), operator-(), lux::Point::operator-(), operator-=(), lux::Point::operator-=(), operator/(), operator/=(), lux::operator<<(), operator==(), lux::BRDFToBTDF::otherHemisphere(), SunBxDF::Pdf(), SkyPortalBxDF::Pdf(), PerspectiveBxDF::Pdf(), lux::Lafortune::Pdf(), InfinitePortalBxDF::Pdf(), lux::FresnelBlend::Pdf(), lux::BRDFToBTDF::Pdf(), lux::BxDF::Pdf(), lux::Blinn::Pdf(), lux::ProjectionLight::Projection(), lux::Quaternion::Quaternion(), lux::BxDF::rho(), lux::SameHemisphere(), lux::WardIsotropic::Sample_f(), lux::ArchitecturalReflection::Sample_f(), lux::SpecularReflection::Sample_f(), SkyPortalBxDF::Sample_f(), PerspectiveBxDF::Sample_f(), lux::Lafortune::Sample_f(), InfinitePortalBxDF::Sample_f(), lux::FresnelBlend::Sample_f(), lux::BxDF::Sample_f(), lux::BRDFToBTDF::Sample_f(), lux::Blinn::Sample_f(), lux::Beckmann::Sample_f(), lux::SkyLight::Sample_L(), lux::InfiniteAreaLight::Sample_L(), serialize(), lux::SinTheta(), lux::SphericalTheta(), lux::BBox::SurfaceArea(), lux::Quaternion::ToMatrix(), lux::ParamSet::ToString(), lux::Cloud::Turbulence(), lux::BBox::Volume(), and lux::ArchitecturalReflection::Weight().