How to change Decal's rotation at runtime relative to the floor or wall? C++

Would I in fact disregard using both cross products and creating a matrix based on both cross products in lieu of this new information? In favor of using this function.