/******************************************************************/ /* This file is part of the homework assignments for CSCI-427/527 */ /* at The College of William & Mary and authored by Pieter Peers. */ /* No part of this file, whether altered or in original form, can */ /* be distributed or used outside the context of CSCI-427/527 */ /* without consent of either the College of William & Mary or */ /* Pieter Peers. */ /******************************************************************/ #include "shaderProperties.h" ////////////// // Operator // ////////////// bool shaderProperties::operator==(const shaderProperties& sp) const { return (diffuse == sp.diffuse) && (specular == sp.specular); } bool shaderProperties::operator!=(const shaderProperties& sp) const { return !(*this == sp); } shaderProperties& shaderProperties::operator&=(const shaderProperties& sp) { diffuse &= sp.diffuse; specular &= sp.specular; return *this; } shaderProperties& shaderProperties::operator|=(const shaderProperties& sp) { diffuse |= sp.diffuse; specular |= sp.specular; return *this; } shaderProperties& shaderProperties::operator~(void) { diffuse = ~diffuse; specular = ~specular; return *this; } shaderProperties shaderProperties::operator&(const shaderProperties& sp) const { return shaderProperties(diffuse & sp.diffuse, specular & sp.specular); } shaderProperties shaderProperties::operator|(const shaderProperties& sp) const { return shaderProperties(diffuse | sp.diffuse, specular | sp.specular); }