Files
opennurbs/opennurbs_ground_plane.h
Bozo The Builder e7c29061e3 Sync changes from upstream repository
Co-authored-by: Alain <alain@mcneel.com>
Co-authored-by: Andrew Le Bihan <andy@mcneel.com>
Co-authored-by: chuck <chuck@mcneel.com>
Co-authored-by: croudyj <croudyj@gmail.com>
Co-authored-by: Dale Fugier <dale@mcneel.com>
Co-authored-by: Giulio Piacentino <giulio@mcneel.com>
Co-authored-by: Greg Arden <greg@mcneel.com>
Co-authored-by: Jussi Aaltonen <jussi@mcneel.com>
Co-authored-by: kike-garbo <kike@mcneel.com>
Co-authored-by: Steve Baer <steve@mcneel.com>
2022-11-21 14:18:57 -08:00

102 lines
3.1 KiB
C++

//
// Copyright (c) 1993-2022 Robert McNeel & Associates. All rights reserved.
// OpenNURBS, Rhinoceros, and Rhino3D are registered trademarks of Robert
// McNeel & Associates.
//
// THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
// ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF
// MERCHANTABILITY ARE HEREBY DISCLAIMED.
//
// For complete openNURBS copyright information see <http://www.opennurbs.org>.
//
////////////////////////////////////////////////////////////////
#if !defined(ON_GROUND_PLANE_INC_)
#define ON_GROUND_PLANE_INC_
class ON_CLASS ON_GroundPlane final
{
public:
ON_GroundPlane();
ON_GroundPlane(ON_XMLNode& model_node);
ON_GroundPlane(const ON_GroundPlane& gp);
~ON_GroundPlane();
const ON_GroundPlane& operator = (const ON_GroundPlane& gp);
bool operator == (const ON_GroundPlane& gp);
bool operator != (const ON_GroundPlane& gp);
// Returns true if the ground plane is enabled, else false.
bool On(void) const;
// Returns true if ground plane backface is enabled, else false.
bool ShowUnderside(void) const;
// Returns the altitude of the ground plane.
double Altitude(void) const;
// Returns true if auto-altitude is enabled.
bool AutoAltitude(void) const;
// Returns true if the ground plane is set to shadow-only.
bool ShadowOnly(void) const;
// Returns the instance id of the ground plane's material.
ON_UUID MaterialInstanceId(void) const;
// Returns the texture offset of the ground plane in model units.
ON_2dVector TextureOffset(void) const;
// Returns true if the texture offset x and y are locked together.
bool TextureOffsetLocked(void) const;
// Returns true if the texture repeat x and y are locked together.
bool TextureRepeatLocked(void) const;
// Returns the texture size of the ground plane in model units.
ON_2dVector TextureSize(void) const;
// Returns the texture rotation of the ground plane in degrees.
double TextureRotation(void) const;
// Set the ground plane enabled state.
void SetOn(bool b);
// Set if the ground plane backface is enabled.
void SetShowUnderside(bool b);
// Set the ground plane's altitude.
void SetAltitude(double d);
// Set if the ground plane is set to auto-altitude.
void SetAutoAltitude(bool b);
// Set if the ground plane is set to shadow-only.
void SetShadowOnly(bool b);
// Set the instance id of the ground plane's material.
void SetMaterialInstanceId(const ON_UUID& uuid);
// Set the texture offset of the ground plane in model units.
void SetTextureOffset(const ON_2dVector& vec);
// Set if the texture offset x and y are locked together.
void SetTextureOffsetLocked(bool b);
// Set if the texture repeat x and y are locked together.
void SetTextureRepeatLocked(bool b);
// Set the texture size of the ground plane in model units.
void SetTextureSize(const ON_2dVector& vec);
// Set the texture rotation of the ground plane in degrees.
void SetTextureRotation(double d);
private:
class CImpl;
CImpl* m_impl;
};
#endif