Files
Hoops_Exchange/exchange/exchangesource/Viewer/CascadedAttributeConnector.h
2025-12-15 22:06:49 +08:00

60 lines
1.8 KiB
C++

/***********************************************************************************************************************
*
* Copyright (c) 2010 - 2022 by Tech Soft 3D, Inc.
* The information contained herein is confidential and proprietary to Tech Soft 3D, Inc., and considered a trade secret
* as defined under civil and criminal statutes. Tech Soft 3D shall pursue its civil and criminal remedies in the event
* of unauthorized use or misappropriation of its trade secrets. Use of this information by anyone other than authorized
* employees of Tech Soft 3D, Inc. is granted only under a written non-disclosure agreement, expressly prescribing the
* scope and manner of such use.
*
***********************************************************************************************************************/
#ifndef A3D_CASCADED_ATTRIBUTE_CLASS
#define A3D_CASCADED_ATTRIBUTE_CLASS
#include "Connector.h"
class ColorMaterialsConnector : public A3DConnector
{
A3DMiscCascadedAttributesData m_sCascadedAttributeData;
public:
ColorMaterialsConnector(A3DMiscCascadedAttributes* pAttr);
virtual ~ColorMaterialsConnector();
bool IsShow();
bool IsRemoved();
bool IsTexture();
bool IsMaterial();
//A3DStatus GetMaterial(A3DMaterial& sMaterial);
enum eMaterialState
{
eBAD_Emissive = 1,
eBAD_Diffuse = 2,
eBAD_Ambient = 4,
eBAD_Specular = 8
};
int GetMaterial(double dEmisive[4], double dDiffuse[4], double dAmbient[4], double dSpecular[4], double& dShininess );
bool IsRGBColor();
A3DStatus GetRGB(double adRG[3]);
//From 0 (transparent) to 255 (opaque).
bool IsTranparent();
A3DStatus Transparency(unsigned char& cTransparenty);
A3DStatus Compare(
ColorMaterialsConnector const & sOtherCascadedAttribute,
bool& bSameColor,
bool& bSameFaceColor);
};
#endif